Details

Time bar (total: 11.0s)

analyze238.0ms (2.2%)

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

Compiled 18 to 13 computations (27.8% saved)

sample1.5s (13.6%)

Results
816.0ms6396×body256valid
257.0ms551×body4096valid
241.0ms653×body2048valid
116.0ms415×body1024valid
51.0ms241×body512valid
Bogosity

preprocess107.0ms (1%)

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)

simplify113.0ms (1%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 32 to 18 computations (43.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
38.6b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
38.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)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 77 to 19 computations (75.3% saved)

series9.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite68.0ms (0.6%)

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)
(+.f64 (*.f64 re re) (*.f64 im im))
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x 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 (+.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)))))))
((#(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)))))))

simplify121.0ms (1.1%)

Algorithm
egg-herbie
Rules
1768×rational.json-simplify-35
972×rational.json-simplify-51
958×rational.json-simplify-1
882×rational.json-simplify-2
746×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

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

eval94.0ms (0.9%)

Compiler

Compiled 6082 to 4138 computations (32% saved)

prune44.0ms (0.4%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New20110211
Fresh000
Picked011
Done000
Total20111212
Error
9.0b
Counts
212 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
47.8b
(*.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))))))
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re))))
57.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.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))))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
38.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
45.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
48.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
45.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
Compiler

Compiled 343 to 282 computations (17.8% saved)

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)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite101.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.4s (21.6%)

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

localize10.0ms (0.1%)

Compiler

Compiled 27 to 15 computations (44.4% saved)

localize10.0ms (0.1%)

Compiler

Compiled 33 to 16 computations (51.5% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 40 computations (24.5% saved)

series7.0ms (0.1%)

Counts
4 → 60
Calls

24 calls:

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

rewrite90.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1826×bool.json-1
1826×bool.json-2
1782×rational.json-1
1464×bool.json-3
714×rational.json-simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01274
112170
233170
372370
4179170
5522170
Stop Event
node limit
Counts
4 → 178
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.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) (+.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 (pow.f64 im 2) re) 1/2))))) (#(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 -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 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 1 re) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (neg.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 -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 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 (*.f64 re 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 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 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.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 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (neg.f64 (/.f64 re (pow.f64 im 2))) (neg.f64 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (+.f64 re re) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (-.f64 0 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re 4) (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 (/.f64 re 2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (neg.f64 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (neg.f64 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 re (pow.f64 im 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 re 4) (neg.f64 (*.f64 (pow.f64 im 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 re -2) (neg.f64 (*.f64 (pow.f64 im 2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 (pow.f64 im 2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re 4) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))) (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 re 4) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 re 8) (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 re) (/.f64 (/.f64 1/2 (pow.f64 im 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 2 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 re 8) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (+.f64 (neg.f64 (*.f64 re 8)) (neg.f64 (*.f64 re 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (+.f64 (neg.f64 (*.f64 re -2)) (neg.f64 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 (pow.f64 im 2) 4))) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (neg.f64 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) 2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 1 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 re 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 re) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) 2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) re) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4))) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (-.f64 0 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (-.f64 0 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (-.f64 0 (*.f64 re 8)))))) (#(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 (/.f64 (pow.f64 im 2) re) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))))

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
1156×rational.json-simplify-2
1006×rational.json-simplify-35
990×rational.json-simplify-39
854×rational.json-simplify-41
730×rational.json-simplify-50
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03514140
110714132
235814132
356704132
Stop Event
node limit
Counts
238 → 188
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 1))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (+.f64 (*.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) (+.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 (pow.f64 im 2) re) 1/2))
(*.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 -1 re) -1))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) -1))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 1 re) 1/2) 1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) -1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 2 (/.f64 1/2 re)) 1/2))
(*.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 (*.f64 re 4)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 (*.f64 re 4)) 1))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1/2)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (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 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(*.f64 (/.f64 1 (*.f64 re 4)) (*.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 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 2 (+.f64 (neg.f64 (/.f64 re (pow.f64 im 2))) (neg.f64 (/.f64 re (pow.f64 im 2)))))
(/.f64 2 (/.f64 (+.f64 re re) (neg.f64 (pow.f64 im 2))))
(/.f64 2 (-.f64 0 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(/.f64 2 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -1))
(/.f64 2 (/.f64 (*.f64 re 4) (*.f64 (pow.f64 im 2) -2)))
(/.f64 2 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -2))
(/.f64 2 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -1)
(/.f64 -1/2 (/.f64 (/.f64 re 2) (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 1 (/.f64 (neg.f64 re) (pow.f64 im 2)))
(/.f64 1 (neg.f64 (/.f64 re (pow.f64 im 2))))
(/.f64 1 (/.f64 (/.f64 re (pow.f64 im 2)) -1))
(/.f64 1 (/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) -2)))
(/.f64 1 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -2))
(/.f64 1 (/.f64 (*.f64 re 4) (neg.f64 (*.f64 (pow.f64 im 2) 4))))
(/.f64 1 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 8))))
(/.f64 1 (/.f64 (*.f64 re -2) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 1 (/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re 4) -2))
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (*.f64 re 4)))
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) -1))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -2)
(/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (neg.f64 (pow.f64 im 2)) re)
(/.f64 4 (+.f64 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))) (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))
(/.f64 4 (/.f64 (*.f64 re 4) (neg.f64 (pow.f64 im 2))))
(/.f64 4 (/.f64 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))) -1))
(/.f64 4 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -1))
(/.f64 4 (/.f64 (*.f64 re 8) (*.f64 (pow.f64 im 2) -2)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)
(/.f64 (*.f64 (pow.f64 im 2) 8) (neg.f64 (*.f64 re 8)))
(/.f64 (*.f64 (pow.f64 im 2) 8) (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))))
(/.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) -1))
(/.f64 (/.f64 -1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 1/2 re) (/.f64 (/.f64 1/2 (pow.f64 im 2)) -1))
(/.f64 1/2 (/.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) -1))
(/.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) -2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re -2)))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) -1))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) -1))
(/.f64 -2 (*.f64 2 (/.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 8 (/.f64 (*.f64 re 8) (neg.f64 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) -8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (+.f64 (neg.f64 (*.f64 re 8)) (neg.f64 (*.f64 re 8))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (+.f64 (neg.f64 (*.f64 re -2)) (neg.f64 (*.f64 re -2))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 8)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) -4)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 4)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (*.f64 re 8))
(/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1/2)
(/.f64 -4 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (*.f64 re -2))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (+.f64 re re)))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 (pow.f64 im 2) 4))) (*.f64 re 8))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 2 (*.f64 re -2)))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (neg.f64 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 re 8)))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) 2) (neg.f64 re))
(/.f64 (/.f64 -1 (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (/.f64 -1 (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (/.f64 re 2))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) 1/2)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re 4)) 1/4)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) re) 2)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 re 4)) 1/2)
(/.f64 (/.f64 -2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 -2 (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) 2) (+.f64 re re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) re) 4)
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)) 2)
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2) (*.f64 re 4))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4))) (neg.f64 (*.f64 re 4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (+.f64 re re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (-.f64 0 (*.f64 re -2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (-.f64 0 (neg.f64 (+.f64 re re))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (-.f64 0 (*.f64 re 8)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(+.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(/.f64 (/.f64 (pow.f64 im 2) re) -2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -4)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 8)
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1)
(/.f64 (+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re))) -2)
(neg.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.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 -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 -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 -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 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 1))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.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) (+.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 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 1/2))
(/.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 -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 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 1 re) 1/2) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) -1))
(/.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 -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 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 (*.f64 re 4)) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (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 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 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 (*.f64 (/.f64 1 re) 1/2) (*.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 (*.f64 re 4)) (*.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 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (+.f64 (neg.f64 (/.f64 re (pow.f64 im 2))) (neg.f64 (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (+.f64 re re) (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (-.f64 0 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (*.f64 re 4) (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -1/2 (/.f64 (/.f64 re 2) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (neg.f64 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (neg.f64 (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (/.f64 re (pow.f64 im 2)) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (*.f64 re 4) (neg.f64 (*.f64 (pow.f64 im 2) 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 8))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (*.f64 re -2) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re 4) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (pow.f64 im 2)) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (+.f64 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))) (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (/.f64 (*.f64 re 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (/.f64 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (/.f64 (*.f64 re 8) (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (neg.f64 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 1/2 re) (/.f64 (/.f64 1/2 (pow.f64 im 2)) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1/2 (/.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -2 (*.f64 2 (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 8 (/.f64 (*.f64 re 8) (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) -8)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (+.f64 (neg.f64 (*.f64 re 8)) (neg.f64 (*.f64 re 8))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (+.f64 (neg.f64 (*.f64 re -2)) (neg.f64 (*.f64 re -2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 8)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) -4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (*.f64 re 8))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1/2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -4 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (*.f64 re -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 (pow.f64 im 2) 4))) (*.f64 re 8))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 2 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4))) 16)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (+.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 8)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (neg.f64 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) 2) (neg.f64 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -1 (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -1 (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (/.f64 re 2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) 1/2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re 4)) 1/4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) re) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 re 4)) 1/2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -2 (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) 2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) re) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4))) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (-.f64 0 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (-.f64 0 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (-.f64 0 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -2)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -4)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 8)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re))) -2)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 80 to 61 computations (23.8% saved)

