Details

Time bar (total: 15.3s)

analyze160.0ms (1%)

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

Compiled 20 to 14 computations (30% saved)

sample5.1s (33.2%)

Results
3.2s6382×body256valid
1.4s659×body2048valid
296.0ms530×body4096valid
129.0ms435×body1024valid
53.0ms250×body512valid
Bogosity

preprocess110.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02190
12890
23790
37590
437990
5397090
6626590
7736790
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) im))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify109.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
12045
22945
36745
437245
5398245
6628245
7738445
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))

eval0.0ms (0%)

Compiler

Compiled 17 to 12 computations (29.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 17 to 12 computations (29.4% saved)

localize17.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 77 to 19 computations (75.3% saved)

series7.0ms (0%)

Counts
2 → 32
Calls

12 calls:

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

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1522×rational.json-simplify-35
1176×bool.json-1
1176×bool.json-2
1160×rational.json-1
1160×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01362
112662
232362
376862
4287862
Stop Event
node limit
Counts
2 → 28
Calls
Call 1
Inputs
(sqrt.f64 (+.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 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))))))

simplify736.0ms (4.8%)

Algorithm
egg-herbie
Rules
1348×rational.json-simplify-19
948×rational.json-simplify-1
916×rational.json-simplify-35
872×rational.json-simplify-61
840×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01923150
14143134
28083118
316563016
431213016
560253016
668913016
778423016
Stop Event
node limit
Counts
60 → 127
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))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.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 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(-.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 2))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 2) 2)
(/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 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/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 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 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (+.f64 (*.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 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.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 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 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 -1 re)
(*.f64 re -1)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 re -1) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 re -1) (+.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 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 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 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))))))
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/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 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 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (+.f64 (*.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 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.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 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (+.f64 (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 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))))
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (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 -1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 2)) 1/2))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.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 1/2 (*.f64 (pow.f64 re 2) (sqrt.f64 2)))) (*.f64 re (*.f64 -1/2 (sqrt.f64 2))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 2))) (*.f64 (pow.f64 re 2) (*.f64 1/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 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 re -1/2)) (*.f64 1/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 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/4)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 -1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 2)) 1/2))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (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 1/2 (*.f64 (pow.f64 re 2) (sqrt.f64 2)))) (*.f64 re (*.f64 -1/2 (sqrt.f64 2))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 2))) (*.f64 (pow.f64 re 2) (*.f64 1/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) (+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 re -1/2)) (*.f64 1/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) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) -1/16))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (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/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (*.f64 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 1 (sqrt.f64 1/2)) -1/16)) 2))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 re)))) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) -1/16)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (*.f64 1/2 (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (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 (sqrt.f64 2) (*.f64 (*.f64 1/2 (sqrt.f64 re)) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (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 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (*.f64 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 2))))) (*.f64 (pow.f64 im 7) (sqrt.f64 2))) (sqrt.f64 1/2))))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 1 (sqrt.f64 1/2)) -1/16)) 2))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 re))))) (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (/.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 1 (sqrt.f64 1/2)) -1/16)) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 2))))) (sqrt.f64 1/2)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) -1/16)))) (*.f64 (*.f64 1/2 (sqrt.f64 re)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 2))))) (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (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/2 (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7)) (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (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/2 (sqrt.f64 re)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (+.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (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 1/2 (*.f64 (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (+.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 1/2) 2))))) (pow.f64 im 7))))))
(+.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 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(-.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 2))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 2) 2)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) 2)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4) 4)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4)) 8)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 4))) 16)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))

eval148.0ms (1%)

Compiler

Compiled 4606 to 3608 computations (21.7% saved)

prune24.0ms (0.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1216127
Fresh000
Picked101
Done000
Total1226128
Error
0.3b
Counts
128 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
31.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re))))
59.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))
29.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Compiler

Compiled 144 to 122 computations (15.3% saved)

localize9.0ms (0.1%)

Compiler

