Details

Time bar (total: 12.9s)

analyze179.0ms (1.4%)

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

Compiled 18 to 13 computations (27.8% saved)

sample2.9s (22.4%)

Results
1.7s6397×body256valid
531.0ms664×body2048valid
394.0ms566×body4096valid
160.0ms396×body1024valid
120.0ms233×body512valid
Bogosity

preprocess108.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 19 to 14 computations (26.3% saved)

simplify108.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 32 to 18 computations (43.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 17 to 12 computations (29.4% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 77 to 19 computations (75.3% saved)

series10.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite68.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1514×rational.json-simplify-35
1174×bool.json-1
1174×bool.json-2
1158×rational.json-1
1158×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013110
1127110
2322110
3757110
42866110
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(+.f64 (*.f64 re re) (*.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (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)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.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 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 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 (*.f64 re re) (*.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))

simplify101.0ms (0.8%)

Algorithm
egg-herbie
Rules
1774×rational.json-simplify-35
980×rational.json-simplify-51
964×rational.json-simplify-1
894×rational.json-simplify-2
748×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02845413
16405389
219695345
339915309
Stop Event
node limit
Counts
157 → 208
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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(*.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(*.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(*.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))) 16)
(+.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(-.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) 2)
(/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))) 16)
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Outputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 re)
(*.f64 re -1)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 re -1) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 re -1)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))
(+.f64 im (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.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 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 re 2))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (*.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 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 re 2))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))
(+.f64 im (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.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 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (*.f64 im -1))
(+.f64 re (neg.f64 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 re (*.f64 im -1)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 re (neg.f64 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 re (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) re))
(+.f64 re (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.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 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 re (sqrt.f64 2)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) re)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))))) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 -1/4 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 re (sqrt.f64 2)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 2))))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) 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 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))))
(+.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 1 (sqrt.f64 2)) 1/4)) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.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 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2)))))))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.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 (/.f64 1 (sqrt.f64 2)) 1/4)) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))) (*.f64 1/2 (*.f64 (pow.f64 im 6) (*.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 1 (sqrt.f64 2)) 1/4)) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (+.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 1/2 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 re)) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (+.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))))))))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))) 16)
(+.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 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))) 16)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))

eval132.0ms (1%)

Compiler

Compiled 6015 to 4085 computations (32.1% saved)

prune41.0ms (0.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1999208
Fresh000
Picked011
Done000
Total19910209
Error
8.8b
Counts
209 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
47.1b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
46.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
52.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re))))
37.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
37.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)) re))))
60.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
43.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
Compiler

Compiled 269 to 218 computations (19% saved)

localize92.0ms (0.7%)

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 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)) re)))
0.1b
(+.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)) re)
29.4b
(sqrt.f64 (*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2))
Compiler

Compiled 117 to 52 computations (55.6% saved)

series3.0ms (0%)

Counts
3 → 56
Calls

18 calls:

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

rewrite66.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1598×rational.json-simplify-35
1292×bool.json-1
1292×bool.json-2
1266×rational.json-1
1266×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
015127
1150127
239391
393091
4320691
Stop Event
node limit
Counts
3 → 44
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2))
(+.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)) re)
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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))) 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 (*.f64 2 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (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) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (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) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (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)))) 0)))) (#(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 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 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 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(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 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(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 (+.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 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (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 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (+.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)))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.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)))))))))))

simplify138.0ms (1.1%)

Algorithm
egg-herbie
Rules
1214×rational.json-simplify-19
934×rational.json-simplify-35
880×rational.json-simplify-54
854×rational.json-simplify-61
826×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02204402
14714378
29494334
319344278
434224278
566594278
Stop Event
node limit
Counts
100 → 180
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)))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(*.f64 2 (/.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)))) 1)
(*.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 1/2)
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.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 (/.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 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(/.f64 (*.f64 2 (+.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)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))) 16)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 2) 2)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4))) 16)
Outputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.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))) re)))
(+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 re (+.f64 (*.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 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 re)
(*.f64 re -1)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 re -1) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 re -1)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.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))) re)))
(+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 re (+.f64 (*.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 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) re))
(+.f64 im (+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 re 2) (*.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) re) -1/2)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 re 2) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) re))
(+.f64 im (+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (*.f64 im -1))
(+.f64 re (neg.f64 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 re (*.f64 im -1)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) re))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 re (neg.f64 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 re (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 re (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 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 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 2) (sqrt.f64 2))) (*.f64 re (sqrt.f64 2)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) re))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (+.f64 re (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 2) (sqrt.f64 2))) (*.f64 re (sqrt.f64 2)))) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) -1/4))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) re))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (+.f64 re (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 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 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.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 (/.f64 1 (sqrt.f64 2)) 1/4)) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4))) (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2)))))))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.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 (/.f64 1 (sqrt.f64 2)) 1/4)) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))) (*.f64 1/2 (*.f64 (pow.f64 im 6) (*.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 1 (sqrt.f64 2)) 1/4)) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))) (sqrt.f64 (/.f64 1 re))))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2)) (*.f64 1/2 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 re)) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (pow.f64 im 6) (*.f64 1/2 (-.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2))))))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 (pow.f64 im 4) (*.f64 -1/2 (+.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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 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))) 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 (*.f64 2 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1/2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1/2 (*.f64 2 (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) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 2 (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) 4)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 1/2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/2 (*.f64 2 (+.f64 re (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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(+.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)))) 4)) 8)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))) 16)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.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 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.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 2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) 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 2 (+.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 2 (+.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 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.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 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 4))) 16)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series72.0ms (0.6%)