series8.0ms (0.1%)

Counts
4 → 24
Calls

15 calls:

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

rewrite101.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1384×rational.json-simplify-35
1312×bool.json-1
1312×bool.json-2
1274×rational.json-1
1274×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01670
116470
242870
392270
4196370
5464170
Stop Event
node limit
Counts
4 → 48
Calls
Call 1
Inputs
(*.f64 re (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (sqrt.f64 2) 1/2)) (*.f64 re (*.f64 (sqrt.f64 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 2 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 re (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 re (sqrt.f64 2)) (*.f64 re (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 re (sqrt.f64 2)) (*.f64 re (sqrt.f64 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 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 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 2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4))))) 32)))) (#(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)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 4)) (*.f64 (sqrt.f64 2) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4)) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (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 (*.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 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/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 (sqrt.f64 (/.f64 1 im)) 4) 1/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)))))))

simplify304.0ms (2.8%)

Algorithm
egg-herbie
Rules
4530×rational.json-simplify-53
2664×rational.json-simplify-35
2038×rational.json-simplify-2
1058×rational.json-simplify-51
786×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041316
12471316
25621316
317261316
434511316
539951316
642091316
743671316
845141316
946611316
1050581316
1150581316
1252051316
1353521316
1454991316
Stop Event
node limit
Counts
72 → 57
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 0 (*.f64 re (sqrt.f64 2)))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 2) 1/2)) (*.f64 re (*.f64 (sqrt.f64 2) 1/2)))
(+.f64 (*.f64 re (sqrt.f64 2)) 0)
(-.f64 (*.f64 re (sqrt.f64 2)) 0)
(/.f64 (*.f64 re (*.f64 2 (sqrt.f64 2))) 2)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4))) 8)
(/.f64 (*.f64 re (sqrt.f64 2)) 1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4))))) 32)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 1/2)))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4))))) 32)
(+.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 0)
(+.f64 0 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 4)) (*.f64 (sqrt.f64 2) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 4)))
(-.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 0)
(/.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 1)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4)) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 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 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/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)
Outputs
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 (sqrt.f64 2) re)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 0 (*.f64 re (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) re)
(+.f64 (*.f64 re (*.f64 (sqrt.f64 2) 1/2)) (*.f64 re (*.f64 (sqrt.f64 2) 1/2)))
(*.f64 (sqrt.f64 2) re)
(+.f64 (*.f64 re (sqrt.f64 2)) 0)
(*.f64 (sqrt.f64 2) re)
(-.f64 (*.f64 re (sqrt.f64 2)) 0)
(*.f64 (sqrt.f64 2) re)
(/.f64 (*.f64 re (*.f64 2 (sqrt.f64 2))) 2)
(*.f64 (sqrt.f64 2) re)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 re 4)) 4)
(*.f64 (sqrt.f64 2) re)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4))) 8)
(*.f64 (sqrt.f64 2) re)
(/.f64 (*.f64 re (sqrt.f64 2)) 1)
(*.f64 (sqrt.f64 2) re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4)))) 16)
(*.f64 (sqrt.f64 2) re)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re 4))))) 32)
(*.f64 (sqrt.f64 2) re)
(+.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 im) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 2) 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 2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)) 4)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4))) 8)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)))) 16)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) 4))))) 32)
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 0)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 0 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 4)) (*.f64 (sqrt.f64 2) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 4)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(-.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 0)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 re (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) 1)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4) 8)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4)) 16)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4)) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) 4))) 32)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) re)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re 1/2) (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1/2 (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 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(sqrt.f64 (/.f64 1 im))
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/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))

eval105.0ms (1%)

Compiler

Compiled 5717 to 4667 computations (18.4% saved)

prune61.0ms (0.6%)

Pruning

15 alts after pruning (9 fresh and 6 done)

PrunedKeptTotal
New3034307
Fresh055
Picked011
Done055
Total30315318
Error
9.0b
Counts
318 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
47.8b
(*.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))))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re))))
57.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.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))))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
38.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
45.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
48.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
45.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
Compiler

Compiled 387 to 319 computations (17.6% saved)

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

rewrite90.0ms (0.8%)

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