Compiled 28 to 15 computations (46.4% saved)

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)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 15 computations (28.6% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite97.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify1.4s (9.1%)

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

Useful iterations: 0 (0.0ms)

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

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 46 computations (19.3% saved)

series9.0ms (0.1%)

Counts
4 → 36
Calls

18 calls:

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

rewrite76.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1374×rational.json-simplify-35
1290×bool.json-1
1290×bool.json-2
1254×rational.json-1
1254×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01586
115486
240386
385086
4184686
5437886
Stop Event
node limit
Counts
4 → 48
Calls
Call 1
Inputs
(*.f64 im (sqrt.f64 1/2))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 1/2))) (*.f64 1/2 (*.f64 im (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 1 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 1 re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 1 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (/.f64 1 re)) (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (/.f64 1 re)) (sqrt.f64 (/.f64 1 re)))))))

simplify394.0ms (2.6%)

Algorithm
egg-herbie
Rules
3916×rational.json-simplify-41
2760×rational.json-simplify-35
2754×rational.json-simplify-2
1230×rational.json-simplify-43
1196×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01061848
12431848
25821848
321931848
435601848
541021848
642921848
744471848
845941848
958651848
1060121848
1160121848
1260121848
1361591848
1463061848
1564531848
Stop Event
node limit
Counts
84 → 59
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 im (sqrt.f64 1/2)) 0)
(+.f64 0 (*.f64 im (sqrt.f64 1/2)))
(+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 1/2))) (*.f64 1/2 (*.f64 im (sqrt.f64 1/2))))
(-.f64 (*.f64 im (sqrt.f64 1/2)) 0)
(/.f64 (*.f64 im (sqrt.f64 1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 im im)) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 32)
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 0)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 1)
(/.f64 (*.f64 im (*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 2)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))))) 32)
(+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 0)
(+.f64 0 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 0)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 32)
(+.f64 (sqrt.f64 (/.f64 1 re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(-.f64 (sqrt.f64 (/.f64 1 re)) 0)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(*.f64 1 (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) 1)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 1 re)) 4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 1/4)
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) 2)
(/.f64 (sqrt.f64 (/.f64 1 re)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 32)
Outputs
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (sqrt.f64 1/2)) 0)
(*.f64 (sqrt.f64 1/2) im)
(+.f64 0 (*.f64 im (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) im)
(+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 1/2))) (*.f64 1/2 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) im)
(-.f64 (*.f64 im (sqrt.f64 1/2)) 0)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 im (sqrt.f64 1/2)) 1)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 im im)) 2)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 8)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 16)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 32)
(*.f64 (sqrt.f64 1/2) im)
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 0)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 0)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) 1)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 im (*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 2)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 4)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 8)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 16)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))))) 32)
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 0 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im))) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 4)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 8)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 16)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 32)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (sqrt.f64 (/.f64 1 re)) 0)
(sqrt.f64 (/.f64 1 re))
(+.f64 0 (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 1 re))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(sqrt.f64 (/.f64 1 re))
(-.f64 (sqrt.f64 (/.f64 1 re)) 0)
(sqrt.f64 (/.f64 1 re))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 re))))
(sqrt.f64 (/.f64 1 re))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))
(sqrt.f64 (/.f64 1 re))
(*.f64 1 (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 1 re))
(*.f64 (sqrt.f64 (/.f64 1 re)) 1)
(sqrt.f64 (/.f64 1 re))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 1 re)) 4))
(sqrt.f64 (/.f64 1 re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 re))) 1/2)
(sqrt.f64 (/.f64 1 re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 1/4)
(sqrt.f64 (/.f64 1 re))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) 2)
(sqrt.f64 (/.f64 1 re))
(/.f64 (sqrt.f64 (/.f64 1 re)) 1)
(sqrt.f64 (/.f64 1 re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 re))) 2)
(sqrt.f64 (/.f64 1 re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 4)
(sqrt.f64 (/.f64 1 re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 8)
(sqrt.f64 (/.f64 1 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 16)
(sqrt.f64 (/.f64 1 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 32)
(sqrt.f64 (/.f64 1 re))

eval23.0ms (0.1%)

Compiler

Compiled 1262 to 1102 computations (12.7% saved)

prune14.0ms (0.1%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New68371
Fresh011
Picked011
Done044
Total68977
Error
0.3b
Counts
77 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (/.f64 (*.f64 im (*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 2))
45.5b
(*.f64 1/2 (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))))
45.5b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
31.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re))))
59.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))
29.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Compiler

