Details

Time bar (total: 15.2s)

analyze145.0ms (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
57.1%50%37.5%0.1%12.5%0%0%7
57.1%50%37.5%0.1%12.5%0%0%8
61.5%50%31.2%0.1%18.7%0%0%9
61.5%50%31.2%0.1%18.7%0%0%10
64%50%28.1%0.1%21.9%0%0%11
64%50%28.1%0.1%21.9%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample7.1s (46.6%)

Results
3.4s5014×body1024valid
1.4s2031×body1024infinite
865.0ms1738×body512valid
595.0ms453×body2048valid
303.0ms976×body512infinite
265.0ms1544×body256infinite
207.0ms1051×body256valid
Bogosity

preprocess91.0ms (0.6%)

Algorithm
egg-herbie
Rules
1750×rational.json-simplify-35
1186×rational.json-simplify-59
854×rational.json-simplify-1
824×rational.json-simplify-2
798×rational.json-simplify-46
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
12970
24970
38170
412570
520570
642770
799370
8240270
9377070
10619770
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify547.0ms (3.6%)

Algorithm
egg-herbie
Rules
3840×rational.json-simplify-42
2308×rational.json-simplify-35
1800×rational.json-simplify-2
1532×rational.json-simplify-1
1510×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
11935
23335
35435
48235
513035
626035
757835
8135935
9226935
10275035
11367835
12407835
13428835
14442635
15454235
16465835
17615335
18636935
19653535
20665535
21676935
22676935
23728635
24733135
25748435
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.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
57.3b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
6.6b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0%)

Counts
2 → 32
Calls

9 calls:

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

rewrite83.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
18954
220254
346854
496454
5244554
6555254
Stop Event
node limit
Counts
2 → 55
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(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 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (exp.f64 im)) (-.f64 1 (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 -1 (exp.f64 im))) (-.f64 1 (exp.f64 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(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 2 (exp.f64 im)) (*.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (neg.f64 (*.f64 (exp.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(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 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))))) (#(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 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 (*.f64 im -2)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)))) (#(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 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 (exp.f64 im) 1/2) (+.f64 -2 (/.f64 2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 1/2) (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 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 (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 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)))) (#(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 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)))) (#(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 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.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 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)))))

simplify201.0ms (1.3%)

Algorithm
egg-herbie
Rules
1476×rational.json-simplify-35
1134×rational.json-simplify-41
1048×rational.json-simplify-51
970×rational.json-simplify-53
894×rational.json-simplify-2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01882771
14022699
29352611
318632577
441862577
561602571
679942571
Stop Event
node limit
Counts
87 → 118
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))
(+.f64 -2 (-.f64 1 (+.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(+.f64 (-.f64 -1 (exp.f64 im)) (-.f64 1 (/.f64 -1 (exp.f64 im))))
(+.f64 (-.f64 -1 (/.f64 -1 (exp.f64 im))) (-.f64 1 (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) -2)))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(*.f64 (*.f64 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 (*.f64 im -2)) 2) 1/2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(*.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 (exp.f64 im) 1/2) (+.f64 -2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (exp.f64 im) 1/2) (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
(/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(/.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 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(/.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 2)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4)))) 32)
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48)) (+.f64 (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/1440 (pow.f64 re 6))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (+.f64 (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (+.f64 (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)) (*.f64 (cos.f64 re) (neg.f64 im)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 7) -1/5040)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 -2 (-.f64 1 (+.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (exp.f64 im) -1) 1)))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -1 (+.f64 -1 (exp.f64 im)))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 -1 (exp.f64 im)) (-.f64 1 (/.f64 -1 (exp.f64 im))))
(+.f64 (-.f64 -1 (/.f64 -1 (exp.f64 im))) (-.f64 1 (exp.f64 im)))
(+.f64 (-.f64 1 (exp.f64 im)) (-.f64 -1 (/.f64 -1 (exp.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) -2)))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 -2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 -2 (exp.f64 im))))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 (*.f64 im -2)) 2) 1/2))
(*.f64 (*.f64 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 (*.f64 -2 im)) 2) 1/2))
(*.f64 2 (*.f64 (exp.f64 im) (-.f64 (/.f64 (exp.f64 (*.f64 -2 im)) 2) 1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)
(-.f64 (exp.f64 (neg.f64 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 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.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 (exp.f64 im) 1/2) (-.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))
(*.f64 (exp.f64 im) (*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2)))
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.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 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(-.f64 (exp.f64 (neg.f64 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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (-.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 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(-.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 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4)) 8)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4))) 16)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 4)))) 32)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))

eval84.0ms (0.6%)

Compiler

Compiled 2115 to 1131 computations (46.5% saved)

prune22.0ms (0.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1117118
Fresh000
Picked011
Done000
Total1118119
Error
0.1b
Counts
119 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
0.7b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
0.8b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 209 to 162 computations (22.5% saved)

localize88.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))
0.0b
(*.f64 (pow.f64 im 5) -1/120)
0.1b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
0.2b
(*.f64 (pow.f64 im 3) -1/6)
Compiler

Compiled 70 to 50 computations (28.6% saved)

series7.0ms (0%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
1.0ms
re
@0
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
1.0ms
im
@inf
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
0.0ms
im
@0
(*.f64 (pow.f64 im 3) -1/6)
0.0ms
im
@0
(*.f64 (pow.f64 im 5) -1/120)

rewrite140.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
018108
1123108
2247108
3508108
41124108
52460108
64257108
76252108
87628108
Stop Event
node limit
Counts
4 → 57
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (pow.f64 im 5) -1/120)
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 1/2)) (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 5) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 5) -1/240)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)))))

simplify216.0ms (1.4%)

Algorithm
egg-herbie
Rules
2048×rational.json-simplify-35
1740×rational.json-simplify-2
1694×rational.json-simplify-51
952×rational.json-simplify-1
842×rational.json-simplify-48
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01653535
14113535
29803417
327633417
440593417
547043417
652503417
756553417
857603339
976883339
Stop Event
node limit
Counts
117 → 97
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 1/2)) (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8))))) 64)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 1)
(+.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(+.f64 0 (*.f64 (pow.f64 im 5) -1/120))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(-.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8)))) 64)
(pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 0)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1/2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 5) -1/240)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8)))) 64)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)
Outputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 -1/6 (pow.f64 im 3))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 -1/6 (pow.f64 im 3))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 -1/6 (pow.f64 im 3)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (pow.f64 im 5)))) im)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 -1/120 (pow.f64 im 5))) (-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 6) -1/720)) im))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (pow.f64 im 5)))) im))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) (-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/720 (pow.f64 re 6))) im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/720 (pow.f64 re 6))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 0)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 1/2)) (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 1/2)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 0)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 1)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 2)) 2)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8)) 8)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8))) 16)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8)))) 32)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) 8))))) 64)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))) 1)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 (pow.f64 im 5) -1/120))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8)) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8))) 32)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 5) -1/120) 8)))) 64)
(*.f64 -1/120 (pow.f64 im 5))
(pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 5) -1/240)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1/2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 8)))) 64)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))
(pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (neg.f64 im) (cos.f64 re))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@0
(*.f64 (neg.f64 im) (cos.f64 re))
0.0ms
im
@inf
(*.f64 (neg.f64 im) (cos.f64 re))
0.0ms
re
@-inf
(*.f64 (neg.f64 im) (cos.f64 re))
0.0ms
re
@inf
(*.f64 (neg.f64 im) (cos.f64 re))
0.0ms
re
@0
(*.f64 (neg.f64 im) (cos.f64 re))