simplify956.0ms (8.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))))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 15 computations (28.6% saved)

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 40 to 29 computations (27.5% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

18 calls:

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

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1662×bool.json-1
1662×bool.json-2
1620×rational.json-1
1620×rational.json-2
1224×bool.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01155
111651
236051
388951
4257151
5610351
Stop Event
node limit
Counts
3 → 82
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.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 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 re (pow.f64 im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (pow.f64 im 2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 re (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -2) (/.f64 -1 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 -2 (pow.f64 im 2))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 re (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 (pow.f64 im 2) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 1/2 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (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) (neg.f64 re)) 2))))) (#(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 (/.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 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) 2)))) (#(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)))))))

simplify114.0ms (1%)

Algorithm
egg-herbie
Rules
1080×rational.json-simplify-53
1010×rational.json-simplify-49
896×rational.json-simplify-35
892×rational.json-simplify-41
872×rational.json-simplify-61
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01562654
12932646
26182070
315232070
441332070
560792070
Stop Event
node limit
Counts
118 → 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 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (+.f64 (*.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 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(+.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 0 (/.f64 re (pow.f64 im 2)))
(-.f64 (/.f64 re (pow.f64 im 2)) 0)
(-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 re (/.f64 1 (pow.f64 im 2)))
(*.f64 2 (/.f64 re (*.f64 2 (pow.f64 im 2))))
(*.f64 2 (/.f64 (/.f64 re (pow.f64 im 2)) 2))
(*.f64 2 (*.f64 (/.f64 1/2 (pow.f64 im 2)) re))
(*.f64 (/.f64 re (pow.f64 im 2)) 1)
(*.f64 1 (/.f64 re (pow.f64 im 2)))
(*.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))
(*.f64 -2 (/.f64 re (*.f64 (pow.f64 im 2) -2)))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (*.f64 re -2) (/.f64 -1 (*.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)
(*.f64 (/.f64 1 (pow.f64 im 2)) re)
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))
(*.f64 (*.f64 re (/.f64 -2 (pow.f64 im 2))) -1/2)
(*.f64 1/2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(*.f64 -1/2 (*.f64 re (/.f64 -2 (pow.f64 im 2))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))
(*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))
(*.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) 2)
(*.f64 (/.f64 re (*.f64 (pow.f64 im 2) -2)) -2)
(*.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (*.f64 re -2))
(*.f64 (+.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 1/2 (pow.f64 im 2))) re)
(neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 re -2)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2))
(*.f64 2 (*.f64 (/.f64 -1/2 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)
(*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) 2)
(*.f64 (+.f64 (/.f64 -1/2 re) (/.f64 -1/2 re)) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.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))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.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 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(+.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(+.f64 0 (/.f64 re (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(-.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 re (/.f64 1 (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (/.f64 re (*.f64 2 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (/.f64 (/.f64 re (pow.f64 im 2)) 2))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (/.f64 1/2 (pow.f64 im 2)) re))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (pow.f64 im 2)) 1)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 1 (/.f64 re (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 -2 (/.f64 re (*.f64 (pow.f64 im 2) -2)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 1/2)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re -2) (/.f64 -1 (*.f64 2 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) re)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re (/.f64 -2 (pow.f64 im 2))) -1/2)
(*.f64 re (*.f64 (/.f64 -2 (pow.f64 im 2)) -1/2))
(*.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 -1/2 re))
(*.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 re -1/2))
(*.f64 1/2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 -1/2 (*.f64 re (/.f64 -2 (pow.f64 im 2))))
(*.f64 re (*.f64 (/.f64 -2 (pow.f64 im 2)) -1/2))
(*.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 -1/2 re))
(*.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 re -1/2))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) 2)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (*.f64 (pow.f64 im 2) -2)) -2)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) 2)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (*.f64 re -2))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 1/2 (pow.f64 im 2))) re)
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (pow.f64 im 2) (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 (/.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 -1 (/.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) (neg.f64 re)) 2))
(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 (/.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 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (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 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(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)))
(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 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (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 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (+.f64 (/.f64 -1/2 re) (/.f64 -1/2 re)) (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))

localize35.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 92 to 60 computations (34.8% saved)

series9.0ms (0.1%)

Counts
4 → 36
Calls

21 calls:

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

rewrite99.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
015100
1151100
2397100
3889100
42352100
56357100
Stop Event
node limit
Counts
4 → 105
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re)))
(/.f64 (pow.f64 re 2) im)
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re)
(pow.f64 re 2)
Outputs
((#(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 (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 2 (/.f64 (pow.f64 re 2) im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) (/.f64 1/2 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 (/.f64 1/2 (+.f64 im im)) 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 2 (/.f64 (pow.f64 re 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/2 (+.f64 im im)) (*.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 (+.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 (pow.f64 re 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 re 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 re 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 re 2) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 re 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 re 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (neg.f64 (*.f64 (pow.f64 re 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 re 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 re 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 re 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 2) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 re 2) -2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (pow.f64 re 2) (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 re 2) (pow.f64 re 2))))))

simplify159.0ms (1.5%)

Algorithm
egg-herbie
Rules
1244×rational.json-simplify-2
1024×rational.json-simplify-53
874×rational.json-simplify-46
770×rational.json-simplify-50
764×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02924371
16634363
217794363
348204363
467684363
575904363
Stop Event
node limit
Counts
141 → 178
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 (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 (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 2 (/.f64 (pow.f64 re 2) im)) 1/2)
(*.f64 (*.f64 (pow.f64 re 2) 4) (/.f64 1/2 (+.f64 im im)))
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 (/.f64 1/2 (+.f64 im im)) 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 2 (/.f64 (pow.f64 re 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/2 (+.f64 im im)) (*.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 (+.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 (pow.f64 re 2) 0)
(+.f64 0 (pow.f64 re 2))
(+.f64 -1 (-.f64 1 (neg.f64 (pow.f64 re 2))))
(-.f64 (pow.f64 re 2) 0)
(-.f64 0 (neg.f64 (pow.f64 re 2)))
(*.f64 2 (/.f64 (pow.f64 re 2) 2))
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) 2) 1))
(*.f64 2 (*.f64 (pow.f64 re 2) 1/2))
(*.f64 (pow.f64 re 2) 1)
(*.f64 1 (pow.f64 re 2))
(*.f64 -1 (neg.f64 (pow.f64 re 2)))
(*.f64 (*.f64 2 (pow.f64 re 2)) 1/2)
(*.f64 (*.f64 (pow.f64 re 2) 4) 1/4)
(*.f64 (neg.f64 (pow.f64 re 2)) -1)
(*.f64 1/2 (*.f64 2 (pow.f64 re 2)))
(*.f64 1/2 (neg.f64 (*.f64 (pow.f64 re 2) -2)))
(*.f64 (/.f64 (pow.f64 re 2) 2) 2)
(*.f64 1/4 (*.f64 (pow.f64 re 2) 4))
(/.f64 (pow.f64 re 2) 1)
(/.f64 (*.f64 2 (pow.f64 re 2)) 2)
(/.f64 (*.f64 (pow.f64 re 2) 4) 4)
(/.f64 (neg.f64 (pow.f64 re 2)) -1)
(/.f64 (*.f64 (pow.f64 re 2) 8) 8)
(/.f64 (*.f64 (pow.f64 re 2) -2) -2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 2) -2)) -4)
(neg.f64 (neg.f64 (pow.f64 re 2)))
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 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))))))
(+.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 (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 -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 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 -1/2 (*.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 (*.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 (sqrt.f64 (/.f64 1 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (/.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)) (sqrt.f64 -1)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1)))) 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/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 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.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 (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 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 -1/2 (*.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 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.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 1/2 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (/.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)) (sqrt.f64 -1))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.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 (*.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 1/2 (/.f64 1 (sqrt.f64 -1)))) 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 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 1/4 (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 (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 (/.f64 1 (sqrt.f64 -1/2)) (*.f64 (sqrt.f64 im) 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 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (/.f64 (sqrt.f64 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 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -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 (*.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 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) 1/2)) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (+.f64 im (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (*.f64 (sqrt.f64 im) 1/2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) -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 (/.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (pow.f64 im 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))))) (+.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 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (*.f64 (sqrt.f64 (pow.f64 im 3)) (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1/2) 3))))))))
(+.f64 (*.f64 (sqrt.f64 im) (*.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 (*.f64 (*.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 1 (sqrt.f64 -1/2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 im) -1/2)) (*.f64 1/4 (*.f64 (*.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)))) (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 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -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 re (*.f64 (sqrt.f64 1/2) (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 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -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 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 1/2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 (*.f64 re (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 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 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -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 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 1/2)) (*.f64 -1/2 (*.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 1 (sqrt.f64 1/2)) 1/2)) 2)) (*.f64 (/.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))) (sqrt.f64 im))))))
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.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 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))))
(+.f64 (*.f64 (*.f64 re (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 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 (sqrt.f64 -2) (*.f64 re (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 (sqrt.f64 -2) (sqrt.f64 1/2)))) (+.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -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 -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 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 1 (sqrt.f64 1/2)) 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 (pow.f64 im 3)) (*.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 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 3)))) -1/4)) (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.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 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))))))) (*.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 re (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.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 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 im) 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 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (pow.f64 re 2) (*.f64 im -2))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (/.f64 (pow.f64 re 2) (*.f64 im -2)))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (pow.f64 re 2) (*.f64 im -2))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (/.f64 (pow.f64 re 2) (*.f64 im -2)))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(/.f64 (pow.f64 re 2) (*.f64 im -2))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (/.f64 (pow.f64 re 2) (*.f64 im -2)))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(+.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(-.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(*.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -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))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(*.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(*.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -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)
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -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)))))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(*.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(/.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(/.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(/.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(/.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(/.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))))))
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))))
(sqrt.f64 (*.f64 2 (+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))))
(+.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 2 (/.f64 (pow.f64 re 2) im)) 1/2)
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) 4) (/.f64 1/2 (+.f64 im im)))
(/.f64 (pow.f64 re 2) im)
(*.f64 (*.f64 (pow.f64 re 2) 4) (*.f64 (/.f64 1/2 (+.f64 im im)) 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 2 (/.f64 (pow.f64 re 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/2 (+.f64 im im)) (*.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 (+.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (+.f64 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(*.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 (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(/.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(/.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(/.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 (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(/.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(/.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 re (neg.f64 im)) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (neg.f64 im) (/.f64 (pow.f64 re 2) (*.f64 im -2))))
(+.f64 (pow.f64 re 2) 0)
(pow.f64 re 2)
(+.f64 0 (pow.f64 re 2))
(pow.f64 re 2)
(+.f64 -1 (-.f64 1 (neg.f64 (pow.f64 re 2))))
(pow.f64 re 2)
(-.f64 (pow.f64 re 2) 0)
(pow.f64 re 2)
(-.f64 0 (neg.f64 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 2 (/.f64 (pow.f64 re 2) 2))
(pow.f64 re 2)
(*.f64 2 (*.f64 (/.f64 (pow.f64 re 2) 2) 1))
(pow.f64 re 2)
(*.f64 2 (*.f64 (pow.f64 re 2) 1/2))
(pow.f64 re 2)
(*.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(*.f64 1 (pow.f64 re 2))
(pow.f64 re 2)
(*.f64 -1 (neg.f64 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 (*.f64 2 (pow.f64 re 2)) 1/2)
(pow.f64 re 2)
(*.f64 (*.f64 (pow.f64 re 2) 4) 1/4)
(pow.f64 re 2)
(*.f64 (neg.f64 (pow.f64 re 2)) -1)
(pow.f64 re 2)
(*.f64 1/2 (*.f64 2 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 1/2 (neg.f64 (*.f64 (pow.f64 re 2) -2)))
(pow.f64 re 2)
(*.f64 (/.f64 (pow.f64 re 2) 2) 2)
(pow.f64 re 2)
(*.f64 1/4 (*.f64 (pow.f64 re 2) 4))
(pow.f64 re 2)
(/.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(/.f64 (*.f64 2 (pow.f64 re 2)) 2)
(pow.f64 re 2)
(/.f64 (*.f64 (pow.f64 re 2) 4) 4)
(pow.f64 re 2)
(/.f64 (neg.f64 (pow.f64 re 2)) -1)
(pow.f64 re 2)
(/.f64 (*.f64 (pow.f64 re 2) 8) 8)
(pow.f64 re 2)
(/.f64 (*.f64 (pow.f64 re 2) -2) -2)
(pow.f64 re 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 8)) 16)
(pow.f64 re 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 2) -2)) -4)
(pow.f64 re 2)
(neg.f64 (neg.f64 (pow.f64 re 2)))
(pow.f64 re 2)

localize47.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.7b
(/.f64 (pow.f64 im 2) re)
12.5b
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
16.7b
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))
19.2b
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
Compiler

Compiled 125 to 96 computations (23.2% saved)

series9.0ms (0.1%)

Counts
3 → 36
Calls

18 calls:

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

rewrite104.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1102×rational.json-simplify-35
932×bool.json-1
932×bool.json-2
900×rational.json-1
900×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020127
1195127
2488127
31063127
42717127
57517127
Stop Event
node limit
Counts
3 → 54
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(sqrt.f64 (*.f64 2 (+.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 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)) (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (pow.f64 re 3)) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 4 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 re 3)) (neg.f64 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.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 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.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 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))

simplify265.0ms (2.4%)

Algorithm
egg-herbie
Rules
1056×rational.json-simplify-46
1048×rational.json-simplify-35
1006×rational.json-simplify-59
986×rational.json-simplify-2
802×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01814622
13724622
27614622
315614592
426764592
538404592
647644592
753764592
863084592
Stop Event
node limit
Counts
90 → 101
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (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 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.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 -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 -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 -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 (pow.f64 im 4) (pow.f64 re 3)) 0)
(+.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)) (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)))
(-.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(*.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)
(*.f64 2 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)))
(*.f64 2 (*.f64 (/.f64 1/2 (pow.f64 re 3)) (pow.f64 im 4)))
(*.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3)))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))) 1/2)
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 (pow.f64 re 3))))
(*.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 (pow.f64 re 3)))
(*.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))
(*.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 im 4) 2))
(*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (*.f64 (pow.f64 im 4) 2))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))) -1)
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)) 2)
(*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 4 (pow.f64 im 4)))
(*.f64 (/.f64 -1 (pow.f64 re 3)) (neg.f64 (pow.f64 im 4)))
(neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2) 2)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 2)
(/.f64 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 4)
(/.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) 16)
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 0)
(*.f64 4 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4))
(*.f64 2 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 2))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/2)
(*.f64 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 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))
(*.f64 1/4 (*.f64 4 (+.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 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4) 4)
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8)) 16)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (pow.f64 im 3) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 im 3) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) 1/16)))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)))))
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) -1/512))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 im 3) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 -1/512 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) 1/16)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) -1/512)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3))))))
(+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) -1/512)) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) 1/8192))))
(+.f64 (*.f64 -1/512 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (pow.f64 im 3) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/8192 (*.f64 (pow.f64 im 7) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1/2) 5))))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) 1/16)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) -1/512))))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))))) (+.f64 (*.f64 1/8192 (*.f64 (pow.f64 im 7) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1/2) 5))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 -1/2) 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/128 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 1/8) 5)) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)))) (*.f64 -1/128 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 1/8) 5)) (sqrt.f64 (pow.f64 re 9)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/128 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 1/8) 5)) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/8)))) (*.f64 -1/128 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 1/8) 5)) (sqrt.f64 (pow.f64 re 9)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))))
(*.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 -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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 -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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)) (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(-.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 2 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 2 (*.f64 (/.f64 1/2 (pow.f64 re 3)) (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))) 1/2)
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 2 (pow.f64 re 3)) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))
(*.f64 (pow.f64 im 4) (*.f64 1/2 (/.f64 2 (pow.f64 re 3))))
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 (pow.f64 re 3))))
(*.f64 4 (*.f64 (pow.f64 im 4) (/.f64 1/4 (pow.f64 re 3))))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 1/4 (pow.f64 re 3)) 4))
(*.f64 (pow.f64 im 4) (*.f64 4 (/.f64 1/4 (pow.f64 re 3))))
(*.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 2 (pow.f64 re 3)) 1/2))
(*.f64 (pow.f64 im 4) (*.f64 1/2 (/.f64 2 (pow.f64 re 3))))
(*.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))) -1)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 re 3) 2)) 2)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 4 (pow.f64 im 4)))
(*.f64 4 (*.f64 (pow.f64 im 4) (/.f64 1/4 (pow.f64 re 3))))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 1/4 (pow.f64 re 3)) 4))
(*.f64 (pow.f64 im 4) (*.f64 4 (/.f64 1/4 (pow.f64 re 3))))
(*.f64 (/.f64 -1 (pow.f64 re 3)) (neg.f64 (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2) 2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 4)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) 8)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) 16)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 0)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 4 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 2 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 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 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/2 (*.f64 2 (+.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/4 (*.f64 4 (+.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 2) 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4) 4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8) 8)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8)) 16)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))