Compiled 141 to 122 computations (13.5% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 59 to 47 computations (20.3% saved)

series6.0ms (0%)

Counts
3 → 36
Calls

18 calls:

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

rewrite79.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1372×rational.json-simplify-35
1290×bool.json-1
1290×bool.json-2
1254×rational.json-1
1254×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01581
115481
240381
385081
4184281
5437281
Stop Event
node limit
Counts
3 → 30
Calls
Call 1
Inputs
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 im (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 im (sqrt.f64 (/.f64 1 re))))))))

simplify367.0ms (2.4%)

Algorithm
egg-herbie
Rules
3374×rational.json-simplify-35
3200×rational.json-simplify-41
3076×rational.json-simplify-2
990×rational.json-simplify-51
788×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0831782
12021782
24891782
314141782
436921782
543431782
646371782
748771782
850751782
952681782
1052681782
1152681782
1254611782
1356541782
1458471782
1560401782
Stop Event
node limit
Counts
66 → 41
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 0)
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 1/2)))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 0)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 1)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im))) 2)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) 32)
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 0)
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 0)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)))) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))))) 32)
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(/.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 0)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 1/2)))
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 0)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 1)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im))) 2)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)) 4)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))) 8)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) 16)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) 32)
(*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)))) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))) 4)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))) 8)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) 16)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 4)))))) 32)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)
(*.f64 im (sqrt.f64 (/.f64 1 re)))

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 55 to 45 computations (18.2% saved)

series3.0ms (0%)

Counts
3 → 0
Calls

12 calls:

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

rewrite75.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01569
115469
240569
385869
4183369
5437469
Stop Event
node limit
Counts
3 → 30
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 1/2) im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 1/2) im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))))))

simplify398.0ms (2.6%)

Algorithm
egg-herbie
Rules
3872×rational.json-simplify-35
3258×rational.json-simplify-41
2518×rational.json-simplify-2
978×rational.json-simplify-51
628×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077690
1197690
2484690
31442690
43488690
54128690
64401690
74647690
84848690
94848690
105448690
115448690
125646690
135844690
146042690
156240690
166438690
176636690
Stop Event
node limit
Counts
30 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 0)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 1)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))) 2)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 32)
(+.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) im))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im)))
(-.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) im)) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 32)
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 0)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 1)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im)))) 2)
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)
Outputs
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 0)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 0)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) 1)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))) 2)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 4)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 8)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 16)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))))) 32)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(+.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(*.f64 (sqrt.f64 1/2) im)
(+.f64 0 (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) im)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im)))
(*.f64 (sqrt.f64 1/2) im)
(-.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) im)) 2)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))) 8)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) 16)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 im 4))))) 32)
(*.f64 (sqrt.f64 1/2) im)
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 0)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (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)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 0)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) 1)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im)))) 2)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (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)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))

localize44.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 109 to 93 computations (14.7% saved)

series4.0ms (0%)

Counts
2 → 12
Calls

9 calls:

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

rewrite77.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1554×bool.json-1
1554×bool.json-2
1518×rational.json-1
1518×rational.json-2
1518×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01670
116670
244870
3102570
4236370
5538970
Stop Event
node limit
Counts
2 → 16
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (sqrt.f64 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))))))

simplify380.0ms (2.5%)

Algorithm
egg-herbie
Rules
3746×rational.json-simplify-2
3002×rational.json-simplify-35
1690×rational.json-simplify-53
1022×rational.json-simplify-43
1020×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0521076
11271076
22811076
38011076
425261076
535311076
641381076
743731076
845581076
947411076
1066341076
1166471076
1266471076
1368201076
1469931076
1571661076
1673391076
Stop Event
node limit
Counts
28 → 23
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (sqrt.f64 2))) 4)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4) 8)
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4)) 16)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))) 16)
Outputs
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 0)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 0)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))) 1)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 2)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (sqrt.f64 2))) 4)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4) 8)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) 4)) 16)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 0)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 0)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 1)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))) 2)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))) 4)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))) 8)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2)))))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))))))) 16)
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 1/2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 89 to 77 computations (13.5% saved)

series5.0ms (0%)

Counts
3 → 12
Calls

12 calls:

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

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1572×bool.json-1
1572×bool.json-2
1534×rational.json-1
1534×rational.json-2
1534×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016101
1166101
2448101
31011101
42301101
55259101
Stop Event
node limit
Counts
3 → 26
Calls
Call 1
Inputs
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)) (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))))))