rewrite92.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15715
214215
331215
464515
5155615
6334715
7595415
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (neg.f64 im) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (/.f64 (cos.f64 re) -2)) (*.f64 im (/.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 im -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -8 (*.f64 im (cos.f64 re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (cos.f64 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (cos.f64 re)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (cos.f64 re)))))))

simplify210.0ms (1.4%)

Algorithm
egg-herbie
Rules
2438×rational.json-simplify-2
1804×rational.json-simplify-35
1260×rational.json-simplify-1
884×rational.json-simplify-53
880×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076787
1190779
2371767
3882755
42407755
54223755
65415755
76030755
86485755
97137755
107526755
Stop Event
node limit
Counts
45 → 41
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 im (/.f64 (cos.f64 re) -2)) (*.f64 im (/.f64 (cos.f64 re) -2)))
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(-.f64 0 (*.f64 im (cos.f64 re)))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -4)) 4)
(/.f64 (*.f64 im (cos.f64 re)) -1)
(/.f64 (*.f64 -8 (*.f64 im (cos.f64 re))) 8)
(/.f64 (*.f64 2 (*.f64 im (cos.f64 re))) -2)
(/.f64 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (cos.f64 re)))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re))))))) 128)
(pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 im (cos.f64 re)))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2))))
(+.f64 (neg.f64 im) (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (+.f64 (neg.f64 im) (*.f64 (pow.f64 re 4) (*.f64 im -1/24))))
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (+.f64 (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2)))) (*.f64 1/720 (*.f64 im (pow.f64 re 6)))))
(+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (+.f64 (neg.f64 im) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))) (*.f64 (pow.f64 re 6) (*.f64 im 1/720)))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (*.f64 im (*.f64 1/720 (pow.f64 re 6)))))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/720 (pow.f64 re 6)) (*.f64 -1/24 (pow.f64 re 4))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 im (/.f64 (cos.f64 re) -2)) (*.f64 im (/.f64 (cos.f64 re) -2)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -4)) 4)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 -8 (*.f64 im (cos.f64 re))) 8)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 im (cos.f64 re))) -2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))) 16)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (cos.f64 re)))) -4)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re))))) 32)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))))) 64)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 im (cos.f64 re))))))) 128)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.6b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 25 to 9 computations (64% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))
0.1b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
0.2b
(*.f64 (pow.f64 im 3) -1/6)
Compiler

Compiled 37 to 23 computations (37.8% saved)

series2.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite125.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1764×rational.json-simplify-35
1422×rational.json-1
1422×rational.json-2
1422×rational.json-3
1406×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01356
18956
218756
338456
479056
5190056
6371556
7526156
8706056
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)))))

simplify330.0ms (2.2%)

Algorithm
egg-herbie
Rules
1802×rational.json-simplify-35
1666×rational.json-simplify-53
1624×rational.json-simplify-2
1354×exponential.json-simplify-26
1284×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01192365
12672335
25882131
317052083
435232083
539742083
641462083
743472083
845642083
948482083
1067252083
1176032083
1278122083
1379652083
Stop Event
node limit
Counts
71 → 74
Calls
Call 1
Inputs
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) (cos.f64 re)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))))) 128)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(-.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 0)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)
(*.f64 1 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)) 2)
(*.f64 1/4 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4))
(*.f64 (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 4)
(/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)
(/.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2) 2)
(/.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 4)
(/.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) 128)
(pow.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)
Outputs
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) im))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4))) (*.f64 (pow.f64 re 6) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/720)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 6) -1/720)))) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/720 (pow.f64 re 6)))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2)))) im)))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2))))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)) (+.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)) (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) (cos.f64 re)) 2)
(*.f64 (cos.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 2))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4)) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)) 8)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))) 16)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) 32)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) 64)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))))) 128)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(-.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 4 (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 1/4 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) 64)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 8))))) 128)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(pow.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))

localize24.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 34 computations (33.3% saved)

series12.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite124.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1774×rational.json-simplify-35
1402×rational.json-1
1402×rational.json-2
1402×rational.json-3
1400×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01687
111087
223587
353187
4106787
5235787
6399987
7528087
8674287
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(+.f64 -1 (exp.f64 (*.f64 im -2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 im -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (exp.f64 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/4))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 1)))))

simplify140.0ms (0.9%)

Algorithm
egg-herbie
Rules
1538×rational.json-simplify-61
1380×rational.json-simplify-35
998×rational.json-simplify-1
812×rational.json-simplify-2
658×rational.json-simplify-41
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01963460
14783356
211623204
324833176
436493164
544963164
669613164
Stop Event
node limit
Counts
96 → 119
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))) (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 2)))) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/1440 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 6)))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 2)))) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 4)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (cos.f64 re) (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 -1/3 (cos.f64 re))))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(-.f64 (exp.f64 (*.f64 im -2)) 1)
(-.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 0)
(*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)))
(*.f64 1 (+.f64 -1 (exp.f64 (*.f64 im -2))))
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1/2))
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 1/2)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1/2) 2)
(*.f64 4 (/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))
(*.f64 (/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 4)
(*.f64 (+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (*.f64 im -2)))
(/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)))))) 128)
(pow.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 0)
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/4))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/4))))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 0)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (exp.f64 im))) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))) 128)
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 0)
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (exp.f64 im))))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 0)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 2)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))))))) 128)
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 -2 im) (*.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3)))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 -1 (exp.f64 (*.f64 -2 im)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))) (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 2)))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 2)))) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 4))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 1/48 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 4) (exp.f64 im))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 1/48 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 4))))))
(+.f64 (*.f64 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) -1/4)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4))))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/1440 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 6)))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 2)))) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 4)))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 1/48 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 4) (exp.f64 im))))) (*.f64 -1/1440 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 6) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 1/48 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 4))))) (*.f64 -1/1440 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 6) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))))
(*.f64 -1 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))))) (*.f64 1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (cos.f64 re) -1)))))))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 2/3 (cos.f64 re)))) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 0)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3))) 0))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (cos.f64 re) (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 -1/3 (cos.f64 re))))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3))))))
(+.f64 (*.f64 -1 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (cos.f64 re) -1))))) (*.f64 1/2 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (cos.f64 re) (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 (cos.f64 re) -1/3)))))))))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (cos.f64 re) 0))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/3)))) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 2/3 (cos.f64 re))))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (cos.f64 re) (neg.f64 (cos.f64 re)))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/3))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (*.f64 0 (neg.f64 (cos.f64 re)))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/3)) 0))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/3)) (*.f64 (pow.f64 im 4) (*.f64 0 (neg.f64 (cos.f64 re)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 -1/2520 (pow.f64 im 7)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im))) (*.f64 -1/2520 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(-.f64 (exp.f64 (*.f64 im -2)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 0)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)))
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 1 (+.f64 -1 (exp.f64 (*.f64 im -2))))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1/2))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 1/2)
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1/2) 2)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 4 (/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 1/4)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 4)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (*.f64 im -2)))
(*.f64 (exp.f64 (*.f64 -2 im)) (+.f64 1 (neg.f64 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (*.f64 -2 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 2)
(/.f64 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4) 4)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)) 8)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))) 16)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)))) 32)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4))))) 64)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 4)))))) 128)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(pow.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 0)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/4))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/4))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 0)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 1)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (exp.f64 im))) 2)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 4)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) 8)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))) 16)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) 32)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))) 64)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))) 128)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) 1)
(*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 0)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 0)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 2)) 2)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)) 4)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))) 8)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)))) 16)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))))) 32)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4)))))) 64)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 4))))))) 128)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (exp.f64 im)) 1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))

