Details

Time bar (total: 14.5s)

analyze301.0ms (2.1%)

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
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
55.2%50%40.6%0.1%9.4%0%0%7
56.1%50%39%0.1%10.9%0%0%8
59.8%50%33.6%0.1%16.4%0%0%9
60.7%50%32.4%0.1%17.6%0%0%10
62.9%50%29.5%0.1%20.5%0%0%11
63.4%50%28.8%0.1%21.2%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample7.1s (49.3%)

Results
1.8s1992×body1024valid
1.6s2109×body1024infinite
1.6s5267×body256valid
971.0ms991×body512valid
687.0ms1035×body512infinite
549.0ms1684×body256infinite
5.0msbody2048valid
1.0msbody2048infinite
Bogosity

preprocess88.0ms (0.6%)

Algorithm
egg-herbie
Rules
1138×rational.json-simplify-1
882×rational.json-simplify-44
872×rational.json-simplify-61
832×rational.json-simplify-26
822×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
13570
25570
38470
410870
514470
622570
749370
8158270
9278670
10755970
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify111.0ms (0.8%)

Algorithm
egg-herbie
Rules
2226×rational.json-simplify-1
1504×rational.json-simplify-35
1374×rational.json-simplify-2
1110×rational.json-simplify-26
942×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
12235
23335
35035
46435
58535
612935
727135
877335
9219235
10274935
11343235
12536635
13641835
14753335
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 36 to 20 computations (44.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Error
0.0b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite84.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1534×rational.json-1
1534×rational.json-2
1534×rational.json-3
1532×exponential.json-3
1532×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
19254
221054
347554
498454
5248454
6604354
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (exp.f64 im) 2) (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))))

simplify191.0ms (1.3%)

Algorithm
egg-herbie
Rules
1296×rational.json-simplify-2
1092×rational.json-simplify-35
1004×rational.json-simplify-61
882×rational.json-simplify-19
740×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01532462
13262462
27472442
314572328
427882328
539172328
664772328
Stop Event
node limit
Counts
76 → 88
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 4)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)))) 32)
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) 2) (/.f64 2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) 1))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 2 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(*.f64 2 (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (exp.f64 im) 2) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 4 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(*.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (pow.f64 re 3) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/12)))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (pow.f64 re 3) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/12))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/12)) (+.f64 (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 6) 1/720)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 (sin.f64 re) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (+.f64 (sin.f64 re) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (+.f64 (*.f64 (pow.f64 im 6) 1/360) (pow.f64 im 2))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 4)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) 16)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)))) 32)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) 2) (/.f64 2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) 2) (/.f64 2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) 1))
(*.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(*.f64 2 (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
(*.f64 2 (+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (exp.f64 im) 2) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))))
(*.f64 2 (*.f64 (exp.f64 im) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im))))))
(*.f64 (exp.f64 im) (*.f64 2 (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 4 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))
(*.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im))))))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

eval25.0ms (0.2%)

Compiler

Compiled 1718 to 872 computations (49.2% saved)

prune16.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New82688
Fresh000
Picked011
Done000
Total82789
Error
0.0b
Counts
89 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
0.9b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
32.6b
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
1.2b
(sin.f64 re)
Compiler

Compiled 167 to 126 computations (24.6% saved)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 (+.f64 im im)))
0.0b
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
Compiler

Compiled 55 to 22 computations (60% saved)

series7.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite87.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1744×rational.json-1
1744×rational.json-2
1744×rational.json-4
1744×rational.json-3
1742×exponential.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01695
112387
228487
368887
4165171
5516371
Stop Event
node limit
Counts
3 → 121
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
(+.f64 1 (exp.f64 (+.f64 im im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 re) (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 re) (*.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im))))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 re) -2) (/.f64 (neg.f64 (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 re) -2) (-.f64 0 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) 2) (exp.f64 im)) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (/.f64 4 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im))))) 2) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (-.f64 0 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 (exp.f64 im) 2) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 1 (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (-.f64 0 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im))))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) 2) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (+.f64 im im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 im -2)) 1) (exp.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)))))

simplify125.0ms (0.9%)

Algorithm
egg-herbie
Rules
1284×rational.json-simplify-53
1046×rational.json-simplify-2
1042×rational.json-simplify-41
932×rational.json-simplify-35
786×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03295691
110445681
237045643
359915643
Stop Event
node limit
Counts
169 → 204
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
2
(+.f64 2 (*.f64 2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (*.f64 2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (+.f64 (*.f64 2 im) (*.f64 4/3 (pow.f64 im 3)))))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 0)
(/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (sin.f64 re) (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (sin.f64 re) (*.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 1 (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (sin.f64 re))))
(/.f64 1 (/.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1 (/.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 2 (sin.f64 re)))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1)
(/.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 2 (/.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (sin.f64 re))))
(/.f64 2 (/.f64 (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 2 (/.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 2))
(/.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2)
(/.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im))))) (exp.f64 im))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 4)
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(/.f64 (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (sin.f64 re)))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (neg.f64 (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 0 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) 8)
(/.f64 (/.f64 (*.f64 (sin.f64 re) 2) (exp.f64 im)) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (/.f64 4 (*.f64 1/2 (sin.f64 re))))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (sin.f64 re)))
(/.f64 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 4) 1/2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))) 16)
(/.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 8)
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 4)
(/.f64 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im))))) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 8)
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (exp.f64 im)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1)
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(+.f64 0 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(/.f64 1/2 (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))
(/.f64 1 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(/.f64 -1 (-.f64 0 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 2 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 2 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1))
(/.f64 2 (*.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1))
(/.f64 2 (*.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))
(/.f64 2 (/.f64 (*.f64 (exp.f64 im) 2) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 4 (+.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 (exp.f64 im) 2))
(/.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1/2)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im)))
(/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 8)
(/.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 4)
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))
(/.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (-.f64 0 (neg.f64 (exp.f64 im))))
(/.f64 (+.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im))))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)
(/.f64 (/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))) (*.f64 (exp.f64 im) 2))
(/.f64 (neg.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))) (neg.f64 (exp.f64 im)))
(pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(-.f64 (exp.f64 (+.f64 im im)) -1)
(-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 0)
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))
(*.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) 1/2)
(*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) 1) (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) 2)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(pow.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
Outputs
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re))) (*.f64 -1/12 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)) -1/12)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))))
(+.f64 (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)) -1/12)) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5)) 1/240))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))))
(+.f64 (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (+.f64 (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re))) (+.f64 (+.f64 (*.f64 -1/12 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))) (*.f64 -1/10080 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))) (+.f64 (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)) -1/12)) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5)) 1/240))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7)) -1/10080))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))) (+.f64 (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/10080 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))))))
(+.f64 (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (+.f64 (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 1/240 (pow.f64 re 5))) (+.f64 (*.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/10080 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7)))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 (sin.f64 re) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 6) 1/720)) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (sin.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (sin.f64 re) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (pow.f64 im 2) (+.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360)) 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (pow.f64 im 2) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
2
(+.f64 2 (*.f64 2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (*.f64 2 im)))
(+.f64 (+.f64 2 (*.f64 2 im)) (*.f64 2 (pow.f64 im 2)))
(+.f64 2 (*.f64 2 (+.f64 (pow.f64 im 2) im)))
(+.f64 2 (*.f64 2 (+.f64 im (pow.f64 im 2))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (+.f64 (*.f64 2 im) (*.f64 4/3 (pow.f64 im 3)))))
(+.f64 2 (+.f64 (+.f64 (*.f64 2 im) (*.f64 4/3 (pow.f64 im 3))) (*.f64 2 (pow.f64 im 2))))
(+.f64 2 (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2 im) (*.f64 4/3 (pow.f64 im 3)))))
(+.f64 2 (+.f64 (*.f64 4/3 (pow.f64 im 3)) (*.f64 2 (+.f64 im (pow.f64 im 2)))))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(+.f64 1 (exp.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (sin.f64 re) (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (sin.f64 re) (*.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 1 (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 1 (/.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 1 (/.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 1 (sin.f64 re)) (/.f64 1/2 (exp.f64 im))))
(/.f64 2 (/.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 2 (/.f64 (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 2 (/.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 (/.f64 2 (sin.f64 re)) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))
(/.f64 (/.f64 (sin.f64 re) 4) (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))))
(/.f64 (sin.f64 re) (*.f64 4 (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 2))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 (/.f64 2 (sin.f64 re)) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im))))) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 4)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (sin.f64 re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (neg.f64 (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) (/.f64 (sin.f64 re) -2)))
(/.f64 (sin.f64 re) (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 0 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (/.f64 (sin.f64 re) -2) (neg.f64 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (/.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) -2)
(/.f64 (neg.f64 (/.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) 8)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 (*.f64 (sin.f64 re) 2) (exp.f64 im)) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (/.f64 4 (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (sin.f64 re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 4) 1/2)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))) 16)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 8)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 4)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im))))) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 8)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (sin.f64 re))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 0 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1/2 (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 -1 (-.f64 0 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (/.f64 (*.f64 (exp.f64 im) 2) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 4 (+.f64 (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (*.f64 (exp.f64 im) 2))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (exp.f64 im)))
(/.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1/2)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (/.f64 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 8)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 4)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (-.f64 0 (neg.f64 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (/.f64 4 (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 8)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))) 16)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im))))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)) (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (exp.f64 im)))
(/.f64 (+.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 im) 2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))) (*.f64 (exp.f64 im) 2))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im))))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (+.f64 im im)) -1)
(+.f64 1 (exp.f64 (+.f64 im im)))
(-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2))
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) 1) (exp.f64 (+.f64 im im)))
(*.f64 (exp.f64 (+.f64 im im)) (+.f64 1 (exp.f64 (*.f64 im -2))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) 2)
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 2)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(+.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (exp.f64 (+.f64 im im)))

localize5.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 36 to 10 computations (72.2% saved)

series2.0ms (0%)

Counts
2 → 28
Calls

9 calls:

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

rewrite80.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1862×rational.json-simplify-35
1128×exponential.json-3
1128×rational.json-1
1128×rational.json-2
1128×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
16944
215744
335144
471744
5181644
6442044
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (neg.f64 (exp.f64 (+.f64 im im)))) 1) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))))

simplify88.0ms (0.6%)

Algorithm
egg-herbie
Rules
1010×rational.json-simplify-55
984×rational.json-simplify-2
934×rational.json-simplify-61
928×rational.json-simplify-51
862×rational.json-simplify-46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01291650
12901650
27501638
320721632
458151632
Stop Event
node limit
Counts
68 → 71
Calls
Call 1
Inputs
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 2 re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/360 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 0)
(+.f64 0 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2)))
(-.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 0)
(/.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 re re)) 2)
(/.f64 (*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 4)
(/.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8)))) 64)
(pow.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)
(-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(*.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(*.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 2 (+.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (exp.f64 im) 2) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2) 2)
(*.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))
(*.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(*.f64 (+.f64 (neg.f64 (neg.f64 (exp.f64 (+.f64 im im)))) 1) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8)))) 64)
(pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
Outputs
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 2 re)
(*.f64 re 2)
(+.f64 re re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re)))
(+.f64 (*.f64 re (*.f64 1/12 (pow.f64 im 4))) (*.f64 re (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 re (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 re (+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 re (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/360 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re))))
(+.f64 (*.f64 re (*.f64 1/360 (pow.f64 im 6))) (+.f64 (*.f64 re (*.f64 1/12 (pow.f64 im 4))) (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 re (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (*.f64 re (+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))) (*.f64 re (*.f64 1/360 (pow.f64 im 6))))
(*.f64 re (+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2))
(+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 0)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(+.f64 0 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(-.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 0)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 re re)) 2)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 4)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8) 8)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8)) 16)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8))) 32)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 8)))) 64)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(pow.f64 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (+.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (exp.f64 im) 2) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))))
(*.f64 2 (*.f64 (exp.f64 im) (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im))))))
(*.f64 (exp.f64 im) (*.f64 2 (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1/2 (/.f64 1/2 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 4 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 1/4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) 2) (/.f64 2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 2 (/.f64 2 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 (neg.f64 (neg.f64 (exp.f64 (+.f64 im im)))) 1) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8) 8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8)) 16)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8))) 32)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 8)))) 64)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
Compiler