simplify336.0ms (2.2%)

Algorithm
egg-herbie
Rules
2942×rational.json-simplify-41
2736×rational.json-simplify-2
2680×rational.json-simplify-35
1078×rational.json-simplify-51
678×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711404
11811404
24591404
313761404
434721404
540731404
642961404
744811404
846331404
947841404
1056401404
1157911404
1257911404
1359421404
1460931404
Stop Event
node limit
Counts
38 → 33
Calls
Call 1
Inputs
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 0)
(+.f64 0 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 0)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 1)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 2)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) 16)
(+.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 1)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)) (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)))
(-.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 1)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 4))) 2)
(/.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) 4)
(/.f64 (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))))) 16)
Outputs
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(+.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 0)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(+.f64 0 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 0)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))) 1)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 2)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)) 4)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) 8)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) 16)
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(+.f64 0 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) 1)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) 2)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) (*.f64 2 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 0)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(+.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)) (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(-.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 0)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) 1)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 4))) 2)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(/.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))) 4)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(/.f64 (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) 8)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8)))) (*.f64 2 (*.f64 im (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) 8))))) 16)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 2) (+.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (+.f64 im im))

eval280.0ms (1.8%)

Compiler

Compiled 7030 to 6202 computations (11.8% saved)

prune49.0ms (0.3%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New2712273
Fresh000
Picked101
Done088
Total27210282
Error
0.3b
Counts
282 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 4))) 2) 2))
45.5b
(*.f64 1/2 (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))))
45.5b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))
31.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re))))
59.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))
29.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Compiler

Compiled 159 to 138 computations (13.2% saved)

localize71.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 60 to 49 computations (18.3% saved)

series3.0ms (0%)

Counts
3 → 24
Calls

15 calls:

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

rewrite93.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1400×rational.json-simplify-35
1334×bool.json-1
1334×bool.json-2
1298×rational.json-1
1298×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01585
115685
241985
389085
4188485
5449885
Stop Event
node limit
Counts
3 → 30
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)))))))

simplify362.0ms (2.4%)

Algorithm
egg-herbie
Rules
3590×rational.json-simplify-35
3322×rational.json-simplify-41
2542×rational.json-simplify-2
1022×rational.json-simplify-51
620×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0851618
12091618
24951618
313961618
433851618
540341618
643561618
746131618
848211618
950241618
1056641618
1156641618
1258671618
1360701618
1462731618
1564761618
Stop Event
node limit
Counts
54 → 39
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 1/2))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 2)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4))))) 32)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))))
(+.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 1/2)))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 1)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 2)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4))))) 32)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (+.f64 im im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4))))) 32)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 0)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 1/2))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 0)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) 1)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 2)) 2)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)) 4)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4))) 8)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)))) 16)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) 4))))) 32)
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im))) 1)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (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 1/2) (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 2))) 2)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (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 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)) 4)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4))) 8)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)))) 16)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) (*.f64 (sqrt.f64 2) 4))))) 32)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (*.f64 1/2 im))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) im)) 1)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (+.f64 im im))) 2)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)) 4)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4))) 8)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)))) 16)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 1/2) im) 4))))) 32)
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))

localize109.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

Compiled 103 to 88 computations (14.6% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

9 calls:

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

rewrite285.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1582×bool.json-1
1582×bool.json-2
1544×rational.json-1
1544×rational.json-2
1544×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01760
117560
246260
3103260
4239560
5536860
Stop Event
node limit
Counts
2 → 16
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 im 4))
(*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (*.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 im 8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 im 16)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16))) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sqrt.f64 2) (*.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sqrt.f64 2) (*.f64 im 4)) (*.f64 (sqrt.f64 2) (*.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (*.f64 im 4)) (*.f64 (sqrt.f64 2) (*.f64 im 4)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) 8)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))))))))

simplify552.0ms (3.6%)