eval330.0ms (3%)

Compiler

Compiled 13158 to 10847 computations (17.6% saved)

prune102.0ms (0.9%)

Pruning

17 alts after pruning (6 fresh and 11 done)

PrunedKeptTotal
New4952497
Fresh044
Picked011
Done01010
Total49517512
Error
9.0b
Counts
512 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
47.8b
(*.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))))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re))))
57.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.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))))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
38.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
45.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
48.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
45.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 382 to 317 computations (17% saved)

localize9.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 20 computations (39.4% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite154.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1818×bool.json-1
1818×bool.json-2
1778×rational.json-1
1452×bool.json-3
878×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
110238
230238
373438
4200338
5564338
Stop Event
node limit
Counts
2 → 60
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.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) (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) 2) (/.f64 -1 re)))))) (#(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 (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 -1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 -1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 -1 re) 1/2) 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 -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 (/.f64 (pow.f64 im 2) re) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 2 (*.f64 re -8)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (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 (/.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 1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))))) (#(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/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 re -8)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.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)))))))

simplify176.0ms (1.6%)

Algorithm
egg-herbie
Rules
1580×rational.json-simplify-35
1378×rational.json-simplify-38
1134×rational.json-simplify-53
1032×rational.json-simplify-2
862×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01331836
12801828
25621828
312221828
420491828
541621828
657571828
769031828
875511828
Stop Event
node limit
Counts
96 → 70
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 1))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (+.f64 (*.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) (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) 2) (/.f64 -1 re)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))
(*.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 -1 (/.f64 1 re)))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 -1 re)) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 -1 re) 1/2) 1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) -1))
(*.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 (/.f64 (pow.f64 im 2) re) -2) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re -8)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 2 (*.f64 re -8)) 1))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 -1 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) -1))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 re)))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)
(*.f64 (/.f64 2 (*.f64 re -8)) (*.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))
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))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 1))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.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) (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) 2) (/.f64 -1 re)))
(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 (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 -1 (/.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 (*.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))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 -1 re) 1/2) 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 -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 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 (/.f64 (pow.f64 im 2) re) -2) 1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re -8)))
(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 2 (*.f64 re -8)) 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 (/.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 1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 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/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 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 2 (*.f64 re -8)) (*.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))