Compiled 30 to 20 computations (33.3% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite86.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1358×rational.json-1
1358×rational.json-2
1358×rational.json-3
1354×exponential.json-3
1354×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
18129
217229
335429
469529
5165529
6354729
7625929
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 2 (pow.f64 im 2)) 4)) (*.f64 (sin.f64 re) (/.f64 (+.f64 2 (pow.f64 im 2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (sin.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 1)))))

simplify210.0ms (1.5%)

Algorithm
egg-herbie
Rules
2524×rational.json-simplify-2
2006×rational.json-simplify-1
1120×rational.json-simplify-35
1062×rational.json-simplify-53
1026×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0661244
11551244
23051172
36221154
416151154
530001154
639981154
746471154
850991154
959881154
1064251154
1166091154
1276771154
Stop Event
node limit
Counts
36 → 41
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 2 (pow.f64 im 2)) 4)) (*.f64 (sin.f64 re) (/.f64 (+.f64 2 (pow.f64 im 2)) 4)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 0)
(/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (sin.f64 re) 2)) 4)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 1)
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/240 (pow.f64 re 5))))
(*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))) (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7)))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/10080 (pow.f64 re 7)))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 re))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/10080 (pow.f64 re 7))))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 0)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 2 (pow.f64 im 2)) 4)) (*.f64 (sin.f64 re) (/.f64 (+.f64 2 (pow.f64 im 2)) 4)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 0)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (sin.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 8)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))) 16)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)))) 32)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))))) 64)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re)))

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 21 computations (41.7% saved)

series6.0ms (0%)

Counts
3 → 15
Calls

18 calls:

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

rewrite102.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1672×rational.json-1
1672×rational.json-2
1672×rational.json-3
974×exponential.json-3
974×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01273
18369
218469
338169
475969
5178769
6399269
7698969
Stop Event
node limit
Counts
3 → 61
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (pow.f64 (+.f64 im im) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2)) (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (pow.f64 (+.f64 im im) 2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (+.f64 1/2 (pow.f64 (*.f64 im 1/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (sin.f64 re) 1/4) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (*.f64 1/4 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (sin.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) (*.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/4) (+.f64 (*.f64 2 (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 4) (*.f64 (sin.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 2) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)))))

simplify180.0ms (1.2%)

Algorithm
egg-herbie
Rules
2330×rational.json-simplify-2
1362×rational.json-simplify-35
1310×rational.json-simplify-48
1114×rational.json-simplify-51
916×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01752458
14002438
28042402
318922330
441482330
551302330
653342330
755902330
861282330
970672330
Stop Event
node limit
Counts
76 → 115
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(sin.f64 re)
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 0)
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(-.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 0)
(/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (sin.f64 re) (pow.f64 (+.f64 im im) 2)) 4)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 1)
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2)) (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) 4)
(/.f64 (*.f64 (sin.f64 re) (pow.f64 (+.f64 im im) 2)) 8)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))) 16)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(-.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 0)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))
(*.f64 2 (+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2))))
(*.f64 2 (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(*.f64 1 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 2))
(*.f64 (*.f64 (sin.f64 re) 2) (+.f64 1/2 (pow.f64 (*.f64 im 1/2) 2)))
(*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (sin.f64 re))
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 8))
(*.f64 4 (*.f64 (*.f64 (sin.f64 re) 1/4) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 4 (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) 1/4)))
(*.f64 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)
(*.f64 (*.f64 (sin.f64 re) 4) (*.f64 1/4 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (*.f64 2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (sin.f64 re) 1/2))
(*.f64 1/4 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/4 (+.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) (*.f64 (sin.f64 re) 4)))
(*.f64 (*.f64 (sin.f64 re) 1/4) (+.f64 (*.f64 2 (pow.f64 im 2)) 4))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 2)
(*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 4) (*.f64 (sin.f64 re) 1/4))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 2) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 8) 4)
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))) 64)
(pow.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
Outputs
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (pow.f64 im 2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5)))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 5) 1/120))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 (pow.f64 im 2) (*.f64 1/120 (pow.f64 re 5))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5)))) (*.f64 -1/5040 (*.f64 (pow.f64 im 2) (pow.f64 re 7)))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 5) 1/120))) (*.f64 (pow.f64 im 2) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/120 (pow.f64 re 5))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 1/120 (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 2) -1/12)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 re 1/2)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 2) -1/12)) (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 2) 1/240))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 2) 1/240)) (*.f64 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 2) 1/240))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 5) 1/240) (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 2) -1/12)) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 2) 1/240)) (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 re 7) (*.f64 (pow.f64 im 2) -1/10080)))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 2) 1/240)) (*.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) -1/10080))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (+.f64 (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 2) 1/240)) (*.f64 (pow.f64 re 7) (*.f64 (pow.f64 im 2) -1/10080))) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 re 1/2))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 7) -1/10080) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 7) -1/10080) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 (pow.f64 im 2) -1/12) 1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 (pow.f64 im 2) -1/12) 1/6)) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (pow.f64 im 2) 1/240)))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 (pow.f64 im 2) -1/12) 1/6)) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (pow.f64 im 2) 1/240))) (*.f64 (pow.f64 re 7) (-.f64 (*.f64 (pow.f64 im 2) -1/10080) 1/5040)))))
(sin.f64 re)
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 0)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (pow.f64 im 2) (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (sin.f64 re))
(-.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 0)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 1)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) 2)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (pow.f64 (+.f64 im im) 2)) 4)
(*.f64 (pow.f64 (+.f64 im im) 2) (/.f64 (sin.f64 re) 4))
(*.f64 (sin.f64 re) (/.f64 (pow.f64 (+.f64 im im) 2) 4))
(*.f64 (pow.f64 (+.f64 im im) 2) (*.f64 (sin.f64 re) 1/4))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))) 8)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))) 16)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) 32)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))))) 64)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 1)
(*.f64 (pow.f64 im 2) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2)) (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) 2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) 4)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (pow.f64 (+.f64 im im) 2)) 8)
(*.f64 (pow.f64 (+.f64 im im) 2) (/.f64 (sin.f64 re) 8))
(*.f64 (sin.f64 re) (/.f64 (pow.f64 (+.f64 im im) 2) 8))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))) 16)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re)))) 32)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 8 (sin.f64 re))))) 64)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 0)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 2 (+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) (pow.f64 (*.f64 im 1/2) 2))))
(*.f64 2 (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 1/2 (sin.f64 re))))
(*.f64 2 (*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (sin.f64 re) (*.f64 2 (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 2 (*.f64 (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 2))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 2) (+.f64 1/2 (pow.f64 (*.f64 im 1/2) 2)))
(*.f64 2 (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/4)) (*.f64 1/2 (sin.f64 re))))
(*.f64 2 (*.f64 (sin.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (sin.f64 re) (*.f64 2 (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 8))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 4 (*.f64 (*.f64 (sin.f64 re) 1/4) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 4 (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (sin.f64 re) 1/4)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 4) (*.f64 1/4 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (sin.f64 re) 1/2))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/4 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/4 (+.f64 (*.f64 (sin.f64 re) (*.f64 2 (pow.f64 im 2))) (*.f64 (sin.f64 re) 4)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (sin.f64 re) 1/4) (+.f64 (*.f64 2 (pow.f64 im 2)) 4))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 2)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 4) (*.f64 (sin.f64 re) 1/4))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) 2) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 8) 4)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 16)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) 32)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))) 64)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))

eval139.0ms (1%)

Compiler

Compiled 7997 to 4990 computations (37.6% saved)

prune69.0ms (0.5%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New4274431
Fresh101
Picked011
Done145
Total4299438
Error
0b
Counts
438 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
0.9b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
33.4b
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
33.5b
(*.f64 1/2 (+.f64 re re))
32.6b
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re)))
32.6b
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
1.2b
(sin.f64 re)
Compiler

Compiled 104 to 80 computations (23.1% saved)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 56 to 32 computations (42.9% saved)

series4.0ms (0%)

Counts
3 → 52
Calls

15 calls:

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

rewrite111.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1788×rational.json-1
1788×rational.json-2
1418×rational.json-simplify-35
1114×rational.json-simplify-2
958×exponential.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01469
110761
223561
350361
4107853
5323453
6737053
Stop Event
node limit
Counts
3 → 169
Calls
Call 1
Inputs
(*.f64 (exp.f64 (neg.f64 im)) re)
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re))
(+.f64 1 (exp.f64 (*.f64 2 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 re 1/2) (exp.f64 im)) (/.f64 (*.f64 re 1/2) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) re) (/.f64 (*.f64 (exp.f64 im) 4) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (exp.f64 im) re) (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 re) re) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (exp.f64 im) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 1/2) (exp.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (*.f64 (exp.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (+.f64 (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (neg.f64 re) re)) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (+.f64 (*.f64 (exp.f64 im) 8) (*.f64 (exp.f64 im) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 re) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 re 4))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (-.f64 0 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 (neg.f64 re) re)) (*.f64 2 (-.f64 (neg.f64 re) re))) (+.f64 (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (+.f64 re re)))) (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (neg.f64 re) (exp.f64 im)) (/.f64 (neg.f64 re) (exp.f64 im))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 4)) (neg.f64 (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (neg.f64 re) re)) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re 1/2)) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 re 4))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 re re)))) (neg.f64 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 re) (exp.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2) (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (-.f64 0 (/.f64 1 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 2 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (-.f64 0 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 re) re) (+.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (+.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) (*.f64 4 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (/.f64 1 re) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 1/2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (*.f64 (exp.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (-.f64 0 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) (+.f64 (*.f64 8 (/.f64 (exp.f64 im) re)) (*.f64 8 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))) (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re)) (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 0 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2))) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (+.f64 im im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)))))

simplify170.0ms (1.2%)