eval152.0ms (1%)

Compiler

Compiled 8033 to 5565 computations (30.7% saved)

prune76.0ms (0.5%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New4057412
Fresh022
Picked011
Done235
Total40713420
Error
0.1b
Counts
420 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
58.5b
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
28.5b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
0.8b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
0.7b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
59.9b
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
28.9b
(neg.f64 im)
Compiler

Compiled 264 to 206 computations (22% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
0.0b
(*.f64 -1/120 (pow.f64 im 5))
0.1b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.2b
(*.f64 -1/6 (pow.f64 im 3))
Compiler

Compiled 66 to 49 computations (25.8% saved)

series5.0ms (0%)

Counts
4 → 19
Calls

15 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.0ms
im
@inf
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.0ms
im
@-inf
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.0ms
im
@0
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.0ms
re
@inf
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))

rewrite114.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
017104
1112104
2221104
3469104
4974104
52421104
64587104
76414104
Stop Event
node limit
Counts
4 → 55
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)))))

simplify196.0ms (1.3%)

Algorithm
egg-herbie
Rules
2662×rational.json-simplify-51
1870×rational.json-simplify-35
1160×rational.json-simplify-2
950×rational.json-simplify-53
926×rational.json-simplify-1
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01562972
13812932
28722562
323002562
435552562
547092562
651592562
754582562
857242268
979292268
Stop Event
node limit
Counts
74 → 95
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))))) 64)
(pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) 64)
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 0)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(*.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) 64)
(pow.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4))))) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(+.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24))))) (-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 6) -1/720)) im))
(+.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4)))))) (-.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) im))
(+.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 2)) 2)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)) 4)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))) 8)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) 16)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))))) 32)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))))) 64)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) 64)
(*.f64 -1/120 (pow.f64 im 5))
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)) 8)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) 16)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)))) 32)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) 64)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(pow.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))

localize4.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 im (cos.f64 re)))
0.1b
(*.f64 im (cos.f64 re))
6.2b
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
Compiler

Compiled 25 to 11 computations (56% saved)

series2.0ms (0%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
0.0ms
re
@0
(-.f64 1 (*.f64 im (cos.f64 re)))
0.0ms
re
@0
(*.f64 im (cos.f64 re))
0.0ms
re
@0
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
0.0ms
im
@0
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
0.0ms
im
@inf
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)

rewrite132.0ms (0.9%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01045
17843
217643
334443
468743
5166343
6335643
7496043
8688943
Stop Event
node limit
Counts
3 → 139
Calls
Call 1
Inputs
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 im (cos.f64 re))
(-.f64 1 (*.f64 im (cos.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 im (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) -1) (-.f64 1 (*.f64 im (*.f64 (cos.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (*.f64 im 1/2)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 im -2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (cos.f64 re) -2) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 im (cos.f64 re)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (neg.f64 (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (neg.f64 (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 1/2 (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im (*.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 re)) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 im (cos.f64 re)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 im (*.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) -2) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -2) (*.f64 (cos.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (cos.f64 re) 2)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 im im)) (*.f64 (cos.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 re) -2) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im (cos.f64 re)) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (neg.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) 2))) (*.f64 1/2 (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (cos.f64 re)) -8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 8)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 im (cos.f64 re)) -1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 im (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 im (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2) (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2)))))))

simplify150.0ms (1%)

