Details

Time bar (total: 8.4s)

analyze191.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
18.8%18.7%81.2%0.1%0%0%0%5
34.4%34.3%65.6%0.1%0%0%0%6
54.7%54.6%45.3%0.1%0%0%0%7
64.8%64.8%35.1%0.1%0%0%0%8
76.2%76.1%23.8%0.1%0%0%0%9
81.8%81.8%18.1%0.1%0%0%0%10
87.8%87.7%12.2%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample4.7s (55.8%)

Results
4.7s8256×body256valid
Bogosity

preprocess373.0ms (4.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
12254
23654
35454
49554
519954
671654
7420754
022
122
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))))
Outputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Symmetry

(sort re im)

Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify453.0ms (5.4%)

Algorithm
egg-herbie
Rules
996×rational_best-simplify-56
884×rational_best-simplify-63
648×rational_best-simplify-62
630×rational_best-simplify-49
578×rational_best-simplify-64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01027
11827
23127
34727
47827
515327
649127
7250827
8737527
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Outputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))

eval1.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 11 to 7 computations (36.4% saved)

localize36.0ms (0.4%)

Local error

Found 2 expressions with local error:

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

Compiled 34 to 7 computations (79.4% saved)

series22.0ms (0.3%)

Counts
2 → 48
Calls

12 calls:

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

rewrite459.0ms (5.5%)