Algorithm
egg-herbie
Rules
4118×rational.json-simplify-2
3756×rational.json-simplify-35
1856×rational.json-simplify-53
1120×rational.json-simplify-1
750×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0561200
11391200
23431200
39101200
422041200
531791200
639261200
742271200
844641200
944641200
1061971200
1162001200
1262001200
1364331200
1466661200
1568991200
1671321200
1773651200
1875981200
1975981200
Stop Event
node limit
Counts
40 → 24
Calls
Call 1
Inputs
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 im 4)))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 0)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 1)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 im 8)) 2)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 im 16)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16))) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16)))) 16)
(+.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 0)
(+.f64 0 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))))
(-.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 0)
(/.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 1)
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) 8)))) 2)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16))) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16)))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16))))) 16)
Outputs
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 0)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(+.f64 0 (*.f64 (sqrt.f64 2) (*.f64 im 4)))
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(-.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 0)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 im 4)) 1)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 im 8)) 2)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 im 16)) 4)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16))) 8)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16))) (*.f64 2 (*.f64 (sqrt.f64 2) (*.f64 im 16)))) 16)
(*.f64 4 (*.f64 (sqrt.f64 2) im))
(*.f64 (sqrt.f64 2) (*.f64 4 im))
(+.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 0)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(+.f64 0 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))))
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 0)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) im))) 1)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) 8)))) 2)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16))) 4)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16)))) 8)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (*.f64 im 16))))) 16)
(*.f64 4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 4 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 1/2)) (*.f64 4 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 4 (sqrt.f64 (/.f64 1 re))))

eval111.0ms (0.7%)

Compiler

Compiled 2338 to 2097 computations (10.3% saved)

prune20.0ms (0.1%)

Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New1091110
Fresh000
Picked101
Done099
Total11010120
Error
0.3b
Counts
120 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (+.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2)))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (sqrt.f64 2))))))
45.5b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
45.5b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))
31.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re))))
59.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))
29.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Compiler

Compiled 153 to 132 computations (13.7% saved)

regimes480.0ms (3.1%)

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

7 calls:

166.0ms
(*.f64 im im)
164.0ms
re
86.0ms
im
17.0ms
(-.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))
Results
ErrorSegmentsBranch
12.2b3re
18.8b4im
15.9b3(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
15.9b3(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
15.9b4(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
15.9b4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
18.8b4(*.f64 im im)
Compiler

Compiled 257 to 203 computations (21% saved)

bsearch53.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
5.18319010459763e-31
4.623218992954547e-24
21.0ms
-1.108430261323739e-11
-1.4422788139567977e-16
Results
29.0ms228×body256valid
12.0ms33×body2048valid
6.0ms21×body1024valid
1.0msbody512valid
Compiler

Compiled 481 to 403 computations (16.2% saved)

regimes313.0ms (2%)

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

7 calls:

179.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
17.0ms
re
16.0ms
im
12.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
11.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
12.2b3re
18.8b4im
15.9b3(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
15.9b3(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
15.9b4(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
15.9b4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
18.8b4(*.f64 im im)
Compiler

Compiled 132 to 94 computations (28.8% saved)

bsearch52.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
5.18319010459763e-31
4.623218992954547e-24
21.0ms
-1.108430261323739e-11
-1.4422788139567977e-16
Results
27.0ms232×body256valid
12.0ms33×body2048valid
5.0ms17×body1024valid
1.0msbody512valid
Compiler

Compiled 481 to 403 computations (16.2% saved)

regimes323.0ms (2.1%)

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

7 calls:

198.0ms
im
76.0ms
(*.f64 im im)
15.0ms
re
13.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
8.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
20.1b4re
22.1b5im
23.0b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
23.0b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
23.0b3(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
23.0b3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
23.3b3(*.f64 im im)
Compiler

Compiled 118 to 82 computations (30.5% saved)

bsearch120.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.1202712562621723e+197
1.5426409355625848e+198
67.0ms
-1.308358166860407e-145
-7.361902555159481e-150
19.0ms
-8.910023373446387e+110
-1.1071269293989261e+105
Results
84.0ms290×body256valid
16.0ms34×body4096valid
9.0ms23×body2048valid
5.0ms17×body1024valid
1.0msbody512valid
Compiler

Compiled 642 to 507 computations (21% saved)

regimes31.0ms (0.2%)

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

2 calls:

18.0ms
im
12.0ms
re
Results
ErrorSegmentsBranch
21.1b3re
24.1b4im
Compiler

Compiled 40 to 31 computations (22.5% saved)

bsearch97.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
8.584013814721165e+167
1.6584497103387124e+180
37.0ms
-1.108430261323739e-11
-1.4422788139567977e-16
Results
39.0ms182×body256valid
29.0ms55×body4096valid
15.0ms39×body2048valid
6.0ms22×body1024valid
4.0msbody512valid
Compiler

Compiled 449 to 367 computations (18.3% saved)

regimes19.0ms (0.1%)

Accuracy

Total -35.7b remaining (-132.4%)

Threshold costs -35.7b (-132.4%)

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

2 calls:

10.0ms
re
8.0ms
im
Results
ErrorSegmentsBranch
27.0b2re
27.8b2im
Compiler

Compiled 24 to 18 computations (25% saved)

bsearch304.0ms (2%)

Algorithm
binary-search
Steps
TimeLeftRight
303.0ms
8.584013814721165e+167
1.6584497103387124e+180
Results
265.0ms41×body2048valid
21.0ms39×body4096valid
8.0ms26×body1024valid
5.0ms45×body256valid
2.0msbody512valid
Compiler

Compiled 242 to 196 computations (19% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077534
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -1188422437713965/79228162514264337593543950336) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re 5226737155905615/43556142965880123323311949751266331066368) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))))
(if (<=.f64 re -6684876212141053/1237940039285380274899124224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re 7404544304199621/5444517870735015415413993718908291383296) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2))))))
(if (<=.f64 re -75000000000000005809181940610389582650311205433472411260856733478338646397064781463965700849893738337533952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re -6334470622716821/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 re 270000000000000003406751240783320399491138787216672454935382694015232416523878216711127718659285771757416832905127910083879149282968074043081769171656565489379299232991937223265712600138223422799872) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re)))))))
(if (<=.f64 re -5570730176784211/2475880078570760549798248448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re 750000000000000006936409514918698833424657756243159961930641041475054879281088791981341181481876654902061407783255741857770348564663598424280406747485469034524958727279878567100416) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))))
(if (<=.f64 re 269999999999999981766112660115682648041915348830533180623466453795787911212910286517935253599259489334602625235242997321961769284014610704997256445377035885477747188394081239695360) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Outputs
(if (<=.f64 re -1188422437713965/79228162514264337593543950336) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re 5226737155905615/43556142965880123323311949751266331066368) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)))))))
(if (<=.f64 re -6684876212141053/1237940039285380274899124224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re 7404544304199621/5444517870735015415413993718908291383296) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 2))))))
(if (<=.f64 re -75000000000000005809181940610389582650311205433472411260856733478338646397064781463965700849893738337533952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re -6334470622716821/115172193140305827399949785796761135587064246228529065807379342658863042065190089480167441564259605943037975312218134915154131611020654072038617988630148194691448832) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 re 270000000000000003406751240783320399491138787216672454935382694015232416523878216711127718659285771757416832905127910083879149282968074043081769171656565489379299232991937223265712600138223422799872) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re)))))))
(if (<=.f64 re -5570730176784211/2475880078570760549798248448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (neg.f64 re) re)))) (if (<=.f64 re 750000000000000006936409514918698833424657756243159961930641041475054879281088791981341181481876654902061407783255741857770348564663598424280406747485469034524958727279878567100416) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))))
(if (<=.f64 re 269999999999999981766112660115682648041915348830533180623466453795787911212910286517935253599259489334602625235242997321961769284014610704997256445377035885477747188394081239695360) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
Compiler

Compiled 202 to 158 computations (21.8% saved)

soundness1.0s (6.8%)

Algorithm
egg-herbie
Rules
3916×rational.json-simplify-41
3374×rational.json-simplify-35
3200×rational.json-simplify-41
3076×rational.json-simplify-2
2760×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01923150
14143134
28083118
316563016
431213016
560253016
668913016
778423016
01923150
14143134
28083118
316563016
431213016
560253016
668913016
778423016
01061848
12431848
25821848
321931848
435601848
541021848
642921848
744471848
845941848
958651848
1060121848
1160121848
1260121848
1361591848
1463061848
1564531848
0831782
12021782
24891782
314141782
436921782
543431782
646371782
748771782
850751782
952681782
1052681782
1152681782
1254611782
1356541782
1458471782
1560401782
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 317 to 271 computations (14.5% saved)

end84.0ms (0.5%)

Compiler

Compiled 192 to 136 computations (29.2% saved)

Profiling

Loading profile data...