Algorithm
egg-herbie
Rules
1596×rational.json-simplify-35
1102×rational.json-simplify-52
980×rational.json-simplify-1
910×rational.json-simplify-2
828×rational.json-simplify-42
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02833687
16913467
216933455
335643455
450963449
571063447
Stop Event
node limit
Counts
211 → 202
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
im
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) im)) im)))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
1
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(-.f64 1 im)
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 re 2) im))) im)
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))) im)
(-.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))) im)
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) 0)
(+.f64 0 (neg.f64 (*.f64 im (cos.f64 re))))
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 -2 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)))
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) -1))
(+.f64 (+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) -1) (-.f64 1 (*.f64 im (*.f64 (cos.f64 re) 1/2))))
(*.f64 1 (neg.f64 (*.f64 im (cos.f64 re))))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (cos.f64 re)) -1)
(*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(*.f64 -1 (*.f64 im (cos.f64 re)))
(*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(*.f64 2 (*.f64 (neg.f64 (*.f64 im 1/2)) (cos.f64 re)))
(*.f64 2 (*.f64 (/.f64 im -2) (cos.f64 re)))
(*.f64 2 (*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) im))
(*.f64 2 (*.f64 (/.f64 (cos.f64 re) -2) im))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -1/2)
(*.f64 4 (/.f64 (*.f64 im (cos.f64 re)) -4))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 1/2)
(*.f64 (*.f64 (cos.f64 re) 2) (neg.f64 (*.f64 im 1/2)))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))
(*.f64 (+.f64 im im) (neg.f64 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (+.f64 im im) (/.f64 (cos.f64 re) -2))
(*.f64 (+.f64 im im) (*.f64 1/2 (neg.f64 (cos.f64 re))))
(*.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 1/4)
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -1/4)
(*.f64 -2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 (cos.f64 re) -2)))
(*.f64 -4 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im 1/2)))
(*.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) -2))
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (cos.f64 re) 2)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) 2)
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im -2))
(*.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (+.f64 im im)))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) -2)
(*.f64 1/4 (*.f64 (*.f64 im (cos.f64 re)) -4))
(*.f64 -1/2 (*.f64 im (*.f64 (cos.f64 re) 2)))
(*.f64 (neg.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 2))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) (+.f64 im im))
(*.f64 (*.f64 (cos.f64 re) -2) (*.f64 im 1/2))
(*.f64 (*.f64 im -2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 2)) (*.f64 im 1/2))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))
(*.f64 (/.f64 (cos.f64 re) -2) (+.f64 im im))
(*.f64 -1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))
(*.f64 (/.f64 (*.f64 im (cos.f64 re)) -4) 4)
(*.f64 (*.f64 2 (neg.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) 2))) (*.f64 1/2 (*.f64 im 1/2)))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -2)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 2)
(/.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 4)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -4)
(/.f64 (*.f64 (*.f64 im (cos.f64 re)) -8) 8)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 8)) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)) 16)
(/.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))) -16)
(/.f64 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8)))) 16)
(/.f64 (neg.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8))))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))))) 32)
(pow.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(neg.f64 (*.f64 im (cos.f64 re)))
(neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))
(neg.f64 (-.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 im (cos.f64 re)) -1/2)))
(+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1))
(+.f64 (*.f64 im (cos.f64 re)) 0)
(+.f64 0 (*.f64 im (cos.f64 re)))
(+.f64 -1 (+.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -2))
(+.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 1)
(+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))
(+.f64 (+.f64 1 (*.f64 im (cos.f64 re))) -1)
(+.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(+.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2)
(-.f64 (*.f64 im (cos.f64 re)) 0)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(-.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)
(/.f64 (*.f64 im (cos.f64 re)) 1)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 8)) 8)
(/.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))))) 64)
(pow.f64 (*.f64 im (cos.f64 re)) 1)
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 0)
(+.f64 0 (-.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 -1 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -2)))
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -1)
(+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2))
(+.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2)))
(*.f64 1 (-.f64 1 (*.f64 im (cos.f64 re))))
(*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) -1))
(*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4))
(*.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2) 1/2)
(*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2))
(*.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2) -2)
(*.f64 (/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 4)
(/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(/.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2) 2)
(/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8) 8)
(/.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1)) -2)
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1)))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4)) -8)
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1))))) 8)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4))) 8)
(pow.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -1))
(neg.f64 (-.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2) (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2)))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (neg.f64 im))
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) im)
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im)) (*.f64 -1/24 (*.f64 im (pow.f64 re 4))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (neg.f64 im) (*.f64 im (*.f64 (pow.f64 re 4) -1/24))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (-.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) im))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im)) (*.f64 1/720 (*.f64 im (pow.f64 re 6)))))
(+.f64 (+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (neg.f64 im)) (+.f64 (*.f64 im (*.f64 (pow.f64 re 6) 1/720)) (*.f64 im (*.f64 (pow.f64 re 4) -1/24))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4))))))
(+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (+.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) (-.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) im)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
im
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 (*.f64 im (pow.f64 re 2)) -1/2))
(+.f64 im (*.f64 im (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 im (*.f64 im (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im))
(+.f64 (*.f64 (*.f64 im (pow.f64 re 2)) -1/2) (+.f64 im (*.f64 (pow.f64 re 4) (*.f64 im 1/24))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (*.f64 im (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (pow.f64 re 4) (*.f64 im 1/24))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (+.f64 im (*.f64 im (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) im)) im)))
(+.f64 (*.f64 (*.f64 im (pow.f64 re 2)) -1/2) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720)))))
(+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (+.f64 im (*.f64 (pow.f64 re 4) (*.f64 im 1/24))) (*.f64 im (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 im (+.f64 (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (*.f64 (pow.f64 re 6) (*.f64 im -1/720))) (*.f64 im (*.f64 (pow.f64 re 2) -1/2))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (*.f64 im (*.f64 (pow.f64 re 6) -1/720)))))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
1
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(-.f64 1 im)
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 re 2) im))) im)
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (-.f64 1 im))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (-.f64 1 im))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))) im)
(+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))) (-.f64 1 im))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (*.f64 (pow.f64 re 4) -1/24))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (-.f64 1 im)))
(-.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))) im)
(+.f64 (+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) 1)) (-.f64 (*.f64 1/720 (*.f64 im (pow.f64 re 6))) im))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 6) 1/720)) (+.f64 (-.f64 1 im) (+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) 1) (-.f64 (*.f64 (pow.f64 re 6) (*.f64 im 1/720)) im)))
(+.f64 (+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))) (+.f64 1 (-.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) im)))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (-.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) im) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) 1)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) 0)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 0 (neg.f64 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 -2 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) -1))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) -1) (-.f64 1 (*.f64 im (*.f64 (cos.f64 re) 1/2))))
(+.f64 (+.f64 -1 (*.f64 -1/2 (*.f64 (cos.f64 re) im))) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(+.f64 -1 (+.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (+.f64 -1 (-.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (-.f64 0 (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(*.f64 1 (neg.f64 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (cos.f64 re)) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (neg.f64 (*.f64 im 1/2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (/.f64 im -2) (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (/.f64 (cos.f64 re) -2) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -1/2)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 4 (/.f64 (*.f64 im (cos.f64 re)) -4))
(*.f64 4 (*.f64 (cos.f64 re) (/.f64 im -4)))
(*.f64 (cos.f64 re) (*.f64 (/.f64 im -4) 4))
(*.f64 (cos.f64 re) (*.f64 4 (/.f64 im -4)))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 1/2)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (neg.f64 (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 im im) (neg.f64 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 im im) (/.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 im im) (*.f64 1/2 (neg.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 1/4)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -1/4)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/2 (*.f64 im (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -4 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (cos.f64 re) 2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) 2)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im -2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (+.f64 im im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) -2)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/4 (*.f64 (*.f64 im (cos.f64 re)) -4))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1/2 (*.f64 im (*.f64 (cos.f64 re) 2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) (+.f64 im im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) -2) (*.f64 im 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im -2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 2)) (*.f64 im 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 (cos.f64 re) -2) (+.f64 im im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 (*.f64 im (cos.f64 re)) -4) 4)
(*.f64 4 (*.f64 (cos.f64 re) (/.f64 im -4)))
(*.f64 (cos.f64 re) (*.f64 (/.f64 im -4) 4))
(*.f64 (cos.f64 re) (*.f64 4 (/.f64 im -4)))
(*.f64 (*.f64 2 (neg.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) 2))) (*.f64 1/2 (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -2)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (cos.f64 re) -2)) 2)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 4)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -4)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (*.f64 im (cos.f64 re)) -8) 8)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 8)) -8)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)) 16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))) -16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8))) 8)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) -32)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8))) 32)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8)))) 16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) 16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)))) 64)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 im (*.f64 (cos.f64 re) 8))))) 32)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))))) 32)
(*.f64 (cos.f64 re) (neg.f64 im))
(pow.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (-.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 im (cos.f64 re)) -1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1))
(*.f64 (cos.f64 re) im)
(+.f64 (*.f64 im (cos.f64 re)) 0)
(*.f64 (cos.f64 re) im)
(+.f64 0 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) im)
(+.f64 -1 (+.f64 1 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) im)
(+.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -2))
(*.f64 (cos.f64 re) im)
(+.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 1)
(*.f64 (cos.f64 re) im)
(+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))
(*.f64 (cos.f64 re) im)
(+.f64 (+.f64 1 (*.f64 im (cos.f64 re))) -1)
(*.f64 (cos.f64 re) im)
(+.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(+.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2)
(*.f64 (cos.f64 re) im)
(-.f64 (*.f64 im (cos.f64 re)) 0)
(*.f64 (cos.f64 re) im)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(*.f64 (cos.f64 re) im)
(-.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 im (cos.f64 re)) 1)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) 2)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 8)) 8)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))) 16)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8)))) 32)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 8))))) 64)
(*.f64 (cos.f64 re) im)
(pow.f64 (*.f64 im (cos.f64 re)) 1)
(*.f64 (cos.f64 re) im)
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 0)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 0 (-.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 -1 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -2)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(+.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 1 (-.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) -1))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 4 (/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2) 1/2)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 1/4)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 1/2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2) 2)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 1/4 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(*.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2) -2)
(*.f64 -2 (/.f64 (+.f64 -1 (*.f64 (cos.f64 re) im)) 2))
(*.f64 (/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 4)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 2) 2)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 4) 4)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8) 8)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1)) -2)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4) -4)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8)) 16)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1))) 2)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8))) 32)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1)))) 4)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4)) -8)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4)) 4)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 8)))) 64)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) -1))))) 8)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 4))) 8)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(pow.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -1))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))
(neg.f64 (-.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 2) (*.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1/2)))
(+.f64 1 (*.f64 (cos.f64 re) (neg.f64 im)))
(-.f64 1 (*.f64 (cos.f64 re) im))

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
0.1b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.2b
(*.f64 -1/6 (pow.f64 im 3))
Compiler