Algorithm
egg-herbie
Rules
1394×rational.json-simplify-2
1144×rational.json-simplify-35
956×rational.json-simplify-1
730×rational.json-simplify-49
642×rational.json-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03965981
112645349
242895275
369105167
Stop Event
node limit
Counts
221 → 236
Calls
Call 1
Inputs
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 2 re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/360 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
2
(+.f64 2 (*.f64 2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (*.f64 2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (+.f64 (*.f64 2 im) (*.f64 4/3 (pow.f64 im 3)))))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(+.f64 0 (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 (*.f64 re 1/2) (exp.f64 im)) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(-.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))
(/.f64 re (exp.f64 im))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))
(/.f64 (/.f64 re (exp.f64 im)) 1)
(/.f64 1 (/.f64 (exp.f64 im) re))
(/.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 -1 (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) 2)
(/.f64 -2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 -2 (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (/.f64 2 (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 4 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))
(/.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) 4)
(/.f64 8 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) re) (/.f64 (*.f64 (exp.f64 im) 4) re)))
(/.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))
(/.f64 1/2 (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(/.f64 (neg.f64 re) (neg.f64 (exp.f64 im)))
(/.f64 (/.f64 (exp.f64 im) re) (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) 8)
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (exp.f64 im) 8))
(/.f64 (/.f64 (*.f64 re 1/2) (exp.f64 im)) 1/2)
(/.f64 (*.f64 re 1/2) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))
(/.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (+.f64 (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) 16)
(/.f64 (*.f64 2 (-.f64 (neg.f64 re) re)) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (+.f64 (*.f64 (exp.f64 im) 8) (*.f64 (exp.f64 im) 8)))
(/.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)
(/.f64 (/.f64 (neg.f64 re) (exp.f64 im)) -1)
(/.f64 (neg.f64 (*.f64 2 (*.f64 re 4))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (-.f64 0 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (-.f64 (neg.f64 re) re)) (*.f64 2 (-.f64 (neg.f64 re) re))) (+.f64 (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (+.f64 re re)))) (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im))) 16)
(/.f64 (+.f64 (/.f64 (neg.f64 re) (exp.f64 im)) (/.f64 (neg.f64 re) (exp.f64 im))) -2)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 4)) (neg.f64 (*.f64 (exp.f64 im) 4))))
(/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))) (*.f64 (exp.f64 im) 4))
(/.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 re)))
(/.f64 (neg.f64 (-.f64 (neg.f64 re) re)) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (neg.f64 (*.f64 re 1/2)) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 re 4))) (*.f64 (exp.f64 im) 4))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 re re)))) (neg.f64 (*.f64 2 (exp.f64 im))))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(neg.f64 (/.f64 (neg.f64 re) (exp.f64 im)))
(+.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2) (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2))
(-.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(/.f64 re (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1 (/.f64 1 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re))
(/.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 -1 (-.f64 0 (/.f64 1 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))
(/.f64 (*.f64 (+.f64 re re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 -2 (-.f64 0 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 4 (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 re re) (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 2 (exp.f64 im)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 8 (+.f64 (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(/.f64 (*.f64 re 4) (*.f64 2 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (neg.f64 re) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 re) (-.f64 0 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 (neg.f64 re) re) (+.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (+.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) (*.f64 4 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2) 1/2)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (neg.f64 (+.f64 re re)) (-.f64 0 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)))) 16)
(/.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) (+.f64 (*.f64 8 (/.f64 (exp.f64 im) re)) (*.f64 8 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re)) 8)
(/.f64 (neg.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))) (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) re))
(/.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4))))) 32)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re)) (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (+.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 0 (/.f64 1 re)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2))) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (neg.f64 (exp.f64 im)))
(pow.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(-.f64 (exp.f64 (+.f64 im im)) -1)
(-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 0)
(*.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 1/2)
(*.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))
(*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 2)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)))) 32)
(pow.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
Outputs
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 re (*.f64 re (neg.f64 im)))
(+.f64 re (*.f64 im (neg.f64 re)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 re (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 re (*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (neg.f64 im))))
(+.f64 re (*.f64 re (+.f64 (neg.f64 im) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 re (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 re (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 re (+.f64 (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (*.f64 re (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (neg.f64 im)))))
(+.f64 re (+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (*.f64 re (+.f64 (neg.f64 im) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 re re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 4) 1/12)) (*.f64 re (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 re (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 re (+.f64 (*.f64 1/12 (pow.f64 im 4)) (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/360 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 6) 1/360)) (+.f64 (*.f64 re (*.f64 (pow.f64 im 4) 1/12)) (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 re (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) (*.f64 re (+.f64 (*.f64 1/360 (pow.f64 im 6)) (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) (*.f64 re (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im)))
2
(+.f64 2 (*.f64 2 im))
(+.f64 2 (*.f64 im 2))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (*.f64 2 im)))
(+.f64 2 (+.f64 (*.f64 im 2) (*.f64 2 (pow.f64 im 2))))
(+.f64 2 (*.f64 2 (+.f64 (pow.f64 im 2) im)))
(+.f64 2 (*.f64 2 (+.f64 im (pow.f64 im 2))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (+.f64 (*.f64 2 im) (*.f64 4/3 (pow.f64 im 3)))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 im 2) (+.f64 (*.f64 (pow.f64 im 3) 4/3) 2)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (+.f64 (*.f64 im 2) (*.f64 (pow.f64 im 3) 4/3))))
(+.f64 2 (+.f64 (*.f64 (pow.f64 im 3) 4/3) (*.f64 2 (+.f64 im (pow.f64 im 2)))))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 0 (/.f64 re (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 (/.f64 (*.f64 re 1/2) (exp.f64 im)) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(-.f64 (/.f64 re (exp.f64 im)) 0)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (/.f64 re (exp.f64 im)) 1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 1 (/.f64 (exp.f64 im) re))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 re (/.f64 2 (/.f64 2 (exp.f64 im))))
(/.f64 (/.f64 2 (/.f64 2 re)) (exp.f64 im))
(/.f64 -1 (neg.f64 (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) 2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -2 (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 re (/.f64 2 (/.f64 2 (exp.f64 im))))
(/.f64 (/.f64 2 (/.f64 2 re)) (exp.f64 im))
(/.f64 (/.f64 2 (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 2 (*.f64 (exp.f64 im) (+.f64 (/.f64 1 re) (/.f64 1 re))))
(/.f64 (/.f64 (*.f64 re re) re) (exp.f64 im))
(/.f64 4 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 re (/.f64 2 (/.f64 2 (exp.f64 im))))
(/.f64 (/.f64 2 (/.f64 2 re)) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) 4)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 8 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(/.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 re (/.f64 2 (/.f64 2 (exp.f64 im))))
(/.f64 (/.f64 2 (/.f64 2 re)) (exp.f64 im))
(/.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) re) (/.f64 (*.f64 (exp.f64 im) 4) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 1/2 (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 re) (neg.f64 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (exp.f64 im) re) (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))
(/.f64 (/.f64 (*.f64 (exp.f64 im) (/.f64 1 re)) (/.f64 (exp.f64 im) re)) (/.f64 (exp.f64 im) re))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) 8)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (neg.f64 re) re) 2) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 (exp.f64 im) -2))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (exp.f64 im) 8))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (*.f64 re 1/2) (exp.f64 im)) 1/2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re 1/2) (*.f64 (exp.f64 im) 1/2))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 2 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (+.f64 (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))
(/.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) (*.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))
(/.f64 (/.f64 (*.f64 (exp.f64 im) (/.f64 1 re)) (/.f64 (exp.f64 im) re)) (/.f64 (exp.f64 im) re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) 16)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (-.f64 (neg.f64 re) re)) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (/.f64 (-.f64 (neg.f64 re) re) 2) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 (exp.f64 im) -2))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (+.f64 (*.f64 (exp.f64 im) 8) (*.f64 (exp.f64 im) 8)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (neg.f64 re) (exp.f64 im)) -1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 re 4))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (-.f64 0 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)))) 32)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (-.f64 (neg.f64 re) re)) (*.f64 2 (-.f64 (neg.f64 re) re))) (+.f64 (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im))))))
(/.f64 (/.f64 (-.f64 (neg.f64 re) re) 2) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 (exp.f64 im) -2))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (+.f64 re re)))) (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im))))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im))) 16)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (/.f64 (neg.f64 re) (exp.f64 im)) (/.f64 (neg.f64 re) (exp.f64 im))) -2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 4)) (neg.f64 (*.f64 (exp.f64 im) 4))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))) (*.f64 (exp.f64 im) 4))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (-.f64 (neg.f64 re) re)) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (/.f64 (-.f64 (neg.f64 re) re) 2) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 (exp.f64 im) -2))
(/.f64 (neg.f64 (*.f64 re 1/2)) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 re 4))) (*.f64 (exp.f64 im) 4))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 re re)))) (neg.f64 (*.f64 2 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(neg.f64 (/.f64 (neg.f64 re) (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 0 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2) (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 re (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 1 (/.f64 1 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 -1 (-.f64 0 (/.f64 1 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 (+.f64 re re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 2) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 -2 (-.f64 0 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 4 (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (+.f64 re re) (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)) 4)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (+.f64 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 2 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 8 (+.f64 (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 2 (/.f64 2 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 re 4) (*.f64 2 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (neg.f64 re) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 re) (-.f64 0 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4))) 8)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) (+.f64 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (-.f64 (neg.f64 re) re) (+.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 (neg.f64 re) re) (*.f64 2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (/.f64 (exp.f64 im) re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (+.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) (*.f64 4 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2) 1/2)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (*.f64 (exp.f64 im) 1/2))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (*.f64 -1 (neg.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (/.f64 re (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (+.f64 re re)) (-.f64 0 (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re)))))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 2 (+.f64 (/.f64 (exp.f64 im) (neg.f64 re)) (/.f64 (exp.f64 im) (neg.f64 re)))))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 2 (*.f64 (/.f64 (exp.f64 im) re) -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)))) 16)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) (+.f64 (*.f64 8 (/.f64 (exp.f64 im) re)) (*.f64 8 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re)) 8)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))) (-.f64 0 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) re))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (exp.f64 im))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4))))) 32)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re)) (/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 (exp.f64 im) re))) 16)
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (+.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 0 (/.f64 1 re)))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2))) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (*.f64 2 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 2 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(pow.f64 (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (+.f64 im im)) -1)
(+.f64 1 (exp.f64 (+.f64 im im)))
(-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))
(+.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) 2)
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(+.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)))) 32)
(+.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (exp.f64 (+.f64 im im)))

localize4.0ms (0%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 24 computations (22.6% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

9 calls:

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

rewrite127.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1706×rational.json-simplify-35
1438×exponential.json-3
1438×rational.json-1
1438×rational.json-2
1438×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
18238
216638
329338
451938
5112938
6268738
7455538
8564838
9722038
Stop Event
node limit
Counts
2 → 28
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 1/2 (pow.f64 im 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (+.f64 2 (pow.f64 im 2)) 1/4)) (*.f64 re (*.f64 (+.f64 2 (pow.f64 im 2)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 re re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8)))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))))

simplify215.0ms (1.5%)

Algorithm
egg-herbie
Rules
2468×rational.json-simplify-2
2104×rational.json-simplify-53
1908×rational.json-simplify-35
1392×rational.json-simplify-1
1040×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072796
1192796
2386796
3952796
42598796
54160796
65220796
75492796
85651796
95808796
106892796
117381796
Stop Event
node limit
Counts
40 → 38
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 0)
(+.f64 0 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)))
(+.f64 (*.f64 re (*.f64 (+.f64 2 (pow.f64 im 2)) 1/4)) (*.f64 re (*.f64 (+.f64 2 (pow.f64 im 2)) 1/4)))
(-.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 0)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 1)
(/.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 re re)) 4)
(/.f64 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))) 8)
(/.f64 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))))))) 256)
(pow.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 1)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(/.f64 (pow.f64 im 2) 2)
(/.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(/.f64 (*.f64 (pow.f64 im 2) 4) 8)
(/.f64 (*.f64 (pow.f64 im 2) 8) 16)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8)))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))))) 256)
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
Outputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 0)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 0 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 re (*.f64 (+.f64 2 (pow.f64 im 2)) 1/4)) (*.f64 re (*.f64 (+.f64 2 (pow.f64 im 2)) 1/4)))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(-.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 0)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 1)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 re re)) 4)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))) 8)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))) 16)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))))) 32)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))))) 64)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2)))))))) 128)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 4 (+.f64 2 (pow.f64 im 2))))))))) 256)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(pow.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/2 re)) 1)
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(*.f64 re (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (pow.f64 im 2) 2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 4) 8)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 8) 16)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) 32)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))) 64)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8)))) 128)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))))) 256)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(*.f64 1/2 (pow.f64 im 2))

localize84.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 -1 (exp.f64 (+.f64 im im)))
0.0b
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
0.0b
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
Compiler

Compiled 50 to 21 computations (58% saved)

series7.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@-inf
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
1.0ms
im
@inf
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
1.0ms
re
@-inf
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
1.0ms
re
@inf
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
1.0ms
re
@0
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))