Counts
1 → 8
Calls

6 calls:

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

rewrite112.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1678×bool.json-1
1678×bool.json-2
1636×rational.json-1
1636×rational.json-2
1198×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
18817
222917
345017
491617
5202717
6419517
7676717
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 re im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 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 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) 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 (*.f64 2 (+.f64 re im))) 4) 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 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (+.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (+.f64 re im))) (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 re im))) (sqrt.f64 (*.f64 2 (+.f64 re im))))))))

simplify2.3s (18%)

Algorithm
egg-herbie
Rules
4102×rational.json-simplify-35
3464×rational.json-simplify-49
2236×rational.json-simplify-2
1262×rational.json-simplify-1
1142×rational.json-simplify-51
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01011005
12061005
24731005
31039945
41613905
53101905
63550905
73610905
83652905
93690905
103728905
114176905
124216905
134254905
144292905
154330905
164368905
174406905
184444905
195390905
205807905
215861905
225905905
235947905
245988905
256029905
266070905
276111905
286152905
296193905
306234905
316275905
326275905
336316905
346357905
356398905
366439905
376480905
386521905
396562905
406603905
416644905
426685905
436726905
446767905
456808905
466849905
476890905
486931905
496972905
507013905
517054905
527095905
537136905
547177905
557218905
567259905
577300905
587341905
597382905
607423905
617464905
627505905
637546905
647587905
657587905
Stop Event
node limit
Counts
29 → 62
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) 2)
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))) 64)
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -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/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (+.f64 (*.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 2) (pow.f64 re 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) 1/16))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (*.f64 -1/8 (sqrt.f64 (/.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 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)) (+.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 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (pow.f64 re 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (pow.f64 re 2)))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (+.f64 (sqrt.f64 im) (*.f64 (pow.f64 re 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.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 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) 1/2)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 1/2 (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 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 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 (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 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 -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 (*.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 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.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 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 1/16)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.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) (+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (+.f64 (sqrt.f64 re) (*.f64 1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) 2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 8)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)) 16)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) 32)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))) 64)
(sqrt.f64 (*.f64 2 (+.f64 im re)))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 34 to 16 computations (52.9% saved)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite83.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1486×bool.json-1
1486×bool.json-2
1422×rational.json-1
1422×rational.json-2
1422×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
110121
226921
354521
4116221
5268821
6563421
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))))))

simplify988.0ms (7.7%)

Algorithm
egg-herbie
Rules
6658×rational.json-simplify-51
3512×rational.json-simplify-35
2164×rational.json-simplify-2
1318×rational.json-simplify-1
1278×rational.json-simplify-49
Iterations

Useful iterations: 37 (1.0ms)

IterNodesCost
01091186
12231186
25081186
311091126
417291086
531831086
632981086
733731086
834451086
935141086
1035821086
1143851086
1244621086
1345381086
1446061086
1546721086
1647381086
1748041086
1848701086
1958381086
2062791086
2163651086
2263681086
2363691086
2463691086
2564421086
2665151086
2765881086
2866611086
2967341086
3068071086
3168801086
3269531086
3370261086
3470991086
3571721086
3672451086
3773181066
Stop Event
node limit
Counts
28 → 66
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))) 32)
Outputs
(*.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 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) -1/8))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (sqrt.f64 re) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (+.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) -1/8))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -1/16))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2)) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) -1/16))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 (sqrt.f64 2) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (sqrt.f64 re) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (+.f64 (sqrt.f64 re) (*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (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 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 re (sqrt.f64 -1)) 1/2))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 (*.f64 (pow.f64 re 2) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 re (sqrt.f64 -1)) 1/2))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 2) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3)) -1/8)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 re (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 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 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 (*.f64 (pow.f64 re 2) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8))) (*.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 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 re (sqrt.f64 -1)) 1/2))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 2) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3)) -1/8)))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 re (sqrt.f64 -1))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 2) (*.f64 -1/8 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 re (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3)))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3))))) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1)))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) 16)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))) 32)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Compiler

Compiled 21 to 15 computations (28.6% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite96.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1660×bool.json-1
1660×bool.json-2
1626×rational.json-1
1168×rational.json-simplify-2
1060×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
17815
220815
341315
482615
5177815
6380015
7682915
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (sqrt.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))

simplify1.4s (10.6%)