Compiled 33 to 22 computations (33.3% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.0ms
re
@-inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.0ms
re
@0
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.0ms
im
@0
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.0ms
im
@-inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))

rewrite94.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1742×rational.json-simplify-35
1156×rational.json-simplify-2
1138×exponential.json-3
1138×rational.json-1
1138×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01248
17848
216148
334148
466548
5154148
6339648
7599048
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (-.f64 (*.f64 (pow.f64 im 3) -1/12) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 -1/6 (pow.f64 im 3)) 4) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))))

simplify351.0ms (2.3%)

Algorithm
egg-herbie
Rules
2128×rational.json-simplify-2
1748×rational.json-simplify-35
1674×rational.json-simplify-1
758×rational.json-simplify-42
700×exponential.json-simplify-26
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01602894
13422894
26362540
317742510
439812510
548962390
651992390
754972390
857892390
964872390
1074692390
1178262390
1279322390
1379532390
Stop Event
node limit
Counts
90 → 86
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)))))) 128)
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)))
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 -2 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (-.f64 (*.f64 (pow.f64 im 3) -1/12) im))
(+.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) -1))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 4 (-.f64 (/.f64 (*.f64 -1/6 (pow.f64 im 3)) 4) (/.f64 im 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) 2)
(*.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4)
(/.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(/.f64 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)))) -16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) 128)
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4))) (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 6))))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 6) -1/720)))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/720 (pow.f64 re 6))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)) 8)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))) 16)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)))) 32)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))))) 64)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 8)))))) 128)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -2 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)))
(+.f64 -2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 2 im)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (-.f64 (*.f64 (pow.f64 im 3) -1/12) im))
(+.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) -1))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
(+.f64 -2 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)))
(+.f64 -2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 2 im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (-.f64 (/.f64 (*.f64 -1/6 (pow.f64 im 3)) 4) (/.f64 im 4)))
(*.f64 4 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (/.f64 im 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) 2)
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4)
(/.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -2)
(/.f64 (+.f64 im (-.f64 im (*.f64 (pow.f64 im 3) -1/3))) -2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3))) -8)
(*.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -1/4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)))) -16)
(*.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -1/4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) 128)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
0.1b
(*.f64 (neg.f64 im) (cos.f64 re))
0.2b
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
0.2b
(*.f64 -1/6 (cos.f64 re))
Compiler

Compiled 44 to 22 computations (50% saved)

series4.0ms (0%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
0.0ms
re
@-inf
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
0.0ms
re
@inf
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
0.0ms
im
@inf
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
0.0ms
im
@0
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
0.0ms
re
@0
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))

rewrite106.0ms (0.7%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01477
19877
221567
346067
494967
5235167
6422167
7625167
Stop Event
node limit
Counts
3 → 50
Calls
Call 1
Inputs
(*.f64 -1/6 (cos.f64 re))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/12)) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (cos.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)))))

simplify229.0ms (1.5%)

Algorithm
egg-herbie
Rules
2750×rational.json-simplify-2
1736×rational.json-simplify-35
1200×rational.json-simplify-51
1112×rational.json-simplify-1
1010×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01613466
13693036
27863000
320662976
443492976
552252976
658402976
761012976
863262976
966422976
Stop Event
node limit
Counts
102 → 95
Calls
Call 1
Inputs
-1/6
(-.f64 (*.f64 1/12 (pow.f64 re 2)) 1/6)
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/12 (pow.f64 re 2))) 1/6)
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6)))) 1/6)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 1/720 im)) (pow.f64 re 6)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(+.f64 0 (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))
(-.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(/.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(/.f64 (*.f64 (cos.f64 re) -1/3) 2)
(/.f64 (*.f64 (cos.f64 re) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3))))) 64)
(pow.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/12)) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/12)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)))))) 64)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(-.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 0)
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 2 (*.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2) (cos.f64 re)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1/2)
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2))
(*.f64 4 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))
(*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 1/4)
(*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) (cos.f64 re))
(*.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 2)) 2)
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2) (*.f64 (cos.f64 re) 2))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))))) 64)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)
Outputs
-1/6
(-.f64 (*.f64 1/12 (pow.f64 re 2)) 1/6)
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/12 (pow.f64 re 2))) 1/6)
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (-.f64 (*.f64 -1/144 (pow.f64 re 4)) 1/6))
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6)))) 1/6)
(+.f64 (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6))) (-.f64 (*.f64 -1/144 (pow.f64 re 4)) 1/6))
(+.f64 (*.f64 -1/144 (pow.f64 re 4)) (-.f64 (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6))) 1/6))
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/4320 (pow.f64 re 6))) 1/6))
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (-.f64 (*.f64 1/4320 (pow.f64 re 6)) 1/6)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))))
(*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3)))) (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/4320 (pow.f64 re 6)) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (neg.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))))
(+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (neg.f64 im)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3))))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (neg.f64 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 1/720 im)) (pow.f64 re 6)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))))
(+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 im 1/720))) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (neg.f64 im)) (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 im 1/720))))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 im 1/720))) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (neg.f64 im))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3))))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 im 1/720))) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 im -1/24))) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 im 1/2) (*.f64 1/12 (pow.f64 im 3)))) (neg.f64 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(*.f64 -1/6 (cos.f64 re))
(+.f64 0 (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))
(*.f64 -1/6 (cos.f64 re))
(-.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -1/3) 2)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -2/3) 4)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) -2/3)) 8)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3))) 16)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3)))) 32)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) -2/3))))) 64)
(*.f64 -1/6 (cos.f64 re))
(pow.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(*.f64 -1/6 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/12)) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/12)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)) 4)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))) 8)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)))) 16)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))))) 32)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)))))) 64)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 2 (*.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 2)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1/2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 4 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 1/4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (cos.f64 re) 1/2))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 2)) 2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))) 1/2) (*.f64 (cos.f64 re) 2))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)) 8)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))) 16)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)))) 32)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 4))))) 64)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))

eval256.0ms (1.7%)

Compiler

Compiled 9397 to 6479 computations (31.1% saved)

