Details

Time bar (total: 2.5s)

analyze58.0ms (2.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
56.3%56.2%43.7%0.1%0%0%0%7
65.6%65.6%34.3%0.1%0%0%0%8
76.6%76.5%23.4%0.1%0%0%0%9
82%82%18%0.1%0%0%0%10
87.9%87.8%12.1%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample777.0ms (30.7%)

Results
767.0ms8256×body256valid
Bogosity

preprocess115.0ms (4.6%)

Algorithm
egg-herbie
Rules
1100×rational.json-simplify-2
932×rational.json-simplify-44
902×rational.json-simplify-37
836×rational.json-simplify-39
824×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
11346
22246
36046
436446
5397846
6625546
7736846
022
122
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re)))
Outputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re)))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Symmetry

(sort re im)

Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify115.0ms (4.5%)

Algorithm
egg-herbie
Rules
1086×rational.json-simplify-2
926×rational.json-simplify-44
902×rational.json-simplify-37
840×rational.json-simplify-39
832×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11223
22123
35923
436423
5396923
6626723
7736223
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Outputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))

eval0.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 10 to 6 computations (40% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 6 computations (76% saved)

series3.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite84.0ms (3.3%)

Algorithm
batch-egg-rewrite
Rules
2072×rational.json-1
2072×rational.json-2
2072×rational.json-3
1274×rational.json-simplify-35
850×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0942
15942
213642
338542
4191042
5659842
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(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 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (fabs.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))

simplify75.0ms (3%)

Algorithm
egg-herbie
Rules
1948×rational.json-simplify-35
996×rational.json-simplify-2
950×rational.json-simplify-43
902×rational.json-simplify-41
738×rational.json-simplify-40
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01792590
14452574
217242574
347392574
Stop Event
node limit
Counts
106 → 115
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))))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 1 (fabs.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (fabs.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
Outputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -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/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 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/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 re)
(*.f64 re -1)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 re -1) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 re -1)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (*.f64 (/.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 6) (pow.f64 re 5)) -1/16))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -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/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (+.f64 (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(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 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (fabs.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im)) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (fabs.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 (/.f64 1 im) im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))

eval28.0ms (1.1%)

Compiler

Compiled 2301 to 1069 computations (53.5% saved)

prune17.0ms (0.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1123115
Fresh000
Picked011
Done000
Total1124116
Error
0.6b
Counts
116 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
37.2b
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
32.2b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
28.9b
(neg.f64 re)
34.1b
im
Compiler

Compiled 39 to 28 computations (28.2% saved)

localize2.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize31.0ms (1.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
8.2b
(/.f64 (pow.f64 im 2) re)
15.4b
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
17.0b
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
Compiler

Compiled 80 to 56 computations (30% saved)

series8.0ms (0.3%)

Counts
3 → 24
Calls

18 calls:

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

rewrite108.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
1828×rational.json-1
1828×rational.json-2
1234×rational.json-simplify-2
1124×rational.json-4
1124×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02091
113891
230091
370491
4200991
5451691
6757691
Stop Event
node limit
Counts
3 → 95
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2) (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 1/2 (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (*.f64 (pow.f64 im 4) 2)) (*.f64 1/4 (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 -1 (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 4 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 re 3)) (neg.f64 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 32 (*.f64 (pow.f64 (/.f64 im 2) 4) (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 im im) 4) (pow.f64 (+.f64 im im) 4)) (*.f64 1/16 (/.f64 1/2 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (-.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (-.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (/.f64 (pow.f64 im 2) re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (/.f64 (/.f64 (pow.f64 im 2) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (pow.f64 im 2) re) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (neg.f64 (pow.f64 im 2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1 re) 1/2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (neg.f64 (pow.f64 im 2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 2)) (/.f64 1 (*.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 1/4 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 re)) (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 4 re)) (*.f64 4 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))))))

simplify121.0ms (4.8%)

Algorithm
egg-herbie
Rules
1576×rational.json-simplify-35
906×rational.json-simplify-2
884×rational.json-simplify-61
838×rational.json-simplify-46
770×rational.json-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02083333
14493333
29053333
318893333
437893333
563663333
Stop Event
node limit
Counts
119 → 123
Calls
Call 1
Inputs
(*.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 -1/2 (/.f64 (pow.f64 im 2) re))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re))))
(*.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 -1/2 (/.f64 (pow.f64 im 2) re))))
(*.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 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(+.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3)))))
(+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))))
(+.f64 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2) (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2))
(-.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(-.f64 0 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3))))
(*.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)
(*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (pow.f64 im 4)))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) 2)))
(*.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(*.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3)))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1/2 (pow.f64 re 3))))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))) 1/2)
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 (pow.f64 re 3))))
(*.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 1/2 (/.f64 1/2 (pow.f64 re 3))))
(*.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 (pow.f64 re 3)))
(*.f64 (*.f64 4 (*.f64 (pow.f64 im 4) 2)) (*.f64 1/4 (/.f64 1/2 (pow.f64 re 3))))
(*.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 im 4) 2))
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))
(*.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 -1 (/.f64 1/2 (pow.f64 re 3))))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 im 4)))
(*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (*.f64 (pow.f64 im 4) 2))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))) -1)
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))) 2)
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2) 2)
(*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 4 (pow.f64 im 4)))
(*.f64 (/.f64 -1 (pow.f64 re 3)) (neg.f64 (pow.f64 im 4)))
(*.f64 32 (*.f64 (pow.f64 (/.f64 im 2) 4) (/.f64 1/2 (pow.f64 re 3))))
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 4) (pow.f64 (+.f64 im im) 4)) (*.f64 1/16 (/.f64 1/2 (pow.f64 re 3))))
(pow.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)
(neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 0)
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (-.f64 1 re))) 1)
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (-.f64 1 re))) 1)
(-.f64 (+.f64 (-.f64 1 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1)
(*.f64 2 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 2))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))))
(*.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 2) 2)
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 4)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))))) 16)
(pow.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(+.f64 -1 (-.f64 (/.f64 (pow.f64 im 2) re) -1))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(+.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) re) -1) -1)
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(-.f64 0 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1/2 re)))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 1 re) 1/2) (pow.f64 im 2)))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 2 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) 1/2))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1/2 re)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(*.f64 (*.f64 4 (pow.f64 im 2)) (/.f64 1 (*.f64 4 re)))
(*.f64 (*.f64 4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 1/2 re)))
(*.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re) -1)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(*.f64 (*.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 1/4 (/.f64 1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1 (/.f64 1/2 re)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 1/2 re)))
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) 2)
(*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 4 (pow.f64 im 2)))
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 1/2 re)))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
Outputs
(*.f64 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (neg.f64 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) (/.f64 -1/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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (neg.f64 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) (/.f64 -1/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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (neg.f64 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) (/.f64 -1/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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3)))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(+.f64 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2) (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(-.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(-.f64 0 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 2 (*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) 2)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))) 1/2)
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 2 (pow.f64 re 3)) 1/2))
(*.f64 (pow.f64 im 4) (*.f64 1/2 (/.f64 2 (pow.f64 re 3))))
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 1/2 (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 (pow.f64 re 3)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 4 (*.f64 (pow.f64 im 4) 2)) (*.f64 1/4 (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 re 3))))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 2 (pow.f64 re 3)) 1/2))
(*.f64 (pow.f64 im 4) (*.f64 1/2 (/.f64 2 (pow.f64 re 3))))
(*.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 -1 (/.f64 1/2 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/2) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))) -1)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 1/2 (pow.f64 re 3))) 2)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 2) 2)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 1 (*.f64 4 (pow.f64 re 3))) (*.f64 4 (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 (/.f64 -1 (pow.f64 re 3)) (neg.f64 (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(*.f64 32 (*.f64 (pow.f64 (/.f64 im 2) 4) (/.f64 1/2 (pow.f64 re 3))))
(*.f64 32 (*.f64 (/.f64 1/2 (pow.f64 re 3)) (pow.f64 (/.f64 im 2) 4)))
(*.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 (pow.f64 (/.f64 im 2) 4) 32))
(*.f64 (/.f64 1/2 (pow.f64 re 3)) (*.f64 32 (pow.f64 (/.f64 im 2) 4)))
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 4) (pow.f64 (+.f64 im im) 4)) (*.f64 1/16 (/.f64 1/2 (pow.f64 re 3))))
(*.f64 1/8 (*.f64 (/.f64 1/2 (pow.f64 re 3)) (pow.f64 (+.f64 im im) 4)))
(*.f64 (pow.f64 (+.f64 im im) 4) (*.f64 1/8 (/.f64 1/2 (pow.f64 re 3))))
(pow.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 re 3))))
(/.f64 (pow.f64 im 4) (pow.f64 re 3))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 0)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (-.f64 1 re))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (-.f64 1 re))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (+.f64 (-.f64 1 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 2 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 1/2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 (/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 2) 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(/.f64 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))) 4)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))))) 8)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))))) 16)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(pow.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (neg.f64 re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (neg.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 (neg.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(+.f64 -1 (-.f64 (/.f64 (pow.f64 im 2) re) -1))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(/.f64 (pow.f64 im 2) re)
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) re) -1) -1)
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(-.f64 0 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (*.f64 (/.f64 1 re) 1/2) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 4 (pow.f64 im 2)) (/.f64 1 (*.f64 4 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 4 (pow.f64 im 2)) (*.f64 1/2 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 1/4 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 1/2 re)))
(*.f64 (pow.f64 (/.f64 im 2) 2) (*.f64 (/.f64 1/2 re) 8))
(*.f64 8 (*.f64 (/.f64 1/2 re) (pow.f64 (/.f64 im 2) 2)))
(*.f64 (/.f64 1/2 re) (*.f64 8 (pow.f64 (/.f64 im 2) 2)))
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 4 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 1/2 re)))
(*.f64 1/2 (*.f64 (/.f64 1/2 re) (pow.f64 (+.f64 im im) 2)))
(*.f64 (pow.f64 (+.f64 im im) 2) (*.f64 1/2 (/.f64 1/2 re)))
(*.f64 (*.f64 1/2 (/.f64 1/2 re)) (pow.f64 (+.f64 im im) 2))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(/.f64 (pow.f64 im 2) re)