Algorithm
egg-herbie
Rules
7688×rational.json-simplify-41
3446×rational.json-simplify-35
2650×rational.json-simplify-2
1478×rational.json-simplify-53
736×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038165
189165
2185165
3438165
41527165
52722165
63291165
73382165
83446165
93508165
103569165
114008165
124562165
134715165
144776165
154837165
164898165
174959165
185020165
195081165
205142165
215142165
225234165
235375165
245470165
255558165
265619165
275680165
285741165
295802165
305863165
315924165
325985165
336046165
346197165
356258165
366319165
376380165
386441165
Stop Event
node limit
Counts
11 → 12
Calls
Call 1
Inputs
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 1/2)))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (sqrt.f64 im))) 2)
(/.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 4)) 4)
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im))))) 64)
Outputs
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 1/2)) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 1/2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (sqrt.f64 im))) 2)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 4)) 4)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)) 8)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im))) 16)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)))) 32)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) 8) (sqrt.f64 im))))) 64)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))

localize35.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 92 to 60 computations (34.8% saved)

series10.0ms (0.1%)

Counts
4 → 60
Calls

24 calls:

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

rewrite113.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2076×bool.json-1
2076×bool.json-2
1604×bool.json-3
868×rational.json-simplify-35
760×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015112
1151112
2397112
3889112
42349112
56364112
Stop Event
node limit
Counts
4 → 102
Calls
Call 1
Inputs
(/.f64 (pow.f64 re 2) im)
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re)))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re)
(*.f64 (/.f64 (pow.f64 re 2) im) -1/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 re 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 re 2) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 re 2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 re 2) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 re 2) 2) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 im) (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) (/.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) (*.f64 2 (/.f64 1/2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 im))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) (*.f64 (*.f64 2 (/.f64 1 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) (*.f64 (/.f64 2 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 re 2) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 re 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 re 2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) (/.f64 1/2 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (/.f64 1 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (*.f64 (/.f64 1 im) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (*.f64 2 (/.f64 1/2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) (/.f64 2 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) (/.f64 1 (*.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 (/.f64 1 (*.f64 im 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 1/4 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 1/2 (/.f64 1/2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 im) (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 re 2)) (/.f64 -1 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (/.f64 -1 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (/.f64 1 im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 re 2)) (*.f64 -1 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 re 2) (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 im) (*.f64 2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 im) 1/2) (*.f64 2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 im 4)) (*.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 im) (neg.f64 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 im) (/.f64 1/2 im)) (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (pow.f64 re 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (pow.f64 re 2) im) (/.f64 (pow.f64 re 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (pow.f64 re 2) im) (/.f64 (pow.f64 re 2) im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 -4 (/.f64 (pow.f64 re 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 im -4) (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 re 2) (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 re 2) im) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 im (/.f64 -2 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 2 (/.f64 (pow.f64 re 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (/.f64 (*.f64 im 4) (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 re 2)) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 im 8) (neg.f64 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 2) -2) (*.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 re 2) 2) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2)) (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 2) im)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 re 2)) (*.f64 im 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 re 2) -2) im)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))

simplify223.0ms (1.7%)

Algorithm
egg-herbie
Rules
1278×rational.json-simplify-51
1102×rational.json-simplify-41
952×rational.json-simplify-2
880×rational.json-simplify-35
748×rational.json-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02985094
17385086
217465086
342945014
465695014
575215014
Stop Event
node limit
Counts
162 → 165
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) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (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 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (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 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im)))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 re 2))) (sqrt.f64 (pow.f64 im 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) 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 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 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 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 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 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 (/.f64 (pow.f64 re 2) im) 0)
(+.f64 0 (/.f64 (pow.f64 re 2) im))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 re 2) (neg.f64 im))))
(-.f64 (/.f64 (pow.f64 re 2) im) 0)
(-.f64 0 (/.f64 (pow.f64 re 2) (neg.f64 im)))
(*.f64 2 (/.f64 (pow.f64 re 2) (+.f64 im im)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) 1))
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) -1))
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) 2) (/.f64 1 im)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) 1/2))
(*.f64 2 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))
(*.f64 2 (*.f64 (/.f64 1/2 im) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (/.f64 1 im))
(*.f64 (pow.f64 re 2) (*.f64 2 (/.f64 1/2 im)))
(*.f64 (pow.f64 re 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 im))) -1))
(*.f64 (pow.f64 re 2) (*.f64 (*.f64 2 (/.f64 1 im)) 1/2))
(*.f64 (pow.f64 re 2) (*.f64 (/.f64 2 im) 1/2))
(*.f64 (/.f64 (pow.f64 re 2) im) 1)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) im) -2))
(*.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) -2)
(*.f64 1 (/.f64 (pow.f64 re 2) im))
(*.f64 -1 (/.f64 (pow.f64 re 2) (neg.f64 im)))
(*.f64 (*.f64 2 (pow.f64 re 2)) (/.f64 1/2 im))
(*.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (/.f64 1 im) 1/2))
(*.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (*.f64 (/.f64 1 im) 1/2) 1))
(*.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (*.f64 2 (/.f64 1/2 im)) 1/2))
(*.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)) -1)
(*.f64 (*.f64 (pow.f64 re 2) (/.f64 2 im)) 1/2)
(*.f64 (*.f64 (pow.f64 re 2) 4) (/.f64 1 (*.f64 im 4)))
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 (/.f64 1 (*.f64 im 4)) 1))
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 1/4 (/.f64 1 im)))
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 1/2 (/.f64 1/2 im)))
(*.f64 (/.f64 1 im) (pow.f64 re 2))
(*.f64 (neg.f64 (pow.f64 re 2)) (/.f64 -1 im))
(*.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (/.f64 -1 im) 1))
(*.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (/.f64 1 im) -1))
(*.f64 (neg.f64 (pow.f64 re 2)) (*.f64 -1 (/.f64 1 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (/.f64 2 im)))
(*.f64 (/.f64 1/2 im) (*.f64 2 (pow.f64 re 2)))
(*.f64 (*.f64 (/.f64 1 im) 1/2) (*.f64 2 (pow.f64 re 2)))
(*.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) 2)
(*.f64 (/.f64 1 (*.f64 im 4)) (*.f64 (pow.f64 re 2) 4))
(*.f64 (/.f64 -1 im) (neg.f64 (pow.f64 re 2)))
(*.f64 (+.f64 (/.f64 1/2 im) (/.f64 1/2 im)) (pow.f64 re 2))
(neg.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2) 1))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2) 2)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4))) 16)
(-.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 0)
(*.f64 2 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2))
(*.f64 2 (*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2) 1))
(*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 1)
(*.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))) 1/2)
(*.f64 1 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))
(*.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 1/4)
(*.f64 4 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4))
(*.f64 4 (*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 1))
(*.f64 1/2 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))
(*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2) 2)
(*.f64 1/4 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4))
(*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 4)
(/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 1)
(/.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))) 2)
(/.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 4)
(/.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 8)) 16)
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 0)
(+.f64 0 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(-.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 0)
(/.f64 2 (/.f64 -4 (/.f64 (pow.f64 re 2) im)))
(/.f64 2 (/.f64 (*.f64 im -4) (pow.f64 re 2)))
(/.f64 (pow.f64 re 2) (*.f64 im -2))
(/.f64 (/.f64 (pow.f64 re 2) im) -2)
(/.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 1)
(/.f64 1 (*.f64 im (/.f64 -2 (pow.f64 re 2))))
(/.f64 -1 (/.f64 2 (/.f64 (pow.f64 re 2) im)))
(/.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 im -4))
(/.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)) 2)
(/.f64 -2 (/.f64 (*.f64 im 4) (pow.f64 re 2)))
(/.f64 (neg.f64 (pow.f64 re 2)) (+.f64 im im))
(/.f64 4 (/.f64 (*.f64 im 8) (neg.f64 (pow.f64 re 2))))
(/.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -2) 4)
(/.f64 (*.f64 (pow.f64 re 2) -2) (*.f64 im 4))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2)) 8)
(/.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) -1)
(/.f64 (/.f64 (pow.f64 re 2) 2) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2)) (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2))) 16)
(/.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 2) im)
(/.f64 (/.f64 (neg.f64 (pow.f64 re 2)) (*.f64 im 4)) 1/2)
(/.f64 (/.f64 (pow.f64 re 2) -2) im)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (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 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) 1/2)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (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 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (+.f64 (*.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 1 (sqrt.f64 -1)) 1/2)) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) 1/2))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (/.f64 (pow.f64 re 2) (sqrt.f64 -1)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (/.f64 (pow.f64 re 2) (sqrt.f64 -1))))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1)))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (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 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3)) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 1 (sqrt.f64 -1)) 1/2)) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 1 (sqrt.f64 -1)) 1/2)) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3)) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) 1/2)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (/.f64 (pow.f64 re 2) (sqrt.f64 -1)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 3))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (/.f64 (pow.f64 re 2) (sqrt.f64 -1))))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) 1/2)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))) (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))))))))
(+.f64 (*.f64 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 1 (sqrt.f64 -1/2)) 1/2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) -1/2)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) 1/2))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2)))) (+.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))) (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 re (sqrt.f64 -1/2))))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 re (sqrt.f64 -1/2))))) (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))) (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))))))) (*.f64 1/4 (*.f64 (*.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3)))) (sqrt.f64 (pow.f64 im 3))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) 1/2)) (*.f64 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 1 (sqrt.f64 -1/2)) 1/2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) -1/2))) (+.f64 (*.f64 1/4 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 1 (sqrt.f64 -1/2)) 1/2)) 2)) (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 re (sqrt.f64 -1/2)))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))))) (*.f64 1/4 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 (sqrt.f64 (pow.f64 im 3)) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))))))))
(+.f64 (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 re (sqrt.f64 -1/2))))) (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 1/4 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 (sqrt.f64 (pow.f64 im 3)) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))))
(*.f64 (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))) (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 im (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 1/2)) 2)) (*.f64 (/.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (sqrt.f64 im)))) (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (*.f64 -1/2 (*.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (sqrt.f64 im) (/.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) re))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -2) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 re (sqrt.f64 1/2))))) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 re 2))) (sqrt.f64 (pow.f64 im 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))) (*.f64 -1/4 (*.f64 (sqrt.f64 (pow.f64 im 3)) (*.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 -2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 3)))))))))
(+.f64 (*.f64 -1/2 (*.f64 (-.f64 im (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 1/2)) 2)) (*.f64 (/.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (sqrt.f64 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (*.f64 -1/4 (*.f64 (-.f64 im (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 1/2)) 2)) (*.f64 (/.f64 (sqrt.f64 -2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 3))) (sqrt.f64 (pow.f64 im 3))))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (+.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (*.f64 -1/2 (*.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (sqrt.f64 im) (/.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) re))))) (*.f64 (sqrt.f64 (pow.f64 im 3)) (*.f64 -1/4 (*.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 -2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 3))))))))
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (pow.f64 im 3)) (*.f64 -1/4 (*.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 -2) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 3))))))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -2) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 re (sqrt.f64 1/2))))) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 (/.f64 (pow.f64 re 2) im) 0)
(/.f64 (pow.f64 re 2) im)
(+.f64 0 (/.f64 (pow.f64 re 2) im))
(/.f64 (pow.f64 re 2) im)
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 re 2) (neg.f64 im))))
(/.f64 (pow.f64 re 2) im)
(-.f64 (/.f64 (pow.f64 re 2) im) 0)
(/.f64 (pow.f64 re 2) im)
(-.f64 0 (/.f64 (pow.f64 re 2) (neg.f64 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (/.f64 (pow.f64 re 2) (+.f64 im im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) 1))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) -1))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) 2) (/.f64 1 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) 1/2))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 2 (*.f64 (/.f64 1/2 im) (pow.f64 re 2)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (pow.f64 re 2) (/.f64 1 im))
(/.f64 (pow.f64 re 2) im)
(*.f64 (pow.f64 re 2) (*.f64 2 (/.f64 1/2 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (pow.f64 re 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 im))) -1))
(/.f64 (pow.f64 re 2) im)
(*.f64 (pow.f64 re 2) (*.f64 (*.f64 2 (/.f64 1 im)) 1/2))
(/.f64 (pow.f64 re 2) im)
(*.f64 (pow.f64 re 2) (*.f64 (/.f64 2 im) 1/2))
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 (pow.f64 re 2) im) 1)
(/.f64 (pow.f64 re 2) im)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) im) -2))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) -2)
(/.f64 (pow.f64 re 2) im)
(*.f64 1 (/.f64 (pow.f64 re 2) im))
(/.f64 (pow.f64 re 2) im)
(*.f64 -1 (/.f64 (pow.f64 re 2) (neg.f64 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 2 (pow.f64 re 2)) (/.f64 1/2 im))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (/.f64 1 im) 1/2))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (*.f64 (/.f64 1 im) 1/2) 1))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 (*.f64 2 (/.f64 1/2 im)) 1/2))
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)) -1)
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) (/.f64 2 im)) 1/2)
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) 4) (/.f64 1 (*.f64 im 4)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 (/.f64 1 (*.f64 im 4)) 1))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 1/4 (/.f64 1 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 1/2 (/.f64 1/2 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 1 im) (pow.f64 re 2))
(/.f64 (pow.f64 re 2) im)
(*.f64 (neg.f64 (pow.f64 re 2)) (/.f64 -1 im))
(/.f64 (pow.f64 re 2) im)
(*.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (/.f64 -1 im) 1))
(/.f64 (pow.f64 re 2) im)
(*.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (/.f64 1 im) -1))
(/.f64 (pow.f64 re 2) im)
(*.f64 (neg.f64 (pow.f64 re 2)) (*.f64 -1 (/.f64 1 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 1/2 (*.f64 (pow.f64 re 2) (/.f64 2 im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 1/2 im) (*.f64 2 (pow.f64 re 2)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (/.f64 1 im) 1/2) (*.f64 2 (pow.f64 re 2)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) 2)
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 1 (*.f64 im 4)) (*.f64 (pow.f64 re 2) 4))
(/.f64 (pow.f64 re 2) im)
(*.f64 (/.f64 -1 im) (neg.f64 (pow.f64 re 2)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (+.f64 (/.f64 1/2 im) (/.f64 1/2 im)) (pow.f64 re 2))
(/.f64 (pow.f64 re 2) im)
(neg.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)))
(/.f64 (pow.f64 re 2) im)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2) 1))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 2) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))) 4))) 16)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(-.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 0)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 2 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 2 (*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2) 1))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 1)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))) 1/2)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 1 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 1/4)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 4 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 4 (*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 1))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 1/2 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 2) 2)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 1/4 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 (/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 4)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(/.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 1)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(/.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))) 2)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(/.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 4) 4)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(/.f64 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 8) 8)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 re (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) 8)) 16)
(+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 0)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 0 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(-.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 0)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 2 (/.f64 -4 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 2 (/.f64 (*.f64 im -4) (pow.f64 re 2)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (pow.f64 re 2) (*.f64 im -2))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (pow.f64 re 2) im) -2)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) 1)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 1 (*.f64 im (/.f64 -2 (pow.f64 re 2))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 -1 (/.f64 2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 im -4))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (pow.f64 re 2) (neg.f64 im)) 2)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 -2 (/.f64 (*.f64 im 4) (pow.f64 re 2)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (neg.f64 (pow.f64 re 2)) (+.f64 im im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 4 (/.f64 (*.f64 im 8) (neg.f64 (pow.f64 re 2))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -2) 4)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (*.f64 (pow.f64 re 2) -2) (*.f64 im 4))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2)) 8)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (pow.f64 re 2) (+.f64 im im)) -1)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (pow.f64 re 2) 2) (neg.f64 im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2)) (*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) im) -2))) 16)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 2) im)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (neg.f64 (pow.f64 re 2)) (*.f64 im 4)) 1/2)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (/.f64 (pow.f64 re 2) -2) im)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))