prune97.0ms (0.6%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New5265531
Fresh134
Picked011
Done088
Total52717544
Error
0.1b
Counts
544 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
58.5b
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
58.5b
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
59.5b
(-.f64 (-.f64 1 im) 1)
28.5b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
60.6b
(-.f64 1 1)
0.8b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
58.5b
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
0.7b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
59.9b
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
28.9b
(neg.f64 im)
Compiler

Compiled 278 to 225 computations (19.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
0.2b
(*.f64 -1/6 (pow.f64 im 3))
Compiler

Compiled 20 to 15 computations (25% saved)

localize3.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 im (cos.f64 re)) -2)
0.1b
(*.f64 im (cos.f64 re))
6.3b
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
Compiler

Compiled 33 to 15 computations (54.5% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite120.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1680×rational.json-simplify-35
1348×rational.json-1
1348×rational.json-2
1348×rational.json-3
1344×exponential.json-3
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01144
17744
216844
335044
475044
5183244
6353340
7496240
8669840
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(+.f64 (*.f64 im (cos.f64 re)) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -4) -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)))))

simplify219.0ms (1.4%)

Algorithm
egg-herbie
Rules
2264×rational.json-simplify-2
1922×rational.json-simplify-42
1692×rational.json-simplify-35
1026×rational.json-simplify-52
824×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01502036
13391922
27911910
323791886
438491886
544381886
648751886
754251886
857051886
959491886
1068221886
Stop Event
node limit
Counts
106 → 103
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
-2
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(*.f64 (cos.f64 re) im)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(*.f64 (cos.f64 re) im)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 im 2)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im) 2)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im)) 2)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) im)) im))) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(-.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) -2))
(-.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 0)
(-.f64 0 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1)))
(-.f64 0 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -3))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(-.f64 1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -2))
(-.f64 1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -3))
(-.f64 1 (-.f64 (+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1)) -1))
(-.f64 1 (-.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2) -1))
(-.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) -1))
(-.f64 -1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -2))
(-.f64 -1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -4) -3))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
(*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)
(*.f64 1 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))))
(*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1/2))
(*.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))) 1/2)
(*.f64 4 (/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4))
(*.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 1/4)
(*.f64 1/2 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))))
(*.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4))
(*.f64 (/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 4)
(/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)
(/.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))) 2)
(/.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 4)
(/.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8))))) 128)
(pow.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)
(neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))
(neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -3))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 0)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -1)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 1)
(*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)
(*.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -2))
(*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4))
(*.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 4)
(/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8))))) 128)
(pow.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2))))
(+.f64 (neg.f64 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2))))
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24))))
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (neg.f64 im)))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (+.f64 (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2)))) (*.f64 1/720 (*.f64 im (pow.f64 re 6)))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))) (*.f64 im (*.f64 1/720 (pow.f64 re 6)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4))))))
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
-2
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) im)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) im)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 im 2)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im) 2)
(+.f64 im (-.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) 2))
(+.f64 im (-.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) 2))
(+.f64 im (-.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) 2))
(+.f64 im (-.f64 (*.f64 (*.f64 im (pow.f64 re 2)) -1/2) 2))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im)) 2)
(+.f64 (+.f64 im (*.f64 (pow.f64 re 4) (*.f64 im 1/24))) (-.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) 2))
(+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (-.f64 (+.f64 im (*.f64 (pow.f64 re 4) (*.f64 im 1/24))) 2))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (-.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) 2)))
(+.f64 im (-.f64 (*.f64 im (+.f64 (*.f64 (pow.f64 re 2) -1/2) (*.f64 (pow.f64 re 4) 1/24))) 2))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) im)) im))) 2)
(+.f64 (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720)))) (-.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) 2))
(+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (-.f64 (+.f64 im (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (*.f64 im (*.f64 -1/720 (pow.f64 re 6))))) 2))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (+.f64 im (*.f64 im (*.f64 (pow.f64 re 4) 1/24))) (-.f64 (*.f64 im (*.f64 (pow.f64 re 6) -1/720)) 2)))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (-.f64 im 2) (*.f64 im (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 6) -1/720)))))
(+.f64 (-.f64 im 2) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 im (+.f64 (*.f64 (pow.f64 re 6) -1/720) (*.f64 (pow.f64 re 4) 1/24)))))
(+.f64 (+.f64 (-.f64 im 2) (*.f64 im (*.f64 (pow.f64 re 4) 1/24))) (*.f64 im (+.f64 (*.f64 (pow.f64 re 6) -1/720) (*.f64 (pow.f64 re 2) -1/2))))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) -2))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 0)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1)))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -3))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -2))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -3))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 1 (-.f64 (+.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -1)) -1))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 1 (-.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2) -1))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) -1))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 -1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -2))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 -1 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -4) -3))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1/2))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))) 1/2)
(*.f64 1/2 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 (cos.f64 re) im)))))
(*.f64 4 (/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 1/4)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/2 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))))
(*.f64 1/2 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 (cos.f64 re) im)))))
(*.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1/2) 2)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/4 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 4)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 im (cos.f64 re))))) 2)
(/.f64 (+.f64 -2 (*.f64 2 (-.f64 1 (*.f64 (cos.f64 re) im)))) 2)
(/.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 4) 4)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8) 8)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8)) 16)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8))) 32)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8)))) 64)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 8))))) 128)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(pow.f64 (+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) -2))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -3))
(*.f64 (cos.f64 re) (*.f64 -1 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 0)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -3) -1)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) 1)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 1 (+.f64 (*.f64 im (cos.f64 re)) -2))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1/2))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2) 1/2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 4 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 1/4)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1/2) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4))
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(*.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 4)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 2) 2)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 4) 4)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8) 8)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8)) 16)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8))) 32)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8)))) 64)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 8))))) 128)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))
(pow.f64 (+.f64 (*.f64 im (cos.f64 re)) -2) 1)
(-.f64 (*.f64 (cos.f64 re) im) 2)
(+.f64 -2 (*.f64 (cos.f64 re) im))

localize32.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
0.2b
(*.f64 -1/6 (pow.f64 im 3))
Compiler

Compiled 24 to 16 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
0.0ms
im
@0
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
0.0ms
im
@inf
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
0.0ms
re
@inf
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
0.0ms
im
@-inf
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))

rewrite134.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
17223
215323
332923
464023
5150223
6309523
7489323
8641223
9777123
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3)) (*.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 1/2) (pow.f64 im 3)) (*.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 1/2) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)))))

simplify382.0ms (2.5%)