rewrite75.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1386×exponential.json-3
1386×rational.json-1
1386×rational.json-2
1386×rational.json-4
1386×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01587
111787
236387
3132587
4451287
Stop Event
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (*.f64 -1/2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 2 (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 2 (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 re) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 re) (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 re) (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (sin.f64 re) -1/2) (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 -1/4 (/.f64 (sin.f64 re) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (/.f64 2 (*.f64 (*.f64 (exp.f64 im) 2) (/.f64 -4 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1/4 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (*.f64 (/.f64 -1 (/.f64 (exp.f64 im) (sin.f64 re))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (/.f64 2 (/.f64 (*.f64 (exp.f64 im) 4) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 -4 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 re) (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re)))) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (/.f64 -2 (sin.f64 re)) (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (*.f64 (exp.f64 im) 2) (/.f64 -4 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 4) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 1 (/.f64 -2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 -1/2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 1 (/.f64 -2 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))) (-.f64 -1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))) (/.f64 1 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (/.f64 1 (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im))) (/.f64 (sin.f64 re) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (/.f64 (sin.f64 re) (/.f64 -2 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) 2) (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (exp.f64 im)) (/.f64 (sin.f64 re) (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) (+.f64 (exp.f64 (+.f64 im im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) (neg.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (*.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (exp.f64 im) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 4) (/.f64 1 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (exp.f64 im)) (/.f64 1 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 -1 (-.f64 (exp.f64 (+.f64 im im)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 -1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (exp.f64 (+.f64 im im)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 -1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) 1))))))

simplify190.0ms (1.3%)

Algorithm
egg-herbie
Rules
1392×rational.json-simplify-35
1212×rational.json-simplify-51
1168×rational.json-simplify-2
726×rational.json-simplify-41
710×rational.json-simplify-50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
03727401
18977105
223126711
339736437
464306363
579726363
Stop Event
node limit
Counts
175 → 222
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (*.f64 1/240 (/.f64 (*.f64 (pow.f64 re 5) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))))
(+.f64 (*.f64 -1/10080 (/.f64 (*.f64 (pow.f64 re 7) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (*.f64 1/240 (/.f64 (*.f64 (pow.f64 re 5) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (sin.f64 re) (*.f64 4/3 (sin.f64 re))) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (sin.f64 re) (*.f64 4/3 (sin.f64 re))) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 2/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/12 (sin.f64 re)) (+.f64 (*.f64 1/2 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re))) (*.f64 4/3 (sin.f64 re)))))) (pow.f64 im 4))))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
-1/2
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -5/48 (pow.f64 im 4))) 1/2)
(-.f64 (+.f64 (*.f64 61/1440 (pow.f64 im 6)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -5/48 (pow.f64 im 4)))) 1/2)
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
-2
(-.f64 (*.f64 -2 im) 2)
(-.f64 (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))) 2)
(-.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))) 2)
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(+.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(-.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 0)
(*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 -1/2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 2 (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 2 (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 -1 (/.f64 (sin.f64 re) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 -1 (/.f64 (sin.f64 re) (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 -1 (/.f64 (sin.f64 re) (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) -1/2) (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 1)
(*.f64 1 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 -1/4 (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))) 1))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) -1/2))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (/.f64 2 (*.f64 (*.f64 (exp.f64 im) 2) (/.f64 -4 (sin.f64 re)))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) 1))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4) 1))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) -1/2))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1/4 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))) -1/2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) 1))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (*.f64 (/.f64 -1 (/.f64 (exp.f64 im) (sin.f64 re))) -1/2))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (/.f64 2 (/.f64 (*.f64 (exp.f64 im) 4) (sin.f64 re))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 -4 (sin.f64 re)))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) -4)))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 2))
(*.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 4)))
(*.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re)))) -1/4)
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (/.f64 -2 (sin.f64 re)) (*.f64 (exp.f64 im) 4))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (*.f64 (exp.f64 im) 2) (/.f64 -4 (sin.f64 re)))))
(*.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))
(*.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 4) (sin.f64 re))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) -8)))
(*.f64 (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))) (sin.f64 re))
(*.f64 -1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))
(*.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 1 (/.f64 -2 (sin.f64 re))))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/2))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 -1/2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 1 (/.f64 -2 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))) (/.f64 1 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (/.f64 1 (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im))) (/.f64 (sin.f64 re) -4))
(*.f64 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))) 1/2)
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (sin.f64 re) (/.f64 -2 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) 2) (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 2 (exp.f64 im)) (/.f64 (sin.f64 re) (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) (+.f64 (exp.f64 (+.f64 im im)) 1))
(*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) (neg.f64 (sin.f64 re)))
(*.f64 (/.f64 -1 (/.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1/2))
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4) (*.f64 (sin.f64 re) 2))
(*.f64 -1/4 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re)))))
(pow.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 1)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(+.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 0)
(+.f64 0 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(-.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 0)
(-.f64 0 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(-.f64 0 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))
(*.f64 (exp.f64 im) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1)))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))
(*.f64 -1 (*.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)) 1))
(*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1)
(*.f64 1 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))) 1))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1/2)
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (neg.f64 (exp.f64 im)) (*.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))) 1))
(*.f64 2 (/.f64 (exp.f64 im) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2)))
(*.f64 2 (/.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 2))
(*.f64 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 4) 1/4)
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4)))
(*.f64 (*.f64 -2 (exp.f64 im)) (/.f64 1 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)))
(*.f64 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1)) (exp.f64 im))
(*.f64 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))) -1)
(*.f64 (*.f64 2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))) (/.f64 (exp.f64 im) 2))
(*.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)) -1)
(*.f64 (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(*.f64 1/2 (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (exp.f64 im)))
(pow.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1)
(neg.f64 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 -1 (-.f64 -1 (-.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 -1 (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 -1 (-.f64 (exp.f64 (+.f64 im im)) 1)) -1)
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)
(*.f64 1 (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 1/2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1)
(*.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1)
(/.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 4) 8)
(pow.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) 1))
Outputs
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))) (*.f64 -1/12 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 3) (exp.f64 im)))))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2)) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) -1/12)))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 re (exp.f64 im)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (exp.f64 im))) (*.f64 1/2 (/.f64 re (exp.f64 im)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (*.f64 1/240 (/.f64 (*.f64 (pow.f64 re 5) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 1/240 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 5) (exp.f64 im))))))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 5) (exp.f64 im)) 1/240)) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2)) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) -1/12))))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 re (exp.f64 im)))) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (exp.f64 im))))))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 re (exp.f64 im)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (+.f64 (*.f64 1/240 (/.f64 (pow.f64 re 5) (exp.f64 im))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (exp.f64 im))))))
(+.f64 (*.f64 -1/10080 (/.f64 (*.f64 (pow.f64 re 7) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))) (*.f64 1/240 (/.f64 (*.f64 (pow.f64 re 5) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))) (+.f64 (+.f64 (*.f64 -1/12 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 1/240 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 5) (exp.f64 im))))) (*.f64 -1/10080 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 7) (exp.f64 im))))))
(+.f64 (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) -1/12)) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 5) (exp.f64 im)) 1/240))) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 7) (exp.f64 im)) -1/10080)) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (exp.f64 im)))) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (exp.f64 im)))) (+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 re (exp.f64 im)))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (exp.f64 im)))))))
(+.f64 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (exp.f64 im))) (*.f64 1/2 (/.f64 re (exp.f64 im))))) (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (+.f64 (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (exp.f64 im))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (exp.f64 im))))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (sin.f64 re) (*.f64 4/3 (sin.f64 re))) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 (sin.f64 re) 4/3) (-.f64 (sin.f64 re) (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 2 (sin.f64 re))))) (pow.f64 im 3)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 (sin.f64 re) 4/3) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 7/3))) (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2)) (*.f64 (-.f64 (+.f64 (sin.f64 re) (*.f64 (sin.f64 re) 4/3)) (*.f64 (sin.f64 re) 7/3)) (pow.f64 im 3)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (+.f64 (sin.f64 re) (sin.f64 (neg.f64 re))) (pow.f64 im 3)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 (pow.f64 im 3) 0)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (sin.f64 re) (*.f64 4/3 (sin.f64 re))) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 2/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/12 (sin.f64 re)) (+.f64 (*.f64 1/2 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re))) (*.f64 4/3 (sin.f64 re)))))) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 (sin.f64 re) 4/3) (-.f64 (sin.f64 re) (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 2 (sin.f64 re))))) (pow.f64 im 3))) (*.f64 (+.f64 (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 2 (sin.f64 re))) (-.f64 (*.f64 (sin.f64 re) 2/3) (+.f64 (*.f64 (sin.f64 re) 1/12) (+.f64 (+.f64 (*.f64 (sin.f64 re) 4/3) (*.f64 1/2 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)))) (sin.f64 re))))) (*.f64 (pow.f64 im 4) 1/2)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 (sin.f64 re) 7/3) (-.f64 (*.f64 (sin.f64 re) 2/3) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re))) (*.f64 (sin.f64 re) 17/12))))) (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 (sin.f64 re) 4/3) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 7/3))) (pow.f64 im 3)))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re)) (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (+.f64 (sin.f64 re) (*.f64 (sin.f64 re) 4/3)) (*.f64 (sin.f64 re) 7/3)) (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 (sin.f64 re) 3) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (-.f64 (*.f64 2 (sin.f64 re)) (sin.f64 re))) (*.f64 (sin.f64 re) 17/12)))) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (+.f64 (*.f64 (+.f64 (sin.f64 re) (sin.f64 (neg.f64 re))) (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 (sin.f64 re) 3) (+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (sin.f64 re) 29/12))) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 0) (*.f64 1/2 (+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 3 (sin.f64 re)) (+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (sin.f64 re) 29/12))) (pow.f64 im 4))))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
-1/2
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
(-.f64 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -5/48 (pow.f64 im 4))) 1/2)
(+.f64 (*.f64 (pow.f64 im 4) -5/48) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (-.f64 (*.f64 (pow.f64 im 4) -5/48) 1/2))
(-.f64 (+.f64 (*.f64 61/1440 (pow.f64 im 6)) (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -5/48 (pow.f64 im 4)))) 1/2)
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 4) -5/48)) (-.f64 (*.f64 61/1440 (pow.f64 im 6)) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (+.f64 (-.f64 (*.f64 (pow.f64 im 4) -5/48) 1/2) (*.f64 61/1440 (pow.f64 im 6))))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (+.f64 (*.f64 61/1440 (pow.f64 im 6)) (-.f64 (*.f64 (pow.f64 im 4) -5/48) 1/2)))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (*.f64 2 im)))))
-2
(-.f64 (*.f64 -2 im) 2)
(-.f64 (*.f64 im -2) 2)
(-.f64 (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))) 2)
(+.f64 (*.f64 (pow.f64 im 2) -2) (-.f64 (*.f64 im -2) 2))
(-.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) 2)
(-.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) 2)
(-.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))) 2)
(+.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 2) -2)) (-.f64 (*.f64 (pow.f64 im 3) -4/3) 2))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (-.f64 (*.f64 (pow.f64 im 3) -4/3) 2))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 3) -4/3) 2))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) -1)
(neg.f64 (+.f64 1 (exp.f64 (*.f64 2 im))))
(-.f64 -1 (exp.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 0)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(+.f64 0 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(-.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 0)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 -1/2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 2 (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 2 (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1 (/.f64 (sin.f64 re) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1 (/.f64 (sin.f64 re) (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1 (/.f64 (sin.f64 re) (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) -1/2) (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 1)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 1 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 -1/4 (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))) 1))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) -1/2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) (/.f64 2 (*.f64 (*.f64 (exp.f64 im) 2) (/.f64 -4 (sin.f64 re)))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) 1))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4) 1))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) -1/2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1/4 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))) -1/2)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) 1))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (*.f64 (/.f64 -1 (/.f64 (exp.f64 im) (sin.f64 re))) -1/2))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1/2 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im)))))
(*.f64 -1/2 (*.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (sin.f64 (neg.f64 re)) (exp.f64 im)) (*.f64 -1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) (/.f64 2 (/.f64 (*.f64 (exp.f64 im) 4) (sin.f64 re))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 -4 (sin.f64 re)))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 -2 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) -1/2) (neg.f64 (*.f64 -2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) -4)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 4)))
(*.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 (sin.f64 re) -2) (/.f64 1/4 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 -2 (/.f64 1/4 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re)))) -1/4)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (/.f64 -2 (sin.f64 re)) (*.f64 (exp.f64 im) 4))))
(*.f64 (*.f64 4 (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (sin.f64 re) -2) (*.f64 (exp.f64 im) 4)))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 4 (/.f64 (sin.f64 re) (*.f64 -2 (*.f64 (exp.f64 im) 4)))))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (*.f64 (exp.f64 im) 2) (/.f64 -4 (sin.f64 re)))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (/.f64 (*.f64 (exp.f64 im) 4) 1)))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) 4)))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) 4)) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 4) (sin.f64 re))))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (/.f64 (*.f64 (exp.f64 im) 4) 1)))
(*.f64 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) 4)))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) 4)) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) -8)))
(*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -8) (*.f64 (sin.f64 re) 4))
(*.f64 (sin.f64 re) (*.f64 4 (/.f64 1/8 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))) (sin.f64 re))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 1 (/.f64 -2 (sin.f64 re))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 -1/2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 1 (/.f64 -2 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (exp.f64 im))) (/.f64 1 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (/.f64 1 (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -4))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/4))
(*.f64 (sin.f64 re) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/4)))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im))) (/.f64 (sin.f64 re) -4))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 2 (exp.f64 im)) (/.f64 (sin.f64 re) -4)))
(*.f64 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))) 1/2)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -2 (sin.f64 re))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (sin.f64 re) (/.f64 -2 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) 2) (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 2 (exp.f64 im)) (/.f64 (sin.f64 re) (/.f64 -4 (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -4))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (exp.f64 im))) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/4))
(*.f64 (sin.f64 re) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) -1/4)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 2 (sin.f64 re))) (+.f64 (exp.f64 (+.f64 im im)) 1))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 -1 (/.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1/2))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1/2 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im)))))
(*.f64 -1/2 (*.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (sin.f64 (neg.f64 re)) (exp.f64 im)) (*.f64 -1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -4 (sin.f64 re))) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 (/.f64 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)) -4) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(*.f64 -1/4 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re)))))
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (sin.f64 re) (/.f64 -1/2 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))) 1)
(*.f64 (sin.f64 re) (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) -1/2)))
(*.f64 (sin.f64 re) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 -1/2 (exp.f64 im))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(+.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 0)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(+.f64 0 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(-.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 0)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(-.f64 0 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(-.f64 0 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 im) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 -1 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 -1 (*.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)) 1))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 1 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))) 1))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1/2)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (neg.f64 (exp.f64 im)) (*.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))) 1))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 2 (/.f64 (exp.f64 im) (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 2 (/.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 2))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 4) 1/4)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 -2 (exp.f64 im)) (/.f64 1 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) 2) 2)))
(*.f64 (*.f64 (exp.f64 im) -2) (/.f64 1 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))))
(*.f64 (exp.f64 im) (*.f64 -2 (/.f64 1 (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im)))))))
(*.f64 -2 (/.f64 (exp.f64 im) (+.f64 2 (*.f64 2 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1)) (exp.f64 im))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))) -1)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 2 (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))) (/.f64 (exp.f64 im) 2))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)) -1)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 1/2 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 1/2 (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 -1 (-.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (exp.f64 im)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(pow.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))) 1)
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(neg.f64 (neg.f64 (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(neg.f64 (/.f64 (exp.f64 im) (+.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 -1 (-.f64 1 (/.f64 (exp.f64 im) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 -1 (-.f64 (exp.f64 (+.f64 im im)) 1)))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 0)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 -1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 -1 (-.f64 (exp.f64 (+.f64 im im)) 1)) -1)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) 1))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 -1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 1/2)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) 1/4)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 2)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) 1) -1)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 4) 4)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (*.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 2) 4) 8)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) 1)
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) 1))
(+.f64 -1 (-.f64 1 (-.f64 (exp.f64 (+.f64 im im)) -1)))
(neg.f64 (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 -1 (exp.f64 (+.f64 im im)))

eval281.0ms (1.9%)

Compiler

Compiled 9461 to 5680 computations (40% saved)

prune231.0ms (1.6%)

Pruning

13 alts after pruning (6 fresh and 7 done)

PrunedKeptTotal
New4906496
Fresh000
Picked011
Done268
Total49213505
Error
0b
Counts
505 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
1.0b
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
0.9b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
61.1b
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
33.4b
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
32.6b
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
32.7b
(*.f64 1/2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re)))
32.6b
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
32.6b
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
1.2b
(sin.f64 re)
33.5b
re
Compiler