localize20.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.5b
(/.f64 -1 (pow.f64 im 2))
8.7b
(/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))
18.9b
(sqrt.f64 (/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2))))
Compiler

Compiled 50 to 39 computations (22% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

15 calls:

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

rewrite71.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1406×bool.json-1
1406×bool.json-2
1372×rational.json-1
1372×rational.json-2
1372×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01367
114555
246951
3131251
4419751
Stop Event
node limit
Counts
3 → 91
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 -1 (pow.f64 im 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(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 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(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 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(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 re (/.f64 2 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 2 (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 1 re) (neg.f64 (/.f64 -1 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 re) (*.f64 2 (/.f64 -1 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re 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 1 re) (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re 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 2 (/.f64 re -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 re) (/.f64 (neg.f64 (pow.f64 im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 re) (*.f64 (neg.f64 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 re) (/.f64 1 (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (/.f64 re -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (/.f64 re (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 2 re)) (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 1 (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re re)) (*.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re re)) (/.f64 (+.f64 re re) (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 re re)) (/.f64 re (*.f64 2 (/.f64 -1 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 re re)) (/.f64 re (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 -2 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 1/2) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re re) (/.f64 -2 (pow.f64 im 2))) (/.f64 1 (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 re re)) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) (neg.f64 (/.f64 -1 (pow.f64 im 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) re)))) (#(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 re (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) (/.f64 2 (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -2 (pow.f64 im 2))) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (/.f64 -2 (pow.f64 im 2))) (/.f64 2 (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) (/.f64 -2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 -2 (pow.f64 im 2))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 re -2))) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 re -1/4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 re -1/4)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4)) (*.f64 2 (/.f64 2 re)))))) (#(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 -1 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 -1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2)))))))

simplify105.0ms (1%)

Algorithm
egg-herbie
Rules
1268×rational.json-simplify-2
904×rational.json-simplify-41
870×rational.json-simplify-44
838×rational.json-simplify-47
712×rational.json-simplify-53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01722607
13602479
28812479
337892479
467852479
Stop Event
node limit
Counts
127 → 106
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 re (/.f64 2 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (/.f64 2 (/.f64 -2 (pow.f64 im 2))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (/.f64 1 re) (neg.f64 (/.f64 -1 (pow.f64 im 2)))))
(*.f64 -1 (/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2))))
(*.f64 2 (/.f64 (/.f64 1 re) (*.f64 2 (/.f64 -1 (pow.f64 im 2)))))
(*.f64 2 (/.f64 re (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))))
(*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 re -2)))
(*.f64 2 (/.f64 (/.f64 1 re) (/.f64 -2 (pow.f64 im 2))))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 (+.f64 re re) (/.f64 1 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 2 (/.f64 re -1/4)))
(*.f64 (/.f64 2 re) (/.f64 (neg.f64 (pow.f64 im 2)) 2))
(*.f64 (/.f64 2 re) (*.f64 (neg.f64 (pow.f64 im 2)) 1/2))
(*.f64 (/.f64 2 re) (/.f64 1 (/.f64 -2 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 2 (*.f64 re -2))))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (/.f64 re -1/4)))
(*.f64 (/.f64 -2 (/.f64 re (pow.f64 im 2))) 1/2)
(*.f64 (*.f64 2 (/.f64 2 re)) (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (+.f64 re re)))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))
(*.f64 (*.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 1 (*.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -1/2)
(*.f64 (/.f64 1 (*.f64 re re)) (*.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (+.f64 re re) (/.f64 -2 (pow.f64 im 2))))
(*.f64 (/.f64 2 (*.f64 re re)) (/.f64 re (*.f64 2 (/.f64 -1 (pow.f64 im 2)))))
(*.f64 (/.f64 2 (*.f64 re re)) (/.f64 re (/.f64 -2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 -2 (/.f64 re (pow.f64 im 2))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (/.f64 2 re))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 1/2) (/.f64 2 re))
(*.f64 (/.f64 (+.f64 re re) (/.f64 -2 (pow.f64 im 2))) (/.f64 1 (*.f64 re re)))
(*.f64 (/.f64 1 (+.f64 re re)) (*.f64 (pow.f64 im 2) -2))
(*.f64 (/.f64 (/.f64 1 re) (neg.f64 (/.f64 -1 (pow.f64 im 2)))) -1)
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2))) -1)
(*.f64 (/.f64 (/.f64 1 re) (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) 2)
(*.f64 (/.f64 1 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) (+.f64 re re))
(*.f64 (/.f64 re (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) 2)
(*.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) 2)
(*.f64 (/.f64 re (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) (/.f64 2 (*.f64 re re)))
(*.f64 (/.f64 1 (/.f64 -2 (pow.f64 im 2))) (/.f64 2 re))
(*.f64 (/.f64 re (/.f64 -2 (pow.f64 im 2))) (/.f64 2 (*.f64 re re)))
(*.f64 (/.f64 (/.f64 1 re) (/.f64 -2 (pow.f64 im 2))) 2)
(*.f64 (/.f64 2 (/.f64 -2 (pow.f64 im 2))) (/.f64 1 re))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 re -2))) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 1 (/.f64 re -1/4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 2 (/.f64 re -1/4)) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4)) (*.f64 2 (/.f64 2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 -1 (pow.f64 im 2)) 0)
(+.f64 0 (/.f64 -1 (pow.f64 im 2)))
(-.f64 (/.f64 -1 (pow.f64 im 2)) 0)
(*.f64 1 (/.f64 -1 (pow.f64 im 2)))
(*.f64 -1 (neg.f64 (/.f64 -1 (pow.f64 im 2))))
(*.f64 2 (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) 1)
(*.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) 1/2)
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4) 1/4)
(*.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))) -1)
(*.f64 1/2 (*.f64 2 (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 -1/2 (pow.f64 im 2)) 2)
(*.f64 1/4 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4))
(neg.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))))
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))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(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 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (*.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 (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 (/.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 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 re (/.f64 2 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 re) (/.f64 2 (/.f64 -2 (pow.f64 im 2))))
(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 (/.f64 1 re) (neg.f64 (/.f64 -1 (pow.f64 im 2)))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (/.f64 (/.f64 1 re) (*.f64 2 (/.f64 -1 (pow.f64 im 2)))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (/.f64 re (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re 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 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 2 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 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 (/.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 (+.f64 re re) (/.f64 1 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re 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 2 (/.f64 re -1/4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 2 re) (/.f64 (neg.f64 (pow.f64 im 2)) 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 2 re) (*.f64 (neg.f64 (pow.f64 im 2)) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 2 re) (/.f64 1 (/.f64 -2 (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 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 2 (*.f64 re -2))))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (pow.f64 im 2) (*.f64 4 (/.f64 -1/4 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (/.f64 re -1/4)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (pow.f64 im 2) (*.f64 4 (/.f64 -1/4 re)))
(*.f64 (/.f64 -2 (/.f64 re (pow.f64 im 2))) 1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (/.f64 2 re)) (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (+.f64 re 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 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 1 (*.f64 re re)))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) -1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 re re)) (*.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (+.f64 re re) (/.f64 -2 (pow.f64 im 2))))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 2 (*.f64 re re)) (/.f64 re (*.f64 2 (/.f64 -1 (pow.f64 im 2)))))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 2 (*.f64 re re)) (/.f64 re (/.f64 -2 (pow.f64 im 2))))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 1/2 (/.f64 -2 (/.f64 re (pow.f64 im 2))))
(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)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (/.f64 2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 1/2) (/.f64 2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (+.f64 re re) (/.f64 -2 (pow.f64 im 2))) (/.f64 1 (*.f64 re re)))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 1 (+.f64 re re)) (*.f64 (pow.f64 im 2) -2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 1 re) (neg.f64 (/.f64 -1 (pow.f64 im 2)))) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2))) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 1 re) (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) (+.f64 re re))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 re (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re)))) re)
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re 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 re (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) (/.f64 2 (*.f64 re re)))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 1 (/.f64 -2 (pow.f64 im 2))) (/.f64 2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 re (/.f64 -2 (pow.f64 im 2))) (/.f64 2 (*.f64 re re)))
(*.f64 re (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 re re))))
(*.f64 re (/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re re)))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re re))))
(*.f64 (/.f64 (/.f64 1 re) (/.f64 -2 (pow.f64 im 2))) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 2 (/.f64 -2 (pow.f64 im 2))) (/.f64 1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 re -2))) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (pow.f64 im 2) (*.f64 4 (/.f64 -1/4 re)))
(*.f64 (/.f64 1 (/.f64 re -1/4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (pow.f64 im 2) (*.f64 4 (/.f64 -1/4 re)))
(*.f64 (/.f64 2 (/.f64 re -1/4)) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4)) (*.f64 2 (/.f64 2 re)))
(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 -1 (pow.f64 im 2)) 0)
(/.f64 -1 (pow.f64 im 2))
(+.f64 0 (/.f64 -1 (pow.f64 im 2)))
(/.f64 -1 (pow.f64 im 2))
(-.f64 (/.f64 -1 (pow.f64 im 2)) 0)
(/.f64 -1 (pow.f64 im 2))
(*.f64 1 (/.f64 -1 (pow.f64 im 2)))
(/.f64 -1 (pow.f64 im 2))
(*.f64 -1 (neg.f64 (/.f64 -1 (pow.f64 im 2))))
(/.f64 -1 (pow.f64 im 2))
(*.f64 2 (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) 1)
(/.f64 -1 (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) 1/2)
(/.f64 -1 (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4) 1/4)
(/.f64 -1 (pow.f64 im 2))
(*.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))) -1)
(/.f64 -1 (pow.f64 im 2))
(*.f64 1/2 (*.f64 2 (/.f64 -1 (pow.f64 im 2))))
(/.f64 -1 (pow.f64 im 2))
(*.f64 (/.f64 -1/2 (pow.f64 im 2)) 2)
(*.f64 2 (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 1/4 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4))
(/.f64 -1 (pow.f64 im 2))
(neg.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))))
(/.f64 -1 (pow.f64 im 2))