eval360.0ms (2.8%)

Compiler

Compiled 15247 to 11567 computations (24.1% saved)

prune214.0ms (1.7%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New5202522
Fresh134
Picked101
Done145
Total5239532
Error
8.7b
Counts
532 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
47.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
46.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
37.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
60.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
43.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
50.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 171 to 141 computations (17.5% saved)

localize10.0ms (0.1%)

Compiler

Compiled 27 to 15 computations (44.4% saved)

localize9.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize10.0ms (0.1%)

Compiler

Compiled 33 to 16 computations (51.5% saved)

localize23.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 40 computations (24.5% saved)

series8.0ms (0.1%)

Counts
3 → 24
Calls

18 calls:

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

rewrite85.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1880×bool.json-1
1880×bool.json-2
1834×rational.json-1
1504×bool.json-3
740×rational.json-simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01465
114061
236761
378361
4188161
5542361
Stop Event
node limit
Counts
3 → 69
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/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 (*.f64 2 (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 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 not (not (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 -1 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.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 (*.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 1/2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 1/2 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (/.f64 1 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) -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 (+.f64 re re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) -1))))) (#(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/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (neg.f64 (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 re re)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 re) (/.f64 1/2 re)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (pow.f64 im 2) re) (/.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))) 1/2) 0)))) (#(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 /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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 or (*.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))))))

simplify149.0ms (1.2%)

Algorithm
egg-herbie
Rules
1038×rational.json-simplify-2
1012×rational.json-simplify-1
812×rational.json-simplify-53
760×rational.json-simplify-43
668×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01431903
13081895
27111895
317001889
436261889
550331889
662941889
774401889
Stop Event
node limit
Counts
93 → 94
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/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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1/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 (*.f64 2 (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 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)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 1/2))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1))
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -1))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1 re)))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 2 (*.f64 (/.f64 1/2 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(*.f64 (pow.f64 im 2) (*.f64 2 (/.f64 1/2 re)))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -1 re) -1))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) -1))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 1/2 (/.f64 1 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 1/2 re)) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (/.f64 1 re)) 1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) -1))
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) -1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (+.f64 re re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1/2 (+.f64 re re)) 1))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(*.f64 4 (*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) -1))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (neg.f64 (*.f64 (pow.f64 im 2) -2)))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(*.f64 (/.f64 1/2 (+.f64 re re)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (+.f64 (/.f64 1/2 re) (/.f64 1/2 re)) (pow.f64 im 2))
(neg.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 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))) 1/2) 0)
(/.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)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 16)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 (sqrt.f64 -1) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 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))) 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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/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 (*.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 (/.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)))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -1))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1 re)))
(*.f64 (/.f64 (pow.f64 im 2) 2) (*.f64 (/.f64 1 re) 2))
(*.f64 (/.f64 1 re) (*.f64 2 (/.f64 (pow.f64 im 2) 2)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 1/2 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 2 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 2 re)))
(*.f64 1/2 (*.f64 (/.f64 2 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -1 re) -1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) -1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.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 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 1/2 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 1/2 re)) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (/.f64 1 re)) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) -1))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) -1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1/2 (+.f64 re re)) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) -1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (neg.f64 (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 (+.f64 re re)) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (+.f64 (/.f64 1/2 re) (/.f64 1/2 re)) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 (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))) 1/2) 0)
(*.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))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 16)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 73 to 53 computations (27.4% saved)