eval50.0ms (2%)

Compiler

Compiled 2883 to 2149 computations (25.5% saved)

prune17.0ms (0.7%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1230123
Fresh011
Picked011
Done022
Total1234127
Error
0.6b
Counts
127 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
37.2b
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
32.2b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
28.9b
(neg.f64 re)
34.1b
im
Compiler

Compiled 39 to 28 computations (28.2% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.6b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
37.2b
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
32.2b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
28.9b
(neg.f64 re)
34.1b
im
Compiler

Compiled 39 to 28 computations (28.2% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.6b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
37.2b
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
32.2b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
28.9b
(neg.f64 re)
34.1b
im
Compiler

Compiled 39 to 28 computations (28.2% saved)

regimes59.0ms (2.3%)

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

6 calls:

14.0ms
re
10.0ms
im
10.0ms
(*.f64 re re)
9.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
8.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Results
ErrorSegmentsBranch
7.1b3re
6.8b3im
15.7b3(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
15.7b3(+.f64 (*.f64 re re) (*.f64 im im))
10.9b3(*.f64 re re)
11.2b3(*.f64 im im)
Compiler

Compiled 68 to 42 computations (38.2% saved)

bsearch24.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
1.980710341146088e+83
6.876979454921558e+90
10.0ms
6.935227444688565e-133
2.6993847816500077e-132
Results
20.0ms224×body256valid
Compiler

Compiled 230 to 155 computations (32.6% saved)

regimes80.0ms (3.1%)

Accuracy

Total -53.0b remaining (-603.5%)

Threshold costs -53.0b (-603.5%)

Counts
2 → 4
Calls
Call 1
Inputs
im
(neg.f64 re)
Outputs
(neg.f64 re)
im
(neg.f64 re)
im
Calls

2 calls:

71.0ms
im
8.0ms
re
Results
ErrorSegmentsBranch
9.2b2re
8.8b4im
Compiler

Compiled 11 to 7 computations (36.4% saved)

bsearch543.0ms (21.4%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
0.012040259039216966
0.04762721390309955
6.0ms
2.820063568571251e-33
4.2751411526142364e-33
529.0ms
7.174842090862157e-84
7.563314317552312e-81
Results
540.0ms272×body256valid
Compiler

Compiled 168 to 129 computations (23.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02887
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 im 5498273286700551/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (neg.f64 re) (if (<=.f64 im 6199999999999999769585856406712860890249945764735421115882188623308991819755191853710835712) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) im))
(if (<=.f64 im 1922388332328819/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) (neg.f64 re) (if (<=.f64 im 5553706221857431/1461501637330902918203684832716283019655932542976) im (if (<=.f64 im 8070450532247929/576460752303423488) (neg.f64 re) im)))
im
Outputs
(if (<=.f64 im 5498273286700551/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) (neg.f64 re) (if (<=.f64 im 6199999999999999769585856406712860890249945764735421115882188623308991819755191853710835712) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) im))
(if (<=.f64 im 1922388332328819/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) (neg.f64 re) (if (<=.f64 im 5553706221857431/1461501637330902918203684832716283019655932542976) im (if (<=.f64 im 8070450532247929/576460752303423488) (neg.f64 re) im)))
im
Compiler

Compiled 44 to 27 computations (38.6% saved)

soundness122.0ms (4.8%)

Algorithm
egg-herbie
Rules
1948×rational.json-simplify-35
996×rational.json-simplify-2
950×rational.json-simplify-43
902×rational.json-simplify-41
738×rational.json-simplify-40
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01792590
14452574
217242574
347392574
Stop Event
node limit
Compiler

Compiled 10 to 7 computations (30% saved)

end84.0ms (3.3%)

Compiler

Compiled 82 to 48 computations (41.5% saved)

Profiling

Loading profile data...