localize28.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(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)

series10.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite72.0ms (0.7%)

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
01666
116466
242066
385466
4174866
5430866
Stop Event
node limit
Counts
2 → 20
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))))
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)))))))

simplify436.0ms (4%)

Algorithm
egg-herbie
Rules
3794×rational.json-simplify-53
2790×rational.json-simplify-35
2190×rational.json-simplify-2
1452×rational.json-simplify-1
1074×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0651594
11501594
23251594
37431404
422091404
541681404
644591404
746291404
847681404
949041404
1050401404
1160321404
1260521404
1360711404
1460721404
1560721404
1662081404
1763441404
1864801404
Stop Event
node limit
Counts
44 → 33
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))))
(+.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)
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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 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 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 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 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 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 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 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 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 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 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(+.f64 0 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re 4)))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 0)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 1)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 2)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) re)) 4)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4) 8)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) re) 4)) 16)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))
(/.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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))

localize66.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.7b
(*.f64 (pow.f64 im 2) (/.f64 1 re))
12.5b
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
16.7b
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))
19.2b
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
Compiler

Compiled 141 to 111 computations (21.3% saved)

series3.0ms (0%)

Counts
3 → 60
Calls

18 calls:

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

rewrite103.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1040×rational.json-simplify-35
928×bool.json-1
928×bool.json-2
894×rational.json-1
894×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022139
1220121
2542121
31126121
42739121
57171121
Stop Event
node limit
Counts
3 → 84
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
(*.f64 (pow.f64 im 2) (/.f64 1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.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 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.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 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (+.f64 re re) (neg.f64 (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 4 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 re 4) (neg.f64 (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 4 (/.f64 (pow.f64 im 2) re)) (/.f64 4 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 2 (*.f64 re 4)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 2 (*.f64 re 4)) (neg.f64 (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 (+.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) (/.f64 (/.f64 (pow.f64 im 2) re) 1/4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (*.f64 2 (pow.f64 im 2)))) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (neg.f64 (neg.f64 (pow.f64 im 2)))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) 2) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2 (pow.f64 im 2)))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2 (pow.f64 im 2)))) (neg.f64 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 (pow.f64 im 2)))) (neg.f64 (*.f64 2 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (pow.f64 im 2)))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 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))))))