series7.0ms (0.1%)

Counts
4 → 36
Calls

21 calls:

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

rewrite78.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1316×rational.json-simplify-35
1282×bool.json-1
1282×bool.json-2
1244×rational.json-1
1244×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016110
1164110
2420110
3854110
41748110
54308110
Stop Event
node limit
Counts
4 → 59
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 (sqrt.f64 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (/.f64 1 im)) (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (/.f64 1 im)) (sqrt.f64 (/.f64 1 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) (*.f64 2 (sqrt.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) (*.f64 2 (sqrt.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))))))

simplify1.1s (8.2%)

Algorithm
egg-herbie
Rules
7360×rational.json-simplify-41
3982×rational.json-simplify-35
3052×rational.json-simplify-2
1098×rational.json-simplify-51
1084×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01202789
12482789
26512789
319262599
444372599
550412599
651822599
752912599
854002599
955072599
1056142599
1157242599
1258312599
1358312599
1459382599
1568912599
1669982599
1771052599
1872122599
1973192599
2074262599
2175332599
2276402599
2377472599
2478542599
2578542599
Stop Event
node limit
Counts
95 → 74
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))
(+.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 (sqrt.f64 2) 1/2)))
(-.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 0)
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 1)
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 2)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))))) 32)
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)))
(-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)
(/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 2)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 4)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4))) 32)
(+.f64 (sqrt.f64 (/.f64 1 im)) 0)
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(+.f64 0 (sqrt.f64 (/.f64 1 im)))
(-.f64 (sqrt.f64 (/.f64 1 im)) 0)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1 (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 (/.f64 1 im)) 1)
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4) 4)
(/.f64 (sqrt.f64 (/.f64 1 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)
(-.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 0)
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))
(*.f64 1/2 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))))
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) (*.f64 2 (sqrt.f64 im))))
(*.f64 1 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))
(*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1)
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))
(*.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1/2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 2)
(*.f64 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 4)
(*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) (*.f64 2 (sqrt.f64 im))) 1/2)
(/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1)
(/.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) 32)
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 0)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 (sqrt.f64 2) 1/2)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(-.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 0)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 1)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 2)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)) 4)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) 8)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) 16)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))))) 32)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 0 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 1)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 2)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 4)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4) 8)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) 16)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4))) 32)
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (sqrt.f64 (/.f64 1 im)) 0)
(sqrt.f64 (/.f64 1 im))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(+.f64 0 (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(-.f64 (sqrt.f64 (/.f64 1 im)) 0)
(sqrt.f64 (/.f64 1 im))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(*.f64 1 (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(*.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)
(sqrt.f64 (/.f64 1 im))
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)
(sqrt.f64 (/.f64 1 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4) 4)
(sqrt.f64 (/.f64 1 im))
(/.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)
(sqrt.f64 (/.f64 1 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)
(sqrt.f64 (/.f64 1 im))
(-.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 0)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) (*.f64 2 (sqrt.f64 im))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1/2)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 1/4)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) 2)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 4)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) (*.f64 2 (sqrt.f64 im))) 1/2)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 1)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 2)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4) 4)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)) 8)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) 16)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re))) 4)))) 32)
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2)))
(+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))