Compiled 218 to 170 computations (22% saved)

localize17.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
0.0b
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
Compiler

Compiled 41 to 30 computations (26.8% saved)

series8.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite135.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1360×rational.json-1
1360×rational.json-2
1360×rational.json-4
1360×rational.json-3
1346×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01554
111154
229054
376754
4238554
5540754
Stop Event
node limit
Counts
2 → 84
Calls
Call 1
Inputs
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
(-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)) (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 re) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 -1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (neg.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (/.f64 (sin.f64 re) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (*.f64 (sin.f64 re) 1/2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) (*.f64 (sin.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) (neg.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/4) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4)) (*.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -8)) (*.f64 (sin.f64 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) -4) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) -1/2) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1/2 (*.f64 (pow.f64 im 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))))

simplify168.0ms (1.2%)

Algorithm
egg-herbie
Rules
946×rational.json-simplify-2
890×rational.json-simplify-39
874×rational.json-simplify-50
830×rational.json-simplify-1
742×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02064126
14424114
29904094
329454084
441954084
556384084
674984084
Stop Event
node limit
Counts
120 → 127
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(+.f64 (*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (*.f64 1/12 (/.f64 (pow.f64 re 3) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))))
(+.f64 (*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 re 3) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (*.f64 -1/240 (/.f64 (pow.f64 re 5) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))))
(+.f64 (*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 re 3) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (+.f64 (*.f64 -1/240 (/.f64 (pow.f64 re 5) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (*.f64 1/10080 (/.f64 (pow.f64 re 7) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/8 (*.f64 (sin.f64 re) (pow.f64 im 6))))))
(*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))))
-1/2
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(*.f64 1/4 (pow.f64 im 2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(*.f64 1/4 (pow.f64 im 2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 0)
(+.f64 0 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))
(+.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)) (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))) -1)
(-.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 0)
(-.f64 0 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 (sin.f64 re) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)))
(*.f64 2 (/.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 4))
(*.f64 2 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))
(*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 2 (*.f64 (sin.f64 re) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 1)
(*.f64 1 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/4))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 (/.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/2)
(*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 -1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))
(*.f64 -1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4)))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1/4)
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -8)))
(*.f64 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) (sin.f64 re))
(*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) -1/2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 1/2)
(*.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1)
(*.f64 -1/4 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (neg.f64 (sin.f64 re)))
(*.f64 (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 -1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) 1/2))
(*.f64 (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (/.f64 (sin.f64 re) -4))
(*.f64 (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (*.f64 (sin.f64 re) 1/2) -1/2))
(*.f64 (*.f64 2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) (*.f64 (sin.f64 re) 1/2))
(*.f64 (*.f64 1/2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) (*.f64 (sin.f64 re) 2))
(*.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/4) (*.f64 (sin.f64 re) 2))
(*.f64 (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)) 2)
(*.f64 (/.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 4) 2)
(*.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4)) (*.f64 (sin.f64 re) -2))
(*.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -8)) (*.f64 (sin.f64 re) 4))
(*.f64 (/.f64 (sin.f64 re) -4) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) 2)
(*.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) -1/2) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1)
(*.f64 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 2)
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 2)
(pow.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 1)
(neg.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 0)
(+.f64 0 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))
(+.f64 -1 (-.f64 1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(+.f64 -1/2 (*.f64 (pow.f64 im 2) 1/4))
(+.f64 (-.f64 1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) -1)
(*.f64 2 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 2))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 1/2)
(*.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)) -1)
(*.f64 -1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4) 1/4)
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 2) 2)
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 2)
(/.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)) -1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4) 4)
(/.f64 (*.f64 2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) -2)
(/.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 4)) 16)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)
(neg.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))
Outputs
(*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 -1/2 (/.f64 re (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (*.f64 1/12 (/.f64 (pow.f64 re 3) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))))
(+.f64 (*.f64 -1/2 (/.f64 re (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))) (*.f64 1/12 (/.f64 (pow.f64 re 3) (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))))
(+.f64 (*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 re 3) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (*.f64 -1/240 (/.f64 (pow.f64 re 5) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))))
(+.f64 (*.f64 -1/2 (/.f64 re (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 re 3) (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))) (*.f64 -1/240 (/.f64 (pow.f64 re 5) (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))))))
(+.f64 (*.f64 -1/2 (/.f64 re (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 re 3) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (+.f64 (*.f64 -1/240 (/.f64 (pow.f64 re 5) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))) (*.f64 1/10080 (/.f64 (pow.f64 re 7) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2))))))
(+.f64 (*.f64 -1/2 (/.f64 re (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))) (+.f64 (*.f64 1/12 (/.f64 (pow.f64 re 3) (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))) (+.f64 (*.f64 -1/240 (/.f64 (pow.f64 re 5) (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))) (*.f64 1/10080 (/.f64 (pow.f64 re 7) (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/8 (*.f64 (sin.f64 re) (pow.f64 im 6))))))
(+.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/8 (*.f64 (sin.f64 re) (pow.f64 im 6)))) (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) (*.f64 1/8 (*.f64 (sin.f64 re) (pow.f64 im 6))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (*.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/8 (pow.f64 im 6)) (*.f64 (pow.f64 im 2) 1/2)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 (*.f64 1/8 (pow.f64 im 6)) (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6)))))
(+.f64 (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))))))
(+.f64 (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6)))))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))))))
(+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))))))
(*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6)))))
(+.f64 (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))))
(+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))))))
(+.f64 (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6)))))
(+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))))))
(+.f64 (*.f64 -4 (/.f64 (sin.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 -16 (/.f64 (sin.f64 re) (pow.f64 im 8))) (+.f64 (*.f64 -2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 -8 (/.f64 (sin.f64 re) (pow.f64 im 6))))))
-1/2
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 1/4 (pow.f64 im 2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 1/4 (pow.f64 im 2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 0)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 0 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)) (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))) -1)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(-.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 0)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(-.f64 0 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 2 (/.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 4))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 2 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 2 (*.f64 (sin.f64 re) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 1)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 1 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/4))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 -1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) -2) (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1/4)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -8)))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 -8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))))
(*.f64 4 (*.f64 (/.f64 -1/8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))) (sin.f64 re)))
(*.f64 4 (*.f64 (sin.f64 re) (/.f64 -1/8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 -1/8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 4 (/.f64 (sin.f64 re) (/.f64 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))) -1/8)))
(*.f64 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) (sin.f64 re))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) -1/2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 1/2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 -1/4 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (neg.f64 (sin.f64 re)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) 2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 -1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (sin.f64 re) 1/2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (/.f64 (sin.f64 re) -4))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) (*.f64 (*.f64 (sin.f64 re) 1/2) -1/2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) (*.f64 (sin.f64 re) 1/2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) (*.f64 (sin.f64 re) 2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) (neg.f64 (sin.f64 re)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) -1/4) (*.f64 (sin.f64 re) 2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) (*.f64 (sin.f64 re) 2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -4)) 2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) 4) 2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4)) (*.f64 (sin.f64 re) -2))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) -8)) (*.f64 (sin.f64 re) 4))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 -8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))))
(*.f64 4 (*.f64 (/.f64 -1/8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))) (sin.f64 re)))
(*.f64 4 (*.f64 (sin.f64 re) (/.f64 -1/8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 -1/8 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 4 (/.f64 (sin.f64 re) (/.f64 (+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2))) -1/8)))
(*.f64 (/.f64 (sin.f64 re) -4) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1/2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))) 2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) -1/2) (/.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (*.f64 (sin.f64 re) 1/2) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) -1)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 -1/4 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 2)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(pow.f64 (/.f64 (sin.f64 re) (*.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))) 1)
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 1/2 (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 0)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(+.f64 0 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(+.f64 -1/2 (*.f64 (pow.f64 im 2) 1/4))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(+.f64 (-.f64 1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) -1)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 2 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 1/2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)) -1)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 -1 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4) 1/4)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 2) 2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)) -1)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 4) 4)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (*.f64 2 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4))) -2)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 4) 8)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2)) 4)) 16)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(pow.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) -1/2) 1)
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))
(neg.f64 (-.f64 1/2 (*.f64 (pow.f64 im 2) 1/4)))
(-.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)
(+.f64 -1/2 (*.f64 1/4 (pow.f64 im 2)))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
8.1b
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite231.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
2644×rational.json-simplify-2
2248×rational.json-simplify-35
1184×rational.json-simplify-1
1094×exponential.json-3
1094×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
16019
213119
326219
446819
5100519
6216119
7371919
8464619
9559219
10644319
11644319
12730019
13730019
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (pow.f64 (*.f64 im 1/2) 2)) (*.f64 re (pow.f64 (*.f64 im 1/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (+.f64 re re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 1)))))

simplify1.3s (9.2%)

Algorithm
egg-herbie
Rules
4320×rational.json-simplify-35
2886×rational.json-simplify-2
1612×rational.json-simplify-53
960×exponential.json-simplify-26
888×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050741
1130741
2249741
3533741
41480741
52836741
63890741
74328741
84482741
94614741
104740741
114866741
125299741
135437741
145717741
156083741
166228741
176303741
186429741
196555741
206681741
216807741
226933741
237059741
247185741
257311741
267571741
277725741
287799741
297848741
307848741
317983741
Stop Event
node limit
Counts
39 → 17
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 0)
(+.f64 0 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(+.f64 (*.f64 re (pow.f64 (*.f64 im 1/2) 2)) (*.f64 re (pow.f64 (*.f64 im 1/2) 2)))
(-.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 0)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 1)
(/.f64 (*.f64 (pow.f64 im 2) re) 2)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 re re)) 4)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 2) 4)) 8)
(/.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))))))) 512)
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 1)
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 0)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 0 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 re (pow.f64 (*.f64 im 1/2) 2)) (*.f64 re (pow.f64 (*.f64 im 1/2) 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 0)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 1)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) re) 2)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 re re)) 4)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 2) 4)) 8)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))) 16)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))) 32)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))) 64)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))))) 128)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))))) 256)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) 4)))))))) 512)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) 1)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.2b
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
Compiler