Algorithm
egg-herbie
Rules
2480×rational.json-simplify-35
2176×rational.json-simplify-2
1176×rational.json-simplify-1
960×exponential.json-simplify-26
944×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0771037
11751037
23551001
3835977
42332977
53478977
64337977
74699977
84994977
95252977
106192977
116539977
127325977
137540977
147713977
157747977
167953977
Stop Event
node limit
Counts
39 → 35
Calls
Call 1
Inputs
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 0)
(+.f64 0 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3)) (*.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3)))
(+.f64 (*.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 1/2) (pow.f64 im 3)) (*.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 1/2) (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 0)
(/.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/3)) 2)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)) 4)
(/.f64 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))) 8)
(/.f64 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))))))) 128)
(pow.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)
Outputs
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/12 (*.f64 (pow.f64 im 3) (pow.f64 re 2))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 3) 1/12)))
(*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 im 3) (pow.f64 re 4))) (*.f64 1/12 (*.f64 (pow.f64 im 3) (pow.f64 re 2)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (pow.f64 re 4) -1/144)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 3) 1/12))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (pow.f64 re 2))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 3) (+.f64 -1/6 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/12 (pow.f64 re 2)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (*.f64 1/4320 (*.f64 (pow.f64 im 3) (pow.f64 re 6))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 im 3) (pow.f64 re 4))) (*.f64 1/12 (*.f64 (pow.f64 im 3) (pow.f64 re 2))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (pow.f64 re 4) -1/144)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 3) 1/12)))) (*.f64 (pow.f64 im 3) (*.f64 1/4320 (pow.f64 re 6))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (pow.f64 re 2))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/144 (pow.f64 re 4))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/4320 (pow.f64 re 6))))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2)))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/4320 (pow.f64 re 6)) (*.f64 -1/144 (pow.f64 re 4)))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2)))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/4320 (pow.f64 re 6)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/12 (pow.f64 re 2))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/4320 (pow.f64 re 6))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 0)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 0 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3)) (*.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 1/2) (pow.f64 im 3)) (*.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 1/2) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 0)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/3)) 2)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -2/3)) 4)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))) 8)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re)))) 16)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))))) 32)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re)))))) 64)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 (pow.f64 im 3) (cos.f64 re))))))) 128)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(pow.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))

localize75.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 56 to 28 computations (50% saved)

series2.0ms (0%)

Counts
4 → 60
Calls

15 calls:

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

rewrite92.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
016114
1109114
2230114
3524114
41124114
52888114
66087114
Stop Event
node limit
Counts
4 → 84
Calls
Call 1
Inputs
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
(+.f64 (exp.f64 im) -2)
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4))) (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 -2 (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -2 (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -2 (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -2 (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -2 (exp.f64 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (-.f64 (+.f64 (exp.f64 im) -3) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (+.f64 -2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 -2 (exp.f64 im))) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (+.f64 -2 (exp.f64 im))) (-.f64 1 (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (+.f64 -2 (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (+.f64 -2 (exp.f64 im)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))

simplify364.0ms (2.4%)

Algorithm
egg-herbie
Rules
1880×rational.json-simplify-35
1770×rational.json-simplify-2
1754×rational.json-simplify-1
856×rational.json-simplify-42
772×rational.json-simplify-49
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
02384166
14913890
212363802
326213802
442673802
545703802
648563598
752433598
859903598
970703598
Stop Event
node limit
Counts
144 → 169
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
-1
(-.f64 im 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) im) 1)
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) im)) 1)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
2
(+.f64 (*.f64 -2 im) 2)
(+.f64 (*.f64 -2 im) (+.f64 2 (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(-.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 0)
(-.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3))) 1)
(*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2))
(*.f64 1 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))))
(*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1/2))
(*.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2) 1/2)
(*.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1/2) 2)
(*.f64 4 (/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))
(*.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))
(*.f64 (/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 4)
(/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2) 2)
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4)))) 32)
(pow.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)
(+.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 0)
(+.f64 0 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4)))
(-.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 0)
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 1)
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (cos.f64 re)) 2)
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4))) (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4)))) 32)
(pow.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 1)
(-.f64 (+.f64 -2 (exp.f64 im)) 0)
(*.f64 (+.f64 -2 (exp.f64 im)) 1)
(*.f64 1/2 (*.f64 (+.f64 -2 (exp.f64 im)) 2))
(*.f64 1 (+.f64 -2 (exp.f64 im)))
(*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 1/2))
(*.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 -2 (exp.f64 im)) 4))
(*.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 -2 (exp.f64 im)) 4))
(*.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 1/2) 2)
(*.f64 (/.f64 (+.f64 -2 (exp.f64 im)) 4) 4)
(/.f64 (+.f64 -2 (exp.f64 im)) 1)
(/.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4)))) 32)
(pow.f64 (+.f64 -2 (exp.f64 im)) 1)
(+.f64 -2 (-.f64 1 (-.f64 (+.f64 (exp.f64 im) -3) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (+.f64 -2 (exp.f64 im))))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 0)
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))))
(+.f64 -1 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3)))
(+.f64 (neg.f64 (+.f64 -2 (exp.f64 im))) (exp.f64 (neg.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3)) -1)
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2))
(+.f64 (-.f64 -1 (+.f64 -2 (exp.f64 im))) (-.f64 1 (/.f64 -1 (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (+.f64 -2 (exp.f64 im)) 2)))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))))
(*.f64 -1 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (+.f64 -2 (exp.f64 im)) 1/2)))
(*.f64 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1/2)
(*.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -1)
(*.f64 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2) 2)
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 4)
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)
(/.f64 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(/.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 4)
(/.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) 4)
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)
(neg.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/2520 (pow.f64 im 7)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48)) (+.f64 (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (cos.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
-1
(-.f64 im 1)
(+.f64 im -1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) im) 1)
(+.f64 (+.f64 im (*.f64 1/2 (pow.f64 im 2))) -1)
(+.f64 -1 (+.f64 im (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (+.f64 im -1) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 im 2))))
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) im)) 1)
(+.f64 (+.f64 im (*.f64 1/2 (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 3) 1/6) 1))
(+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (+.f64 im -1) (*.f64 (pow.f64 im 3) 1/6)))
(+.f64 (+.f64 im -1) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 3) 1/6)))
(+.f64 -1 (+.f64 (+.f64 im (*.f64 1/2 (pow.f64 im 2))) (*.f64 (pow.f64 im 3) 1/6)))
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
(-.f64 (exp.f64 im) 2)
2
(+.f64 (*.f64 -2 im) 2)
(+.f64 (*.f64 -2 im) (+.f64 2 (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) 2))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) 2))
(+.f64 (*.f64 -2 im) (+.f64 2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) 2)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 2 (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) 2)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) 2)))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (neg.f64 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 2 (exp.f64 (*.f64 -1 im))) (exp.f64 im))
(+.f64 (exp.f64 (neg.f64 im)) (-.f64 2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) 2) (exp.f64 im))
(-.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3))) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1/2) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 4 (/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 1/4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/4 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 2) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4)) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))) 16)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 4)))) 32)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 0 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (cos.f64 re)) 2)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4))) 16)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4))) (*.f64 2 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 (cos.f64 re) 4)))) 32)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (+.f64 -2 (exp.f64 im)) 0)
(+.f64 -2 (exp.f64 im))
(*.f64 (+.f64 -2 (exp.f64 im)) 1)
(+.f64 -2 (exp.f64 im))
(*.f64 1/2 (*.f64 (+.f64 -2 (exp.f64 im)) 2))
(+.f64 -2 (exp.f64 im))
(*.f64 1 (+.f64 -2 (exp.f64 im)))
(+.f64 -2 (exp.f64 im))
(*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 1/2))
(+.f64 -2 (exp.f64 im))
(*.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 2) 1/2)
(+.f64 -2 (exp.f64 im))
(*.f64 4 (/.f64 (+.f64 -2 (exp.f64 im)) 4))
(+.f64 -2 (exp.f64 im))
(*.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 4) 1/4)
(+.f64 -2 (exp.f64 im))
(*.f64 1/4 (*.f64 (+.f64 -2 (exp.f64 im)) 4))
(+.f64 -2 (exp.f64 im))
(*.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 1/2) 2)
(+.f64 -2 (exp.f64 im))
(*.f64 (/.f64 (+.f64 -2 (exp.f64 im)) 4) 4)
(+.f64 -2 (exp.f64 im))
(/.f64 (+.f64 -2 (exp.f64 im)) 1)
(+.f64 -2 (exp.f64 im))
(/.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 2) 2)
(+.f64 -2 (exp.f64 im))
(/.f64 (*.f64 (+.f64 -2 (exp.f64 im)) 4) 4)
(+.f64 -2 (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4)) 8)
(+.f64 -2 (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4))) 16)
(+.f64 -2 (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -2 (exp.f64 im)) 4)))) 32)
(+.f64 -2 (exp.f64 im))
(pow.f64 (+.f64 -2 (exp.f64 im)) 1)
(+.f64 -2 (exp.f64 im))
(+.f64 -2 (-.f64 1 (-.f64 (+.f64 (exp.f64 im) -3) (exp.f64 (neg.f64 im)))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (+.f64 -2 (exp.f64 im))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 0)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 -1 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3)))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 (neg.f64 (+.f64 -2 (exp.f64 im))) (exp.f64 (neg.f64 im)))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -3)) -1)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(+.f64 (-.f64 -1 (+.f64 -2 (exp.f64 im))) (-.f64 1 (/.f64 -1 (exp.f64 im))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 1/2 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (+.f64 -2 (exp.f64 im)) 2)))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 2 (+.f64 -2 (exp.f64 im)))))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 -1 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (+.f64 -2 (exp.f64 im)) 1/2)))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (+.f64 -2 (exp.f64 im)))))
(*.f64 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 1/2)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -1)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 1/4)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1/2) 2)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 4)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (*.f64 -2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -1)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4) 4)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) -2)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4)) 8)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))) 16)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) -4)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 4)))) 32)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (neg.f64 (*.f64 2 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) 4)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im))) 1)
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))
(neg.f64 (+.f64 -2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 -2 (-.f64 1 (+.f64 -3 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -4)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 -2 (exp.f64 im)))

eval154.0ms (1%)

Compiler

Compiled 6887 to 4663 computations (32.3% saved)

prune261.0ms (1.7%)

Pruning

22 alts after pruning (9 fresh and 13 done)

PrunedKeptTotal
New4107417
Fresh123
Picked011
Done11213
Total41222434
Error
0.1b
Counts
434 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
58.5b
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
59.5b
(-.f64 (-.f64 1 im) 1)
28.5b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
58.5b
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
60.6b
(-.f64 1 1)
58.5b
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
59.5b
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
0.8b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
59.6b
(+.f64 (neg.f64 (-.f64 im 2)) -2)
61.5b
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) -2)
0.7b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
59.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) -1)))
58.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (+.f64 (*.f64 -2 im) 2)))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
59.9b
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
28.9b
(neg.f64 im)
Compiler