eval100.0ms (0.8%)

Compiler

Compiled 2838 to 2291 computations (19.3% saved)

prune56.0ms (0.4%)

Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New1671168
Fresh000
Picked011
Done178
Total1689177
Error
8.7b
Counts
177 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
56.8b
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
47.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
46.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
37.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
60.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
43.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
50.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 106 to 86 computations (18.9% saved)

localize12.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)
8.5b
(/.f64 (pow.f64 im 2) (neg.f64 re))
19.8b
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
Compiler

Compiled 32 to 19 computations (40.6% saved)

series3.0ms (0%)

Counts
3 → 48
Calls

18 calls:

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

rewrite157.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1912×bool.json-1
1912×bool.json-2
1520×bool.json-3
926×rational.json-simplify-35
800×rational.json-simplify-46
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01165
111565
235065
383865
4219365
5596765
Stop Event
node limit
Counts
3 → 78
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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.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 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 (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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 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 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (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 2 (/.f64 (pow.f64 im 2) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 -1/2 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 2 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 -1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 -1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 1/2 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (/.f64 -1 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1/2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1/2 (*.f64 re -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (neg.f64 (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 (/.f64 -1 re)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 re -2)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 -1/2 re) (/.f64 -1/2 re)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.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) 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))) 1/2) 0)))) (#(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 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/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 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 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2)))) (#(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 not (not (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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 or (*.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))))))

simplify187.0ms (1.5%)

Algorithm
egg-herbie
Rules
1712×rational.json-simplify-35
1174×rational.json-simplify-2
1072×rational.json-simplify-53
986×rational.json-simplify-51
764×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01542730
13142722
26922722
314912722
422692722
544542722
661132722
773772722
Stop Event
node limit
Counts
126 → 95
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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 (*.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 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 (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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8)) 16)
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 re -2)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 1))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1 re)))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 2 (*.f64 (/.f64 -1/2 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (pow.f64 im 2) (*.f64 2 (/.f64 -1/2 re)))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 -1 re)) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 -1 (/.f64 1 re)))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 1/2 (/.f64 -1 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (/.f64 -1 re)) 1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) -1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1/2 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (*.f64 re -2)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1/2 (*.f64 re -2)) 1))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 -1 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))
(*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 re)))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) -1))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (/.f64 -1 re)) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)
(*.f64 (/.f64 1/2 (*.f64 re -2)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (+.f64 (/.f64 -1/2 re) (/.f64 -1/2 re)) (pow.f64 im 2))
(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))) 1/2) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1/2))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/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 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 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2)
(*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 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))) 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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.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 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 (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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8)) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (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 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 2 (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 1))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 -1/2 re) (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (*.f64 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 (*.f64 2 (/.f64 -1 re)) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 -2 re)))
(*.f64 (pow.f64 im 2) (*.f64 -1 (/.f64 1 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 1/2 (/.f64 -1 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (/.f64 -1 re)) 1))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) -1))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1/2 (/.f64 1 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 -2 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (*.f64 re -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 (/.f64 1/2 (*.f64 re -2)) 1))
(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/4 (/.f64 -1 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 -2 re)))
(*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) -1))
(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/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 (/.f64 -1 re)) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1/2 (*.f64 re -2)) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (+.f64 (/.f64 -1/2 re) (/.f64 -1/2 re)) (pow.f64 im 2))
(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))) 1/2) 0)
(*.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 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1/2))
(*.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))) 1/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 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 (/.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 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))))