Compiled 44 to 18 computations (59.1% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
0.0ms
im
@0
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
0.0ms
im
@inf
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
0.0ms
im
@-inf
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
0.0ms
re
@inf
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))

rewrite77.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1598×rational.json-1
1598×rational.json-2
1598×rational.json-4
1598×rational.json-3
1582×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01231
19731
225825
369225
4216625
5560425
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 re (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 re 2) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re re) (/.f64 1 (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 1 (/.f64 4 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 (/.f64 1 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re 2) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 re)))))))

simplify113.0ms (0.8%)

Algorithm
egg-herbie
Rules
1378×rational.json-simplify-43
1108×rational.json-simplify-1
1076×rational.json-simplify-53
904×rational.json-simplify-35
838×rational.json-simplify-57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01101661
12271661
24461649
312531643
444951643
577481643
Stop Event
node limit
Counts
65 → 60
Calls
Call 1
Inputs
(*.f64 2 re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/360 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(+.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(+.f64 0 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(+.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)))
(-.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
(*.f64 1 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (/.f64 re (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(*.f64 -1 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)))
(*.f64 2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)))
(*.f64 2 (/.f64 re (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 2 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 2))
(*.f64 2 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) re))
(*.f64 2 (*.f64 (/.f64 re 2) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 re 2))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 re 1/2))
(*.f64 (*.f64 re re) (/.f64 1 (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 re 4) (/.f64 1 (/.f64 4 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 1/2)
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 (/.f64 1 re) 4)))
(*.f64 (neg.f64 re) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (neg.f64 re))
(*.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (/.f64 -1 re)))
(*.f64 (/.f64 re 2) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (+.f64 re re))
(*.f64 (*.f64 re 1/2) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 (/.f64 1 (/.f64 -1 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)) -1)
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)) 2)
(*.f64 (/.f64 re (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (/.f64 1 (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re re))
(*.f64 (/.f64 re (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) re)
(*.f64 (/.f64 1 (/.f64 4 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re 4))
(*.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 1 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(pow.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(neg.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)))
(neg.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 re)))
Outputs
(*.f64 2 re)
(+.f64 re re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 4) 1/12)) (*.f64 re (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 re)))
(*.f64 re (+.f64 (*.f64 1/12 (pow.f64 im 4)) (+.f64 2 (pow.f64 im 2))))
(*.f64 re (+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/360 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/12 (*.f64 re (pow.f64 im 4))) (*.f64 2 re))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 6) 1/360)) (+.f64 (*.f64 re (*.f64 (pow.f64 im 4) 1/12)) (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(+.f64 (+.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 re))) (*.f64 (pow.f64 im 6) (*.f64 re 1/360)))
(+.f64 (*.f64 re (+.f64 2 (pow.f64 im 2))) (*.f64 re (+.f64 (*.f64 1/360 (pow.f64 im 6)) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 re (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (pow.f64 im 2) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 re (+.f64 2 (+.f64 (+.f64 (pow.f64 im 2) (*.f64 1/360 (pow.f64 im 6))) (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 re (+.f64 (*.f64 1/12 (pow.f64 im 4)) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/360 (pow.f64 im 6))))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 0 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (/.f64 re (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 re (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) re))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (*.f64 (/.f64 re 2) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 re 2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 re 1/2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 re re) (/.f64 1 (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 re 4) (/.f64 1 (/.f64 4 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 1/2)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 (/.f64 1 re) 4)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (neg.f64 re) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (neg.f64 re))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (/.f64 -1 re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 re 2) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (+.f64 re re))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 re 1/2) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 1 (/.f64 -1 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)) -1)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 re)) 2)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 re (/.f64 2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 1 (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re re))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 re (/.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 1 (/.f64 4 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 re 4))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 2) 2)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(neg.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))

localize28.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 (+.f64 im im)))
0.0b
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
0.0b
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
Compiler

Compiled 53 to 22 computations (58.5% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite75.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1258×rational.json-1
1258×rational.json-2
1258×rational.json-4
1258×rational.json-3
1250×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01256
19356
223056
357756
4169856
5437256
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)) (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2) (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) (/.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 re (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 1 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 re (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 re (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im)))) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 re (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (+.f64 re re) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (neg.f64 im)) 1/2) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 re 1/2)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (exp.f64 im)) (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (exp.f64 im) 4)) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 re (exp.f64 im)) 1/2) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 2) (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))))))

simplify130.0ms (0.9%)

Algorithm
egg-herbie
Rules
1874×rational.json-simplify-35
1188×rational.json-simplify-2
1070×rational.json-simplify-51
938×rational.json-simplify-1
628×rational.json-simplify-55
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01843731
14223689
29063653
319733573
448763563
571963539
Stop Event
node limit
Counts
119 → 108
Calls
Call 1
Inputs
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 2 re)
(+.f64 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2)) (*.f64 2 re)))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/3 re) (+.f64 (*.f64 2/3 re) (*.f64 2 re))) (+.f64 (*.f64 1/12 re) (+.f64 (*.f64 4/3 re) (+.f64 re (*.f64 1/2 (-.f64 (*.f64 2 re) re)))))) (pow.f64 im 4)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2)) (*.f64 2 re))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 2 re)
(+.f64 (*.f64 2 (*.f64 re im)) (*.f64 2 re))
(+.f64 (*.f64 2 (*.f64 re im)) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (*.f64 2 re)))
(+.f64 (*.f64 2 (*.f64 re im)) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 4/3 (*.f64 re (pow.f64 im 3))) (*.f64 2 re))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(+.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 0)
(+.f64 0 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im))))
(+.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)) (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)))
(+.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2) (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2))
(-.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 0)
(-.f64 0 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 1 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1)
(*.f64 -1 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) (/.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)))
(*.f64 2 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2))
(*.f64 2 (*.f64 re (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2)))
(*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im)))))
(*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 2 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 re re) (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(*.f64 (+.f64 re re) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (*.f64 re (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im))))) 1/2)
(*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 1 (*.f64 (exp.f64 im) 4)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 re 1/2)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) re)
(*.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 -1 (exp.f64 im)))
(*.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im)))) (*.f64 re 1/2))
(*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)))
(*.f64 (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) (+.f64 re re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im))))))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (+.f64 re re) (exp.f64 im)))
(*.f64 (*.f64 (exp.f64 (neg.f64 im)) 1/2) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)))
(*.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (+.f64 re re))
(*.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 re 1/2)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)) -1)
(*.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)) 2)
(*.f64 (/.f64 -1 (exp.f64 im)) (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2) 2)
(*.f64 (/.f64 1 (*.f64 (exp.f64 im) 4)) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)))
(*.f64 (*.f64 re (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2)) 2)
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im)))) 2)
(*.f64 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 2)
(*.f64 (*.f64 (/.f64 re (exp.f64 im)) 1/2) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1)
(neg.f64 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(+.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 0)
(+.f64 0 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 -1 (-.f64 1 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))))
(+.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 2) (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 2))
(+.f64 (-.f64 1 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))) -1)
(-.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 0)
(-.f64 0 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 1)
(/.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 2)
(/.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 4)
(/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) -1)
(/.f64 (*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 4) 8)
(/.f64 (*.f64 2 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 4)) 16)
(pow.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 1)
(neg.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))
Outputs
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 re re)
(+.f64 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re 2) (*.f64 (-.f64 (*.f64 re 2) re) (pow.f64 im 2)))
(+.f64 (+.f64 re re) (*.f64 (-.f64 (+.f64 re re) re) (pow.f64 im 2)))
(+.f64 (+.f64 re re) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2)) (*.f64 2 re)))
(+.f64 (*.f64 re 2) (*.f64 (-.f64 (*.f64 re 2) re) (pow.f64 im 2)))
(+.f64 (+.f64 re re) (*.f64 (-.f64 (+.f64 re re) re) (pow.f64 im 2)))
(+.f64 (+.f64 re re) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/3 re) (+.f64 (*.f64 2/3 re) (*.f64 2 re))) (+.f64 (*.f64 1/12 re) (+.f64 (*.f64 4/3 re) (+.f64 re (*.f64 1/2 (-.f64 (*.f64 2 re) re)))))) (pow.f64 im 4)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2)) (*.f64 2 re))))
(+.f64 (*.f64 (-.f64 (+.f64 re (*.f64 re 4/3)) (+.f64 (*.f64 re 2) (*.f64 re 1/3))) (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 re 2) (*.f64 (-.f64 (*.f64 re 2) re) (pow.f64 im 2))) (*.f64 (+.f64 (+.f64 (*.f64 re 2) (*.f64 re 2/3)) (-.f64 (*.f64 re 1/3) (+.f64 (*.f64 re 4/3) (+.f64 (+.f64 re (*.f64 (-.f64 (*.f64 re 2) re) 1/2)) (*.f64 re 1/12))))) (pow.f64 im 4))))
(+.f64 (*.f64 (-.f64 (*.f64 re 2) re) (pow.f64 im 2)) (+.f64 (+.f64 (*.f64 re 2) (*.f64 (-.f64 (+.f64 re (*.f64 re 4/3)) (*.f64 re 7/3)) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 re 7/3) (-.f64 (*.f64 re 2/3) (+.f64 re (+.f64 (+.f64 (*.f64 re 4/3) (*.f64 (-.f64 (*.f64 re 2) re) 1/2)) (*.f64 re 1/12))))) (pow.f64 im 4))))
(+.f64 (+.f64 re re) (+.f64 (+.f64 (*.f64 (-.f64 (+.f64 re re) re) (pow.f64 im 2)) (*.f64 (+.f64 re (-.f64 (*.f64 re 4/3) (*.f64 re 7/3))) (pow.f64 im 3))) (*.f64 (-.f64 (*.f64 re 3) (+.f64 (+.f64 re (*.f64 (-.f64 (+.f64 re re) re) 1/2)) (*.f64 re 17/12))) (pow.f64 im 4))))
(+.f64 (*.f64 (+.f64 re (neg.f64 re)) (pow.f64 im 3)) (+.f64 (+.f64 (+.f64 re re) (*.f64 re (pow.f64 im 2))) (*.f64 (-.f64 (*.f64 re 3) (+.f64 (*.f64 re 1/2) (+.f64 re (*.f64 re 17/12)))) (pow.f64 im 4))))
(+.f64 (*.f64 (pow.f64 im 3) 0) (+.f64 (+.f64 (+.f64 re re) (*.f64 re (pow.f64 im 2))) (*.f64 (-.f64 (*.f64 re 3) (+.f64 (*.f64 re 1/2) (+.f64 re (*.f64 re 17/12)))) (pow.f64 im 4))))
(+.f64 (+.f64 (+.f64 re re) (*.f64 re (pow.f64 im 2))) (*.f64 (-.f64 (*.f64 re 3) (+.f64 (*.f64 re 3/2) (*.f64 re 17/12))) (pow.f64 im 4)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 re re)
(+.f64 (*.f64 2 (*.f64 re im)) (*.f64 2 re))
(+.f64 (*.f64 re 2) (*.f64 re (*.f64 2 im)))
(*.f64 2 (+.f64 re (*.f64 re im)))
(*.f64 re (+.f64 2 (*.f64 2 im)))
(+.f64 (*.f64 2 (*.f64 re im)) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (*.f64 2 re)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 2)) (+.f64 (*.f64 re 2) (*.f64 re (*.f64 2 im))))
(+.f64 (*.f64 re (*.f64 2 im)) (*.f64 re (+.f64 2 (*.f64 2 (pow.f64 im 2)))))
(*.f64 re (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 2 (*.f64 2 im))))
(*.f64 re (+.f64 2 (*.f64 2 (+.f64 im (pow.f64 im 2)))))
(+.f64 (*.f64 2 (*.f64 re im)) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 4/3 (*.f64 re (pow.f64 im 3))) (*.f64 2 re))))
(+.f64 (*.f64 re (*.f64 2 im)) (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 2)) (+.f64 (*.f64 re 2) (*.f64 re (*.f64 (pow.f64 im 3) 4/3)))))
(+.f64 (*.f64 re (*.f64 2 im)) (+.f64 (*.f64 re (+.f64 2 (*.f64 2 (pow.f64 im 2)))) (*.f64 re (*.f64 4/3 (pow.f64 im 3)))))
(+.f64 (*.f64 2 (+.f64 re (*.f64 re im))) (*.f64 re (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 4/3 (pow.f64 im 3)))))
(*.f64 re (+.f64 (+.f64 2 (*.f64 4/3 (pow.f64 im 3))) (*.f64 2 (+.f64 im (pow.f64 im 2)))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(*.f64 re (+.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im))))
(+.f64 re (*.f64 re (exp.f64 (*.f64 2 im))))
(+.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 0)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(+.f64 0 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)) (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2) (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(-.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 0)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(-.f64 0 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 1 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 (neg.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) (/.f64 1/2 (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 re (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 2 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 2 (*.f64 re (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 2 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im)))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 2 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 re re) (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 re re) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im))))) 1/2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (/.f64 1 (*.f64 (exp.f64 im) 4)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 re 1/2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) re)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 -1 (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im)))) (*.f64 re 1/2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2) (+.f64 re re))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im))))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 (exp.f64 im) 2) (*.f64 2 (exp.f64 (neg.f64 im)))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (+.f64 re re) (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (exp.f64 (neg.f64 im)) 1/2) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (+.f64 re re))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 re 1/2)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)) -1)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2)) 2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 -1 (exp.f64 im)) (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2) 2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (/.f64 1 (*.f64 (exp.f64 im) 4)) (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 re (/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2)) 2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im)))) 2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (/.f64 re (exp.f64 im)) 1/2) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))) 2)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(pow.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1)
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(neg.f64 (/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im)))
(+.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 0)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 0 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 1 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 2) (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 2))
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 1 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))) -1)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 0)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 0 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 1)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 2)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) 4)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))) -1)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 4) 8)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im))))) -2)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 2)) 4)) 16)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(pow.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) 1)
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))
(neg.f64 (*.f64 re (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 re (+.f64 1 (exp.f64 (+.f64 im im))))

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 (*.f64 2 im)))
0.0b
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
0.0b
(/.f64 re (exp.f64 im))
Compiler