Compiled 245 to 197 computations (19.6% saved)

regimes278.0ms (1.8%)

Counts
28 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 1 1)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (-.f64 im 2)) -2)
(*.f64 (neg.f64 im) (cos.f64 re))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) -2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (+.f64 (*.f64 -2 im) 2)))
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) -1)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
Outputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
Calls

6 calls:

104.0ms
im
89.0ms
(*.f64 1/2 (cos.f64 re))
59.0ms
re
11.0ms
(cos.f64 re)
4.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.7b1re
0.7b1im
0.7b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.7b1(*.f64 1/2 (cos.f64 re))
0.7b1(cos.f64 re)
0.7b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 311 to 197 computations (36.7% saved)

regimes123.0ms (0.8%)

Counts
26 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 1 1)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (-.f64 im 2)) -2)
(*.f64 (neg.f64 im) (cos.f64 re))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) -2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (+.f64 (*.f64 -2 im) 2)))
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) -1)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) -2))))
Outputs
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
Calls

6 calls:

74.0ms
im
12.0ms
(*.f64 1/2 (cos.f64 re))
12.0ms
re
11.0ms
(cos.f64 re)
4.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.8b1re
0.8b1im
0.8b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.8b1(*.f64 1/2 (cos.f64 re))
0.8b1(cos.f64 re)
0.8b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 278 to 175 computations (37.1% saved)

regimes109.0ms (0.7%)

Counts
24 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 1 1)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (-.f64 im 2)) -2)
(*.f64 (neg.f64 im) (cos.f64 re))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) -2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (+.f64 (*.f64 -2 im) 2)))
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (-.f64 (exp.f64 (neg.f64 im)) -1)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
Outputs
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
Calls

6 calls:

57.0ms
(*.f64 1/2 (cos.f64 re))
14.0ms
im
13.0ms
re
10.0ms
(cos.f64 re)
4.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.8b1re
0.8b1im
0.8b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.8b1(*.f64 1/2 (cos.f64 re))
0.8b1(cos.f64 re)
0.8b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 249 to 161 computations (35.3% saved)

regimes115.0ms (0.8%)

Counts
17 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 1 1)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (-.f64 im 2)) -2)
(*.f64 (neg.f64 im) (cos.f64 re))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) -2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 -3 (+.f64 (*.f64 im (cos.f64 re)) -3))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 im 2)) -2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -2 (+.f64 (*.f64 -2 im) 2)))
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re))
Outputs
(*.f64 (neg.f64 im) (cos.f64 re))
Calls

4 calls:

76.0ms
(*.f64 1/2 (cos.f64 re))
18.0ms
re
8.0ms
im
7.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
1.6b1(*.f64 1/2 (cos.f64 re))
1.6b1(cos.f64 re)
Compiler

Compiled 145 to 97 computations (33.1% saved)

regimes77.0ms (0.5%)

Accuracy

Total -32.0b remaining (-110.8%)

Threshold costs -32.0b (-110.8%)

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

2 calls:

4.0ms
re
4.0ms
im
Results
ErrorSegmentsBranch
28.9b1re
28.9b1im
Compiler

Compiled 24 to 19 computations (20.8% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024139
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (neg.f64 im) (cos.f64 re))
(neg.f64 im)
Outputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (neg.f64 im) (cos.f64 re))
(neg.f64 im)
Compiler

Compiled 57 to 42 computations (26.3% saved)

soundness734.0ms (4.8%)

Algorithm
egg-herbie
Rules
3840×rational.json-simplify-42
2308×rational.json-simplify-35
1800×rational.json-simplify-2
1532×rational.json-simplify-1
1510×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
11935
23335
35435
48235
513035
626035
757835
8135935
9226935
10275035
11367835
12407835
13428835
14442635
15454235
16465835
17615335
18636935
19653535
20665535
21676935
22676935
23728635
24733135
25748435
01882771
14022699
29352611
318632577
441862577
561602571
679942571
Stop Event
node limit
node limit
Compiler

Compiled 287 to 179 computations (37.6% saved)

end41.0ms (0.3%)

Compiler

Compiled 49 to 28 computations (42.9% saved)

Profiling

Loading profile data...