eval24.0ms (0.2%)

Compiler

Compiled 1148 to 913 computations (20.5% saved)

prune17.0ms (0.1%)

Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New95095
Fresh000
Picked011
Done088
Total959104
Error
8.7b
Counts
104 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
56.8b
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
47.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
46.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
37.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
60.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
43.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
50.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 106 to 86 computations (18.9% saved)

regimes169.0ms (1.3%)

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

7 calls:

36.0ms
re
34.0ms
im
20.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
20.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
19.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
ErrorSegmentsBranch
23.6b5re
20.2b5im
24.8b4(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
24.8b4(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
25.2b4(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
25.2b4(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
26.2b3(*.f64 im im)
Compiler

Compiled 226 to 160 computations (29.2% saved)

bsearch130.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
1.551398172031305
5831545.722375674
29.0ms
1.8398209119475387e-170
1.8340767937092912e-168
48.0ms
-1.7280352439128692e-165
-4.251490157785292e-168
25.0ms
-7.754687569267688e+163
-8.204663883993726e+151
Results
65.0ms400×body256valid
21.0ms44×body4096valid
19.0ms51×body2048valid
13.0ms34×body1024valid
3.0ms15×body512valid
Compiler

Compiled 1018 to 774 computations (24% saved)

regimes44.0ms (0.3%)

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

2 calls:

27.0ms
re
15.0ms
im
Results
ErrorSegmentsBranch
27.7b5re
24.0b3im
Compiler

Compiled 77 to 59 computations (23.4% saved)

bsearch106.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
76.0ms
511449086907.96954
3506026475993091.0
30.0ms
-1.1853734111071438e-150
-6.492456468471215e-156
Results
65.0ms28×body2048valid
25.0ms212×body256valid
5.0ms10×body4096valid
5.0ms13×body512valid
3.0msbody1024valid
Compiler

Compiled 405 to 331 computations (18.3% saved)

regimes119.0ms (0.9%)

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

2 calls:

108.0ms
re
10.0ms
im
Results
ErrorSegmentsBranch
31.2b5re
24.6b3im
Compiler

Compiled 31 to 24 computations (22.6% saved)

bsearch60.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
511449086907.96954
3506026475993091.0
36.0ms
-1.1853734111071438e-150
-6.492456468471215e-156
Results
24.0ms193×body256valid
12.0ms28×body2048valid
11.0ms19×body4096valid
6.0ms21×body1024valid
2.0ms11×body512valid
Compiler

Compiled 387 to 322 computations (16.8% saved)

regimes18.0ms (0.1%)

Accuracy

Total -31.8b remaining (-100.6%)

Threshold costs -31.8b (-100.6%)

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

2 calls:

10.0ms
re
7.0ms
im
Results
ErrorSegmentsBranch
41.1b4re
31.6b2im
Compiler

Compiled 23 to 18 computations (21.7% saved)

bsearch56.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
-7.568207242100806e-221
-2.7575425844052393e-221
Results
41.0ms47×body256valid
7.0ms14×body4096valid
4.0ms11×body2048valid
2.0msbody1024valid
Compiler

Compiled 127 to 106 computations (16.5% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061449
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 im -88000000000000002674564808948130307266377408562695259913870667417469171562864910385749976318615001329864085586004881843345028482743407148652146641076224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -881772058387211/518689446110124119814050982961395143876555779030304612499457166211331601426613518299963381118387974286024735826412598647799393884426471913485859354264245460882647725425188690460672) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 3824193548280723/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 4800000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -7371020360979573/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im 700000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -1879610192049791/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 520000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -8343157707155579/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Outputs
(if (<=.f64 im -88000000000000002674564808948130307266377408562695259913870667417469171562864910385749976318615001329864085586004881843345028482743407148652146641076224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -881772058387211/518689446110124119814050982961395143876555779030304612499457166211331601426613518299963381118387974286024735826412598647799393884426471913485859354264245460882647725425188690460672) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 3824193548280723/2124551971267068394758352826209874509318372470908127692797776552801614239443408970956650009060917142675557317944986004061386317350610828957638079915066349407775325083341572876126912512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 4800000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -7371020360979573/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im 700000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -1879610192049791/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 520000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -8343157707155579/203491651394038521547847039511757134922630564035519658215217828728150550470508791245160894801988351157926327837934364027279321339542216951915385621714197694277806322617004838820284371518304871360136871830318804992117027222823378335301632) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 171 to 126 computations (26.3% saved)

soundness115.0ms (0.9%)

Algorithm
egg-herbie
Rules
1774×rational.json-simplify-35
980×rational.json-simplify-51
964×rational.json-simplify-1
894×rational.json-simplify-2
748×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02845413
16405389
219695345
339915309
Stop Event
node limit
Compiler

Compiled 31 to 25 computations (19.4% saved)

end66.0ms (0.5%)

Compiler

Compiled 163 to 108 computations (33.7% saved)

Profiling

Loading profile data...