Compiled 45 to 27 computations (40% saved)

series5.0ms (0%)

Counts
2 → 28
Calls

12 calls:

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

rewrite82.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1504×rational.json-simplify-50
1418×rational.json-1
1418×rational.json-2
1418×rational.json-4
1418×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01550
111150
224350
353550
4132450
5418350
Stop Event
node limit
Counts
2 → 115
Calls
Call 1
Inputs
(/.f64 re (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 (/.f64 (neg.f64 re) 2) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 re (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 2 (*.f64 1/2 (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (+.f64 re re) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 re (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 1/2 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re re) (exp.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 (exp.f64 (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (exp.f64 (neg.f64 im))) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 2 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 1/2 (exp.f64 (neg.f64 im)))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 (neg.f64 im)) 4) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (exp.f64 im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (/.f64 1/2 (exp.f64 im))) re)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 4) (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (-.f64 0 (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 (exp.f64 im) re) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 1/2 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 (exp.f64 im) re) (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (-.f64 0 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (*.f64 2 (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (/.f64 4 (/.f64 re (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (*.f64 2 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 2 (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 (/.f64 1 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (/.f64 -1 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (-.f64 0 (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (/.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (/.f64 1/2 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -2) (*.f64 2 (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -2) (/.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -2) (/.f64 (*.f64 (exp.f64 im) 2) (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -2) (-.f64 0 (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 re (exp.f64 im)) 1/4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (neg.f64 (exp.f64 im))) (/.f64 -1 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (neg.f64 (exp.f64 im))) (-.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 (exp.f64 im) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (*.f64 2 (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2) (*.f64 (exp.f64 im) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (exp.f64 im))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (-.f64 0 (/.f64 (/.f64 (exp.f64 im) re) (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (-.f64 0 (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (-.f64 0 (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re (/.f64 1/2 (exp.f64 im)))) (-.f64 0 (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 re re) (exp.f64 im))) (-.f64 0 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4))) (neg.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (/.f64 (exp.f64 im) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2)) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (exp.f64 im)))) (-.f64 0 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))) (neg.f64 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)))))

simplify126.0ms (0.9%)

Algorithm
egg-herbie
Rules
1136×rational.json-simplify-50
1100×rational.json-simplify-43
1068×rational.json-simplify-2
974×rational.json-simplify-35
720×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03225195
111025029
234314931
363024891
Stop Event
node limit
Counts
143 → 165
Calls
Call 1
Inputs
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) re))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 3))) re)))
re
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2))) re)
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3))) re))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 re) (+.f64 (*.f64 2 re) (*.f64 2/3 re))) (+.f64 (*.f64 1/12 re) (+.f64 (*.f64 4/3 re) (+.f64 re (*.f64 1/2 (-.f64 (*.f64 2 re) re)))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3))) re)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(+.f64 0 (/.f64 re (exp.f64 im)))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (exp.f64 im)))))
(-.f64 (/.f64 re (exp.f64 im)) 0)
(-.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 (/.f64 (neg.f64 re) 2) (exp.f64 im)))
(-.f64 0 (/.f64 re (neg.f64 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (*.f64 2 (*.f64 1/2 (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) 1)
(*.f64 1 (/.f64 re (exp.f64 im)))
(*.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (/.f64 (+.f64 re re) (exp.f64 im)))
(*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) 2)
(*.f64 -1 (/.f64 re (neg.f64 (exp.f64 im))))
(*.f64 (+.f64 re re) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 re re) (/.f64 1/2 (exp.f64 im)))
(*.f64 (/.f64 (+.f64 re re) (exp.f64 im)) 1/2)
(*.f64 (*.f64 re 4) (/.f64 (exp.f64 (neg.f64 im)) 4))
(*.f64 (exp.f64 (neg.f64 im)) re)
(*.f64 (neg.f64 re) (/.f64 -1 (exp.f64 im)))
(*.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (+.f64 re re))
(*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))
(*.f64 (*.f64 2 (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.f64 (*.f64 re 1/2) (*.f64 2 (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 2 (*.f64 1/2 (exp.f64 (neg.f64 im)))) re)
(*.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) 4) (*.f64 re 4))
(*.f64 (/.f64 -1 (exp.f64 im)) (neg.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (/.f64 1/2 (exp.f64 im))) re)
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))
(+.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(+.f64 0 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 4) (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 4))
(+.f64 (*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(-.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(/.f64 re (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(/.f64 re (-.f64 0 (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 1 (/.f64 (/.f64 1 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(/.f64 2 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 2 (*.f64 2 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) re) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1/2 (/.f64 (/.f64 1/2 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)
(/.f64 -1 (/.f64 (/.f64 (exp.f64 im) re) (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 -1 (-.f64 0 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(/.f64 (+.f64 re re) (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(/.f64 (+.f64 re re) (*.f64 2 (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) re))
(/.f64 4 (*.f64 2 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(/.f64 4 (/.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 4 (/.f64 (/.f64 4 (/.f64 re (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (*.f64 2 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 re 4) (*.f64 2 (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 (*.f64 re 4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (*.f64 re 4) (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2)
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 (/.f64 1 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (neg.f64 re) (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(/.f64 (neg.f64 re) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 re) (/.f64 -1 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (neg.f64 re) (-.f64 0 (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 2 (*.f64 re 4)) (/.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))) 4)
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 2 re))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 2 (/.f64 1 re)))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) (/.f64 1 re))
(/.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (/.f64 1/2 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 re -2) (*.f64 2 (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 (*.f64 re -2) (/.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 re -2) (/.f64 (*.f64 (exp.f64 im) 2) (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 re -2) (-.f64 0 (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 -2 (-.f64 0 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))) 8)
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (/.f64 1/2 re))
(/.f64 (/.f64 (/.f64 re (exp.f64 im)) 1/4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) (/.f64 -1 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) (-.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 (exp.f64 im) (+.f64 re re)))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))) 16)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (*.f64 2 (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2) (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (exp.f64 im))) (/.f64 -1 re))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re)) (exp.f64 im))
(/.f64 -1/2 (-.f64 0 (/.f64 (/.f64 (exp.f64 im) re) (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) (/.f64 -1 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 (exp.f64 im) re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (-.f64 0 (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (-.f64 0 (/.f64 2 re)))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 (neg.f64 (*.f64 re (/.f64 1/2 (exp.f64 im)))) (-.f64 0 (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (neg.f64 (/.f64 (+.f64 re re) (exp.f64 im))) (-.f64 0 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4))) (neg.f64 (/.f64 1/2 re)))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (/.f64 (exp.f64 im) (+.f64 re re))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2)) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (exp.f64 im)))) (-.f64 0 (/.f64 -1 re)))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re))) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))) (/.f64 1 re))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))) (neg.f64 (/.f64 (exp.f64 im) re)))
(pow.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)
Outputs
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 re (*.f64 re (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) re))
(+.f64 (*.f64 (+.f64 (neg.f64 re) (*.f64 re 1/2)) (*.f64 (pow.f64 im 2) -1)) (+.f64 re (*.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (neg.f64 (*.f64 (pow.f64 im 2) (*.f64 re -1/2))) (*.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 2) (*.f64 re 1/2))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 3))) re)))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (+.f64 (*.f64 re -1/2) (+.f64 (*.f64 re 1/6) (*.f64 -1 (+.f64 (neg.f64 re) (*.f64 re 1/2))))) (*.f64 (pow.f64 im 3) -1)) (+.f64 re (*.f64 (+.f64 (neg.f64 re) (*.f64 re 1/2)) (*.f64 (pow.f64 im 2) -1)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 re (+.f64 (*.f64 (+.f64 (*.f64 re -1/2) (+.f64 (*.f64 re 1/6) (neg.f64 (*.f64 re -1/2)))) (neg.f64 (pow.f64 im 3))) (neg.f64 (*.f64 (pow.f64 im 2) (*.f64 re -1/2))))))
(+.f64 re (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) (*.f64 (+.f64 (*.f64 re 1/2) (*.f64 re -1/3)) (neg.f64 (pow.f64 im 3)))) (*.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (*.f64 (+.f64 (*.f64 re 1/2) (*.f64 re -1/3)) (neg.f64 (pow.f64 im 3))) (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 2) (*.f64 re 1/2)))))
re
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2))) re)
(+.f64 re (*.f64 (-.f64 (*.f64 re 2) re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 re 2) re))))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (+.f64 re re) re))))
(+.f64 re (*.f64 (-.f64 (+.f64 re re) re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3))) re))
(+.f64 (*.f64 (+.f64 re (-.f64 (*.f64 re 4/3) (+.f64 (*.f64 re 2) (*.f64 re 1/3)))) (*.f64 (pow.f64 im 3) 1/2)) (+.f64 re (*.f64 (-.f64 (*.f64 re 2) re) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 re (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 re 2) re))) (*.f64 1/2 (*.f64 (pow.f64 im 3) (+.f64 re (-.f64 (*.f64 re 4/3) (*.f64 re 7/3)))))))
(+.f64 re (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (+.f64 re re) re)) (*.f64 (pow.f64 im 3) (+.f64 re (-.f64 (*.f64 re 4/3) (*.f64 re 7/3)))))))
(+.f64 re (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (+.f64 re re) re)) (*.f64 (pow.f64 im 3) (+.f64 re (neg.f64 re))))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 re) (+.f64 (*.f64 2 re) (*.f64 2/3 re))) (+.f64 (*.f64 1/12 re) (+.f64 (*.f64 4/3 re) (+.f64 re (*.f64 1/2 (-.f64 (*.f64 2 re) re)))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 2 re) re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 4/3 re) re) (+.f64 (*.f64 1/3 re) (*.f64 2 re))) (pow.f64 im 3))) re)))
(+.f64 (*.f64 (-.f64 (*.f64 re 2) re) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (+.f64 re (*.f64 (+.f64 re (-.f64 (*.f64 re 4/3) (+.f64 (*.f64 re 2) (*.f64 re 1/3)))) (*.f64 (pow.f64 im 3) 1/2))) (*.f64 (+.f64 (+.f64 (*.f64 re 2) (*.f64 re 2/3)) (-.f64 (*.f64 re 1/3) (+.f64 (*.f64 re 4/3) (+.f64 (+.f64 re (*.f64 1/2 (-.f64 (*.f64 re 2) re))) (*.f64 re 1/12))))) (*.f64 (pow.f64 im 4) 1/2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 re 2) re))) (+.f64 (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 3) (+.f64 re (-.f64 (*.f64 re 4/3) (*.f64 re 7/3)))))) (*.f64 (+.f64 (*.f64 re 1/3) (-.f64 (*.f64 re 8/3) (+.f64 (*.f64 re 4/3) (+.f64 (*.f64 re 1/12) (+.f64 re (*.f64 1/2 (-.f64 (*.f64 re 2) re))))))) (*.f64 1/2 (pow.f64 im 4)))))
(+.f64 (+.f64 re (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (+.f64 re re) re)) (*.f64 (pow.f64 im 3) (+.f64 re (-.f64 (*.f64 re 4/3) (*.f64 re 7/3))))))) (*.f64 (-.f64 (*.f64 re 3) (+.f64 (+.f64 re (*.f64 1/2 (-.f64 (+.f64 re re) re))) (*.f64 re 17/12))) (*.f64 1/2 (pow.f64 im 4))))
(+.f64 re (+.f64 (*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 (*.f64 1/2 (-.f64 (+.f64 re re) re)) (*.f64 re 17/12)))) (*.f64 1/2 (pow.f64 im 4))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (+.f64 re re) re)) (*.f64 (pow.f64 im 3) (+.f64 re (neg.f64 re)))))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (*.f64 2 im)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im)) 1/2))
(*.f64 (+.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))
(*.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))
(+.f64 0 (/.f64 re (exp.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 -1 (-.f64 1 (/.f64 re (neg.f64 (exp.f64 im)))))
(/.f64 re (exp.f64 im))
(-.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(-.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 (/.f64 (neg.f64 re) 2) (exp.f64 im)))
(-.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 (neg.f64 re) (*.f64 2 (exp.f64 im))))
(-.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 (*.f64 re -1/2) (exp.f64 im)))
(-.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 re (*.f64 (exp.f64 im) -2)))
(-.f64 0 (/.f64 re (neg.f64 (exp.f64 im))))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (*.f64 2 (*.f64 1/2 (exp.f64 (neg.f64 im)))))
(/.f64 re (exp.f64 im))
(*.f64 re (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 (neg.f64 im)))))
(*.f64 (/.f64 re (exp.f64 im)) 1)
(/.f64 re (exp.f64 im))
(*.f64 1 (/.f64 re (exp.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))
(*.f64 1/2 (/.f64 (+.f64 re re) (exp.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) 2)
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))
(*.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 -1 (/.f64 re (neg.f64 (exp.f64 im))))
(/.f64 re (exp.f64 im))
(*.f64 (+.f64 re re) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(/.f64 re (exp.f64 im))
(*.f64 (+.f64 re re) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))
(*.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 (+.f64 re re) (exp.f64 im)) 1/2)
(/.f64 re (exp.f64 im))
(*.f64 (*.f64 re 4) (/.f64 (exp.f64 (neg.f64 im)) 4))
(*.f64 (*.f64 re 4) (/.f64 1/4 (exp.f64 im)))
(*.f64 (/.f64 1/4 (exp.f64 im)) (*.f64 re 4))
(*.f64 re (*.f64 4 (/.f64 1/4 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) re)
(/.f64 re (exp.f64 im))
(*.f64 (neg.f64 re) (/.f64 -1 (exp.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (+.f64 re re))
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 re re))
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 2 (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 2 (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(/.f64 re (exp.f64 im))
(*.f64 (*.f64 re 1/2) (*.f64 2 (exp.f64 (neg.f64 im))))
(/.f64 re (exp.f64 im))
(*.f64 (*.f64 2 (*.f64 1/2 (exp.f64 (neg.f64 im)))) re)
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) 4) (*.f64 re 4))
(*.f64 (*.f64 re 4) (/.f64 (exp.f64 (neg.f64 im)) 4))
(*.f64 (*.f64 re 4) (/.f64 1/4 (exp.f64 im)))
(*.f64 (/.f64 1/4 (exp.f64 im)) (*.f64 re 4))
(*.f64 re (*.f64 4 (/.f64 1/4 (exp.f64 im))))
(*.f64 (/.f64 -1 (exp.f64 im)) (neg.f64 re))
(/.f64 re (exp.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (/.f64 1/2 (exp.f64 im))) re)
(*.f64 re (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 (neg.f64 im)))))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(/.f64 re (exp.f64 im))
(neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))
(/.f64 re (exp.f64 im))
(+.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 0 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 4) (/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 4))
(+.f64 (*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 re 4)) (*.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 re 4)))
(+.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (exp.f64 im)))) (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (exp.f64 im)))))
(*.f64 (/.f64 re 4) (*.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(+.f64 (*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (*.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 re (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 re (-.f64 0 (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1 (/.f64 (/.f64 1 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 2 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 2 (*.f64 2 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) re) (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 1/2 (/.f64 (/.f64 1/2 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 -1 (/.f64 (/.f64 (exp.f64 im) re) (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 -1 (-.f64 0 (/.f64 2 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 re re) (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 re re) (*.f64 2 (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 4 (*.f64 2 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 4 (/.f64 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 4 (/.f64 (/.f64 4 (/.f64 re (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (*.f64 2 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re 4) (*.f64 2 (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re 4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re 4) (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 2)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 (/.f64 1 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 re) (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 re) (/.f64 (*.f64 (exp.f64 im) 2) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 re) (/.f64 -1 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 re) (-.f64 0 (/.f64 2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (*.f64 2 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 2 (*.f64 re 4)) (/.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))) 4)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 2 re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 2 (/.f64 1 re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) (/.f64 1 re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (/.f64 1/2 re) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re -2) (*.f64 2 (/.f64 2 (/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re -2) (/.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re -2) (/.f64 (*.f64 (exp.f64 im) 2) (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re -2) (-.f64 0 (/.f64 4 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (/.f64 (/.f64 (+.f64 re re) (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 -2 (-.f64 0 (/.f64 4 (*.f64 re (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im)))))) 8)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (/.f64 1/2 re))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 4 (exp.f64 im)) (/.f64 1/2 re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 1/2 re) (*.f64 4 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (*.f64 (exp.f64 im) (/.f64 1/2 re))))
(/.f64 re (/.f64 (*.f64 2 (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (/.f64 re (exp.f64 im)) 1/4) (/.f64 4 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) (/.f64 -1 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) (-.f64 0 (/.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 (exp.f64 im) (+.f64 re re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 -1 (exp.f64 (+.f64 im im))) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (/.f64 (exp.f64 im) re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))))) 16)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (*.f64 2 (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2) (*.f64 (exp.f64 im) (/.f64 2 re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (exp.f64 im))) (/.f64 -1 re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re)) (exp.f64 im))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 -1/2 (-.f64 0 (/.f64 (/.f64 (exp.f64 im) re) (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) (/.f64 -1 re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 (exp.f64 im) re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (-.f64 0 (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (*.f64 2 (+.f64 1 (exp.f64 (+.f64 im im))))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (-.f64 0 (/.f64 2 re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (-.f64 -1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) (/.f64 2 re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (*.f64 re (/.f64 1/2 (exp.f64 im)))) (-.f64 0 (/.f64 1 (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (+.f64 re re) (exp.f64 im))) (-.f64 0 (/.f64 4 (+.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4))) (neg.f64 (/.f64 1/2 re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 4 (exp.f64 im)) (/.f64 1/2 re)))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 1/2 re) (*.f64 4 (exp.f64 im))))
(/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (*.f64 (exp.f64 im) (/.f64 1/2 re))))
(/.f64 re (/.f64 (*.f64 2 (exp.f64 im)) (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (/.f64 (exp.f64 im) (+.f64 re re))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2)) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re))))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (exp.f64 im)))) (-.f64 0 (/.f64 -1 re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re))) (neg.f64 (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))) (/.f64 1 re))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) 1/2)))) (neg.f64 (/.f64 (exp.f64 im) re)))
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))
(pow.f64 (*.f64 re (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 1/2 (+.f64 1 (exp.f64 (+.f64 im im)))))

eval232.0ms (1.6%)

Compiler

Compiled 10270 to 6535 computations (36.4% saved)

prune154.0ms (1.1%)

Pruning

15 alts after pruning (3 fresh and 12 done)

PrunedKeptTotal
New5792581
Fresh011
Picked011
Done01111
Total57915594
Error
0b
Counts
594 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
1.0b
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
0.9b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
61.1b
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
33.4b
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
32.6b
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
32.7b
(*.f64 1/2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re)))
33.4b
(*.f64 1/2 (/.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 1 re)))
32.6b
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
33.6b
(*.f64 1/2 (/.f64 2 (/.f64 1 re)))
32.6b
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
1.2b
(sin.f64 re)
33.5b
re
Compiler

Compiled 173 to 136 computations (21.4% saved)

regimes105.0ms (0.7%)

Counts
20 → 1
Calls
Call 1
Inputs
re
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 2 (/.f64 1 re)))
(sin.f64 re)
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 1/2 (/.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 1 re)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re)))
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
Outputs
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
Calls

6 calls:

58.0ms
(sin.f64 re)
10.0ms
(*.f64 1/2 (sin.f64 re))
10.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
10.0ms
im
9.0ms
re
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (sin.f64 re))
0.0b1(sin.f64 re)
0.0b1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 247 to 157 computations (36.4% saved)

regimes166.0ms (1.2%)

Counts
17 → 1
Calls
Call 1
Inputs
re
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 2 (/.f64 1 re)))
(sin.f64 re)
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 1/2 (/.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 1 re)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re)))
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