Algorithm
batch-egg-rewrite
Rules
772×rational_best-simplify-47
682×rational_best-simplify-52
644×rational_best-simplify-48
570×rational_best-4
570×rational_best-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0942
16142
213842
341142
4149642
Stop Event
node limit
Counts
2 → 109
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 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (+.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 4))))) (#(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 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (*.f64 -2 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1/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))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re re) (-.f64 (*.f64 im im) (*.f64 im (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re re) (+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (*.f64 re (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (+.f64 (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (*.f64 re re) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 -2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 re re)) (-.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 re re)) (+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 re re)) (+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (*.f64 re re) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 im im)) (-.f64 (*.f64 im im) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re re) (*.f64 im (*.f64 -2 im))) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (-.f64 (/.f64 (*.f64 re re) -2) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (+.f64 (/.f64 (*.f64 re re) -2) (*.f64 im (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 -3 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (-.f64 (/.f64 (*.f64 im im) -2) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (+.f64 (/.f64 (*.f64 im im) -2) (*.f64 re (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (+.f64 (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im)) (/.f64 (*.f64 im im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (+.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 -3 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (/.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re (+.f64 re re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 re (*.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (-.f64 (*.f64 im (neg.f64 im)) (fabs.f64 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (-.f64 (*.f64 re (neg.f64 re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 im im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im im) (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 re re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (*.f64 re re) 2)) (+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 re re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (/.f64 (*.f64 -3 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (*.f64 im im) 2)) (+.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (/.f64 (*.f64 im im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 re re) 0) (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 -2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 im im) 2) (-.f64 (*.f64 im im) (*.f64 re re))) (*.f64 -3 (/.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 im im) 2) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im))) (/.f64 (*.f64 im im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 re (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 re re) 2) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 -3 (/.f64 (*.f64 re re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 3 (/.f64 (*.f64 re re) 2)) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 3 (/.f64 (*.f64 im im) 2)) (-.f64 (*.f64 im im) (*.f64 re re))) (/.f64 (*.f64 im im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2)) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 4) (/.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 -3 (/.f64 (*.f64 re re) 2))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2) (*.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 re (neg.f64 re))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 im (neg.f64 im))) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (*.f64 im (neg.f64 im))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) (-.f64 (/.f64 (*.f64 im im) -2) (fabs.f64 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) (-.f64 (/.f64 (*.f64 re re) -2) (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im im) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 re re))) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 im im) 2) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2)) (/.f64 (*.f64 re re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1/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 im (neg.f64 im)) (*.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re (*.f64 2 (*.f64 re 4))) (*.f64 im (*.f64 2 (*.f64 im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 re 4) (*.f64 re 4)) (*.f64 (*.f64 im 4) (*.f64 im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 im 4))) (*.f64 re (*.f64 2 (*.f64 re 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 im 4) (*.f64 im 4)) (*.f64 (*.f64 re 4) (*.f64 re 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im (*.f64 im 4)) (neg.f64 (*.f64 re (*.f64 re 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re (*.f64 re 4)) (neg.f64 (*.f64 im (*.f64 im 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im (*.f64 im 4)) (*.f64 2 (-.f64 (*.f64 im im) (*.f64 re re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re re)))))))

simplify419.0ms (5%)

Algorithm
egg-herbie
Rules
804×rational_best-simplify-47
610×rational_best-simplify-65
592×rational_best-simplify-50
574×rational_best-simplify-108
558×rational_best-simplify-57
Iterations

Useful iterations: 2 (0.0ms)

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

eval167.0ms (2%)

Compiler

Compiled 3404 to 1748 computations (48.6% saved)

prune104.0ms (1.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1802182
Fresh000
Picked011
Done000
Total1803183
Error
0.1b
Counts
183 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
30.9b
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
31.1b
(log.f64 (neg.f64 re))
30.0b
(log.f64 im)
Compiler

Compiled 20 to 14 computations (30% saved)

localize23.0ms (0.3%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize9.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Error
0.1b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
30.9b
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
31.1b
(log.f64 (neg.f64 re))
30.0b
(log.f64 im)
Compiler

Compiled 20 to 14 computations (30% saved)

regimes392.0ms (4.7%)

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

7 calls:

87.0ms
(*.f64 re re)
75.0ms
re
62.0ms
im
56.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
54.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
5.5b3re
5.9b3im
13.5b3(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
13.5b3(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
13.5b3(+.f64 (*.f64 re re) (*.f64 im im))
8.6b9(*.f64 re re)
9.5b3(*.f64 im im)
Compiler

Compiled 62 to 38 computations (38.7% saved)

bsearch73.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
-1.1147026975224274e-155
-3.178455054508157e-162
29.0ms
-5.567025201741013e+77
-3.4373768174691414e+77
Results
69.0ms208×body256valid
Compiler

Compiled 241 to 171 computations (29% saved)

regimes156.0ms (1.9%)

Accuracy

Total -54.9b remaining (-893.7%)

Threshold costs -54.9b (-893.7%)

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

2 calls:

100.0ms
im
54.0ms
re
Results
ErrorSegmentsBranch
6.1b4re
6.7b6im
Compiler

Compiled 13 to 9 computations (30.8% saved)

bsearch199.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
-7.1824134163481915e-177
-1.235142633286524e-179
105.0ms
-2.540438104245428e-111
-1.6555508343443525e-116
35.0ms
-9.154262481408846e-46
-2.0052009546113512e-47
Results
191.0ms384×body256valid
Compiler

Compiled 280 to 227 computations (18.9% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031119
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -440000000000000007850954824126484414892925723216830933450639269273180296970240) (log.f64 (neg.f64 re)) (if (<=.f64 re -3153462618782083/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 im)))
(if (<=.f64 re -6813417307658119/12855504354071922204335696738729300820177623950262342682411008) (log.f64 (neg.f64 re)) (if (<=.f64 re -3460291778262777/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (log.f64 im) (if (<=.f64 re -8098332096279397/1140610154405548804660292901425072831223307126812139982644798129474818791802169346626478202829342849944660577393398601827672176180343859499563165329930553547062998668590066237520718548061650944) (log.f64 (neg.f64 re)) (log.f64 im))))
(log.f64 im)
Outputs
(if (<=.f64 re -440000000000000007850954824126484414892925723216830933450639269273180296970240) (log.f64 (neg.f64 re)) (if (<=.f64 re -3153462618782083/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 im)))
(if (<=.f64 re -6813417307658119/12855504354071922204335696738729300820177623950262342682411008) (log.f64 (neg.f64 re)) (if (<=.f64 re -3460291778262777/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (log.f64 im) (if (<=.f64 re -8098332096279397/1140610154405548804660292901425072831223307126812139982644798129474818791802169346626478202829342849944660577393398601827672176180343859499563165329930553547062998668590066237520718548061650944) (log.f64 (neg.f64 re)) (log.f64 im))))
(log.f64 im)
Compiler

Compiled 52 to 33 computations (36.5% saved)

soundness479.0ms (5.7%)

Algorithm
egg-herbie
Rules
804×rational_best-simplify-47
610×rational_best-simplify-65
592×rational_best-simplify-50
574×rational_best-simplify-108
558×rational_best-simplify-57
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03294543
19184447
222984023
Stop Event
node limit
Compiler

Compiled 13 to 10 computations (23.1% saved)

end157.0ms (1.9%)

Compiler

Compiled 96 to 57 computations (40.6% saved)

Profiling

Loading profile data...