simplify135.0ms (1.2%)

Algorithm
egg-herbie
Rules
1396×rational.json-simplify-35
1146×rational.json-simplify-51
800×rational.json-simplify-38
778×rational.json-simplify-41
772×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02555132
16815132
219405132
342995102
465715102
Stop Event
node limit
Counts
144 → 125
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (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 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -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 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.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 -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 -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 -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 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2) 2)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 2)
(/.f64 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 4)
(/.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) 16)
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 0)
(*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1/2))
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/4)
(*.f64 1/2 (*.f64 2 (+.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 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1/2) 2)
(*.f64 1/4 (*.f64 4 (+.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 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4) 4)
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8)) 16)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 2 (/.f64 (+.f64 re re) (neg.f64 (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 1 (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 4 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 4 (/.f64 4 (/.f64 (pow.f64 im 2) re)))
(/.f64 4 (/.f64 (*.f64 re 4) (neg.f64 (neg.f64 (pow.f64 im 2)))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 2)
(/.f64 -1 (neg.f64 (/.f64 re (pow.f64 im 2))))
(/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 8 (+.f64 (/.f64 4 (/.f64 (pow.f64 im 2) re)) (/.f64 4 (/.f64 (pow.f64 im 2) re))))
(/.f64 8 (+.f64 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))
(/.f64 8 (/.f64 (*.f64 2 (*.f64 re 4)) (pow.f64 im 2)))
(/.f64 8 (/.f64 (*.f64 2 (*.f64 re 4)) (neg.f64 (neg.f64 (pow.f64 im 2)))))
(/.f64 -2 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 4)
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 (+.f64 re re)) 2))
(/.f64 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 8)
(/.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 re 4)))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) 4)
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1/2)
(/.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 re 2))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))
(/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) re)
(/.f64 (+.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) (/.f64 (/.f64 (pow.f64 im 2) re) 1/4)) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (*.f64 2 (pow.f64 im 2)))) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (neg.f64 re))))
(/.f64 (+.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (neg.f64 (neg.f64 (pow.f64 im 2)))) (+.f64 re re))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/4)
(/.f64 (/.f64 (pow.f64 im 2) 1/2) (+.f64 re re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re) -1)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) 2) (/.f64 re 2))
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (+.f64 re re)) 1/2)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (*.f64 re 4)) 1/4)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) 1/2) (+.f64 re re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 re 4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (pow.f64 im 2)))) (+.f64 re re))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (pow.f64 im 2)))) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (pow.f64 im 2)))) (neg.f64 (*.f64 2 (neg.f64 re))))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (pow.f64 im 2)))) (neg.f64 re))
(neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2))) 1/16)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2))) 1/16)) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3))) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) 1/16))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))
(+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2))) 1/16))) (+.f64 (*.f64 1/8192 (*.f64 (*.f64 (pow.f64 im 7) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1/2) 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3))) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))) (*.f64 1/8192 (*.f64 (pow.f64 im 7) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1/2) 5))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (+.f64 (*.f64 1/8192 (*.f64 (pow.f64 im 7) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1/2) 5))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1/2)) 1/16))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 -1/2) 5))) (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 -1/2) 3)) (*.f64 -1/512 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(*.f64 (sqrt.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 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/8) 3)) (pow.f64 im 2)) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 1/8) 5)) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/8) 3)) (pow.f64 im 2)) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))
(*.f64 (sqrt.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 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/8) 3)) (pow.f64 im 2)) (sqrt.f64 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 1/8) 5)) (sqrt.f64 (pow.f64 re 9))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/8) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/8) 3)) (pow.f64 im 2)) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))))
(*.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 -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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 -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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 2) 2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) 4)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) 8)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (*.f64 2 (*.f64 4 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) 16)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 0)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1/2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 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 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 4 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1/4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/2 (*.f64 2 (+.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1/2) 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 1/4 (*.f64 4 (+.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 4) 4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8) 8)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 8)) 16)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (/.f64 (+.f64 re re) (neg.f64 (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 1 (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (/.f64 4 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (/.f64 (*.f64 re 4) (neg.f64 (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 2)
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (neg.f64 (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 8 (+.f64 (/.f64 4 (/.f64 (pow.f64 im 2) re)) (/.f64 4 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 8 (+.f64 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 8 (/.f64 (*.f64 2 (*.f64 re 4)) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 8 (/.f64 (*.f64 2 (*.f64 re 4)) (neg.f64 (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 (+.f64 re re)) 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 re 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 1/4) (/.f64 (/.f64 (pow.f64 im 2) re) 1/4)) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (*.f64 2 (pow.f64 im 2)))) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 16)
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (neg.f64 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (neg.f64 (neg.f64 (pow.f64 im 2)))) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) 1/2) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) 2) (/.f64 re 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (+.f64 re re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) (*.f64 re 4)) 1/4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (neg.f64 (pow.f64 im 2))) 1/2) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (pow.f64 im 2)))) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (pow.f64 im 2)))) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (pow.f64 im 2)))) (neg.f64 (*.f64 2 (neg.f64 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (neg.f64 (neg.f64 (pow.f64 im 2)))) (neg.f64 re))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(/.f64 (pow.f64 im 2) re)

eval170.0ms (1.6%)

Compiler

Compiled 8291 to 6878 computations (17% saved)

prune66.0ms (0.6%)

Pruning

17 alts after pruning (1 fresh and 16 done)

PrunedKeptTotal
New3830383
Fresh011
Picked011
Done01515
Total38317400
Error
9.0b
Counts
400 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
47.8b
(*.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))))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
47.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) re))))
57.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.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))))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
56.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
38.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
45.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
48.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re))))
45.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 270 to 223 computations (17.4% saved)