80.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
9.0ms
(*.f64 1/2 (sin.f64 re))
9.0ms
re
8.0ms
(sin.f64 re)
8.0ms
im
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (sin.f64 re))
0.0b1(sin.f64 re)
0.0b1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 201 to 134 computations (33.3% saved)

regimes77.0ms (0.5%)

Counts
14 → 1
Calls
Call 1
Inputs
re
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (/.f64 2 (/.f64 1 re)))
(sin.f64 re)
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 1/2 (/.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 1 re)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 re)))
(/.f64 (/.f64 (sin.f64 re) -2) (-.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2))
(*.f64 1/2 (/.f64 (*.f64 re (+.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im)))
(*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 1/2 (*.f64 (+.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (neg.f64 im)) re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
Calls

4 calls:

51.0ms
im
8.0ms
(sin.f64 re)
7.0ms
(*.f64 1/2 (sin.f64 re))
7.0ms
re
Results
ErrorSegmentsBranch
0.9b1re
0.9b1im
0.9b1(*.f64 1/2 (sin.f64 re))
0.9b1(sin.f64 re)
Compiler

Compiled 144 to 100 computations (30.6% saved)

regimes17.0ms (0.1%)

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

3 calls:

6.0ms
(sin.f64 re)
5.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
1.2b1re
1.2b1im
1.2b1(sin.f64 re)
Compiler

Compiled 64 to 47 computations (26.6% saved)

regimes69.0ms (0.5%)

Accuracy

Total -0.1b remaining (-0.2%)

Threshold costs -0.1b (-0.2%)

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

2 calls:

65.0ms
im
3.0ms
re
Results
ErrorSegmentsBranch
33.5b1re
33.5b1im
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025113
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(sin.f64 re)
re
Outputs
(/.f64 (/.f64 (sin.f64 re) -2) (/.f64 (exp.f64 im) (-.f64 -1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(sin.f64 re)
re
Compiler

Compiled 48 to 37 computations (22.9% saved)

soundness237.0ms (1.6%)

Algorithm
egg-herbie
Rules
2226×rational.json-simplify-1
1504×rational.json-simplify-35
1374×rational.json-simplify-2
1284×rational.json-simplify-53
1110×rational.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
12235
23335
35035
46435
58535
612935
727135
877335
9219235
10274935
11343235
12536635
13641835
14753335
03295691
110445681
237045643
359915643
Stop Event
node limit
node limit
Compiler

Compiled 71 to 42 computations (40.8% saved)

end73.0ms (0.5%)

Compiler

Compiled 40 to 25 computations (37.5% saved)

Profiling

Loading profile data...