regimes201.0ms (1.8%)

Counts
17 → 6
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 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/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))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.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 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1 re)) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.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))))))
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 (neg.f64 im))))
(*.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:

63.0ms
re
50.0ms
im
18.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
17.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
17.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Results
ErrorSegmentsBranch
23.7b7re
23.6b6im
27.3b3(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
27.3b3(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
27.4b3(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
27.4b3(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
31.6b2(*.f64 im im)
Compiler

Compiled 307 to 231 computations (24.8% saved)

bsearch119.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
1.4245379276120634e-30
5.324468932203157e-30
32.0ms
-1.2935264087772132e-300
-4.697620335290232e-302
24.0ms
-8.529904713429094e-188
-6.7373906383911195e-189
27.0ms
-2.7361848561470318e-157
-7.316389572831572e-159
19.0ms
-3.438578120985407e+54
-8.823721141890462e+52
Results
38.0ms323×body256valid
31.0ms61×body4096valid
28.0ms73×body2048valid
9.0ms33×body1024valid
4.0ms22×body512valid
Compiler

Compiled 902 to 703 computations (22.1% saved)

regimes53.0ms (0.5%)

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

33.0ms
re
17.0ms
im
Results
ErrorSegmentsBranch
27.6b5re
26.6b3im
Compiler

Compiled 99 to 77 computations (22.2% saved)

bsearch47.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
9.845210832635609e-8
0.0016205919703442954
25.0ms
-6.01769137839261e-113
-1.1992483595841687e-114
Results
19.0ms167×body256valid
11.0ms29×body2048valid
6.0ms20×body1024valid
5.0ms12×body4096valid
3.0ms12×body512valid
Compiler

Compiled 359 to 293 computations (18.4% saved)

regimes107.0ms (1%)

Counts
3 → 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))))
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 (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:

90.0ms
im
16.0ms
re
Results
ErrorSegmentsBranch
33.0b4re
26.1b5im
Compiler

Compiled 31 to 24 computations (22.6% saved)

bsearch158.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
9.845210832635609e-8
0.0016205919703442954
82.0ms
-8.529904713429094e-188
-6.7373906383911195e-189
27.0ms
-2.7361848561470318e-157
-7.316389572831572e-159
26.0ms
-6.01769137839261e-113
-1.1992483595841687e-114
Results
82.0ms43×body4096valid
34.0ms297×body256valid
23.0ms63×body2048valid
8.0ms28×body1024valid
3.0ms17×body512valid
Compiler

Compiled 618 to 520 computations (15.9% saved)

regimes15.0ms (0.1%)

Accuracy

Total -32.9b remaining (-107.6%)

Threshold costs -32.9b (-107.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:

8.0ms
re
6.0ms
im
Results
ErrorSegmentsBranch
41.3b3re
30.6b2im
Compiler

Compiled 23 to 18 computations (21.7% saved)

bsearch38.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
38.0ms
-3.902493121714647e-307
1.5706302943475863e-307
Results
14.0ms31×body4096valid
10.0ms62×body256valid
8.0ms21×body2048valid
2.0msbody1024valid
2.0msbody512valid
Compiler

Compiled 190 to 160 computations (15.8% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067541
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 im -559999999999999996203731257642511666818556727488675840) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -5935929635354509/494660802946209068121005042039294380070262698202423679828126112185794450213063734340632802122486089979195342852032278678702730068613502419935092310203786335833213544297398272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im -186157565804979/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3136669746631429/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 7421688002070991/1427247692705959881058285969449495136382746624) (*.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 -7624841658832241/1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im 2115620184325601/18889465931478580854784) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -2426085982355713/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -463744502762071/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im -3331240651246993/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 2115620184325601/18889465931478580854784) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -4807053516048627/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (*.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 -559999999999999996203731257642511666818556727488675840) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -5935929635354509/494660802946209068121005042039294380070262698202423679828126112185794450213063734340632802122486089979195342852032278678702730068613502419935092310203786335833213544297398272) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im -186157565804979/4898883310657342436947850401401639604522231782621865961233415550616320366316550245614411808808882209683752589725123921141977824503727074585042721378292777435812376133285876920625254286345394996247527424) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3136669746631429/12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 7421688002070991/1427247692705959881058285969449495136382746624) (*.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 -7624841658832241/1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im 2115620184325601/18889465931478580854784) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -2426085982355713/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -463744502762071/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im -3331240651246993/39191066485258739495582803211213116836177854260974927689867324404930562930532401964915294470471057677470020717800991369135822596029816596680341771026342219486499009066287015365002034290763159969980219392) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 2115620184325601/18889465931478580854784) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -4807053516048627/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (*.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 205 to 150 computations (26.8% saved)

soundness348.0ms (3.2%)

Algorithm
egg-herbie
Rules
1768×rational.json-simplify-35
1768×rational.json-simplify-35
1244×rational.json-simplify-2
1024×rational.json-simplify-53
972×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02845413
16405389
219715345
340695309
02845413
16405389
219715345
340695309
02924371
16634363
217794363
348204363
467684363
575904363
Stop Event
node limit
node limit
node limit
Compiler

Compiled 146 to 116 computations (20.5% saved)

end121.0ms (1.1%)

Compiler

Compiled 197 to 132 computations (33% saved)

Profiling

Loading profile data...