Details

Time bar (total: 18.8s)

analyze139.0ms (0.7%)

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.7s (41.2%)

Results
3.7s4996×body1024valid
994.0ms983×body512infinite
942.0ms1982×body1024infinite
779.0ms462×body2048valid
723.0ms1740×body512valid
440.0ms1521×body256infinite
185.0ms1058×body256valid
0.0msbody2048infinite
Bogosity

preprocess175.0ms (0.9%)

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)

simplify530.0ms (2.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
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
56.9b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
56.9b
(*.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)))
5.7b
(-.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
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)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite84.0ms (0.4%)

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)))))

simplify143.0ms (0.8%)

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)))

eval33.0ms (0.2%)

Compiler

Compiled 2115 to 1131 computations (46.5% saved)

prune78.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1126118
Fresh000
Picked011
Done000
Total1127119
Error
0.1b
Counts
119 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
56.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
56.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
56.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.9b
(*.f64 (neg.f64 im) (cos.f64 re))
1.6b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
58.9b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 195 to 154 computations (21% saved)

localize99.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/2520 (pow.f64 im 7))
0.1b
(*.f64 -1/60 (pow.f64 im 5))
0.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
0.2b
(*.f64 -1/3 (pow.f64 im 3))
Compiler

Compiled 112 to 86 computations (23.2% saved)

series11.0ms (0.1%)

Counts
4 → 24
Calls

15 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
2.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
2.0ms
im
@inf
(*.f64 -1/3 (pow.f64 im 3))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))

rewrite138.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
026116
1171116
2315116
3683116
41493116
53321116
64964116
76396116
87696116
Stop Event
node limit
Counts
4 → 48
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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 -1/60 (pow.f64 im 5))
(*.f64 -1/2520 (pow.f64 im 7))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7)))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/15) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 7) -1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/630) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)))))

simplify156.0ms (0.8%)

Algorithm
egg-herbie
Rules
2924×rational.json-simplify-51
2252×rational.json-simplify-41
1818×rational.json-simplify-35
1356×rational.json-simplify-2
558×rational.json-simplify-1
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01653524
14153512
28413194
320313194
429613194
535453194
641363194
745723194
846783002
Stop Event
node limit
Counts
72 → 108
Calls
Call 1
Inputs
(*.f64 1/2 (+.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 1/2 (+.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 -1/4 (*.f64 (pow.f64 re 2) (+.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 1/2 (+.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 -1/4 (*.f64 (pow.f64 re 2) (+.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 1/48 (*.f64 (pow.f64 re 4) (+.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 1/2 (+.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 -1/4 (*.f64 (pow.f64 re 2) (+.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 -1/1440 (*.f64 (pow.f64 re 6) (+.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 1/48 (*.f64 (pow.f64 re 4) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (cos.f64 re) (+.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 -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/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -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/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -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 -1/3 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))
(-.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -4/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))))) 64)
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 1/4)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 0)
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7)))))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7)))))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))))) 64)
(/.f64 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 16)
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/15) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))))) 64)
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(+.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 7) -1/5040))
(-.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(/.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/630) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))))) 64)
(pow.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
Outputs
(*.f64 1/2 (+.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 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))
(*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))))
(+.f64 (*.f64 1/2 (+.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 -1/4 (*.f64 (pow.f64 re 2) (+.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 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.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 -1/4 (*.f64 (pow.f64 re 2) (+.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 1/48 (*.f64 (pow.f64 re 4) (+.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 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 2))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1/48))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (+.f64 (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))) (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.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 -1/4 (*.f64 (pow.f64 re 2) (+.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 -1/1440 (*.f64 (pow.f64 re 6) (+.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 1/48 (*.f64 (pow.f64 re 4) (+.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 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 2))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1/48)) (*.f64 -1/1440 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 6))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (pow.f64 re 4) 1/48)) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (*.f64 -1/1440 (pow.f64 re 6))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (+.f64 (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 im -1))
(*.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) (*.f64 im -1)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 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 (cos.f64 re) (*.f64 im -1)) (+.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 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (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 (*.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 im -1)) (+.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) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.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 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
(+.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 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 5) -1/120)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (*.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 im -1)) (+.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) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.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 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
(+.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 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 5) -1/120)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (*.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 im -1)) (+.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) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.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 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))
(*.f64 -1/3 (pow.f64 im 3))
(-.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -4/3) 4)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) 32)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))))) 64)
(*.f64 -1/3 (pow.f64 im 3))
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 1/4)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7)))))) 2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (cos.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7)))))))) 32)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))))) 64)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 8 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 16)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/2520 (pow.f64 im 7))))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/15) 4)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) 32)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))))) 64)
(*.f64 -1/60 (pow.f64 im 5))
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(*.f64 -1/2520 (pow.f64 im 7))
(+.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))
(*.f64 -1/2520 (pow.f64 im 7))
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 -1/2520 (pow.f64 im 7))
(-.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/630) 4)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)))) 32)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))))) 64)
(*.f64 -1/2520 (pow.f64 im 7))
(pow.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(*.f64 -1/2520 (pow.f64 im 7))

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)

series6.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
3.0ms
re
@inf
(*.f64 (neg.f64 im) (cos.f64 re))
2.0ms
re
@-inf
(*.f64 (neg.f64 im) (cos.f64 re))
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
@0
(*.f64 (neg.f64 im) (cos.f64 re))

rewrite87.0ms (0.5%)

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)))))))

simplify201.0ms (1.1%)

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))

localize61.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

localize16.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)

series3.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@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
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
im
@-inf
(*.f64 (pow.f64 im 3) -1/6)

rewrite117.0ms (0.6%)

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
01369
18969
218769
338469
479069
5189969
6371369
7525869
8705569
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.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 (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/6) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.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 (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 (pow.f64 im 3) -1/6) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8))))) 128)))) (#(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) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 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) (neg.f64 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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 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) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))))

simplify293.0ms (1.6%)

Algorithm
egg-herbie
Rules
2256×rational.json-simplify-2
1948×rational.json-simplify-35
1878×rational.json-simplify-53
1068×rational.json-simplify-51
904×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01402274
13252244
27782186
319122156
439222156
549902156
653852156
756572156
859362156
961262156
1072642156
Stop Event
node limit
Counts
96 → 84
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 -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 (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/6) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8))))) 128)
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (cos.f64 re)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)))))) 128)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))))) 128)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 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 -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 (pow.f64 re 2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/2)) im))
(+.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)) 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 (pow.f64 re 4) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/24)) (*.f64 -1/6 (pow.f64 im 3))) (-.f64 (*.f64 (pow.f64 re 2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/2)) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.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 -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/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/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) 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 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 6))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/24)) (*.f64 -1/6 (pow.f64 im 3)))) (-.f64 (*.f64 (pow.f64 re 2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/2)) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3)))) im))
(+.f64 (*.f64 (pow.f64 re 6) (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.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 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.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 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.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 (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) 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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) 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 -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 (cos.f64 re) -1/6))
(*.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 (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) 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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) 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 -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 (cos.f64 re) -1/6))
(*.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 (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) 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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) 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 -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 (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/6) 8) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/6) 8))))) 128)
(*.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) (neg.f64 im))) 0)
(*.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 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 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 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12))))
(+.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(*.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(*.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 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (cos.f64 re)) 2)
(*.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 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 4)
(*.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)) 8)
(*.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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))) 16)
(*.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 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)))) 32)
(*.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))))) 64)
(*.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 8)))))) 128)
(*.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))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(*.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 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) 64)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))))) 128)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 34 computations (33.3% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.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
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)))))

rewrite136.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1772×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
4106387
5234887
6399287
7527187
8672987
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(+.f64 -1 (exp.f64 (*.f64 im -2)))
(*.f64 (exp.f64 im) (+.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)))))
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))) (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 (exp.f64 im) 1/2)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 1/2)))))) (#(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)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))))) (#(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 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))) 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) (*.f64 (cos.f64 re) 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 (exp.f64 im) (*.f64 (cos.f64 re) 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 (exp.f64 im) (*.f64 (cos.f64 re) 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 (exp.f64 im) (*.f64 (cos.f64 re) 2)))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 1)))))

simplify146.0ms (0.8%)

Algorithm
egg-herbie
Rules
1536×rational.json-simplify-61
1382×rational.json-simplify-35
1004×rational.json-simplify-1
848×rational.json-simplify-2
688×exponential.json-simplify-26
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01983460
14863356
211753204
325333176
437513164
546553164
670953164
Stop Event
node limit
Counts
96 → 117
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 -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 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 (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))) (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 (exp.f64 im) 1/2)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 1/2)))
(-.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)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 0)
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))
(+.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 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 0)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))))))) 128)
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 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 (pow.f64 im 2)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.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 (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 -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 -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 (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 -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 (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (+.f64 (*.f64 -2 im) (*.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 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
(*.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 (exp.f64 im) 1/2)) (*.f64 (exp.f64 im) (*.f64 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) -1/4)))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) (*.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 (exp.f64 im) 1/2) (*.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 (exp.f64 im) 1/2)) (+.f64 (*.f64 (exp.f64 im) (*.f64 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) -1/4)) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 4) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) (+.f64 (*.f64 (exp.f64 im) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 4) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.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 (exp.f64 im) 1/2) (*.f64 1/48 (*.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 (exp.f64 im) 1/2) (*.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 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) (+.f64 (*.f64 (exp.f64 im) (*.f64 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) -1/4)) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 4) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))) (*.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 -1/4 (*.f64 (pow.f64 re 2) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (+.f64 (+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) (*.f64 1/48 (*.f64 (exp.f64 im) (*.f64 (pow.f64 re 4) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (*.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 (exp.f64 im) 1/2) (*.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 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.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 (*.f64 -1/3 (cos.f64 re)) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (*.f64 -1/3 (cos.f64 re)) (*.f64 (pow.f64 im 3) 1/2)) 0))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (*.f64 -1/3 (cos.f64 re)) (*.f64 (pow.f64 im 3) 1/2)))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (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 (*.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 -1/3 (cos.f64 re))))))))))
(+.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 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 2/3 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/3))))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re))) (*.f64 (pow.f64 im 4) (+.f64 (cos.f64 re) (neg.f64 (cos.f64 re))))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 0 (neg.f64 (cos.f64 re)))))) 0))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re))) (*.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 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(-.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))) (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 (exp.f64 im) 1/2)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) 1/2)))
(*.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))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 0)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(+.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 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 0)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 1)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))) 4)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))) 8)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))))) 16)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))))) 32)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2))))))) 64)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 (cos.f64 re) 2)))))))) 128)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 1)
(*.f64 (exp.f64 im) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) 1/2))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) 1/2))

eval2.0s (10.8%)

Compiler

Compiled 8963 to 6401 computations (28.6% saved)

prune75.0ms (0.4%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New40612418
Fresh101
Picked101
Done235
Total41015425
Error
0.1b
Counts
425 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
56.8b
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)
58.5b
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
29.7b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
33.2b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
1.6b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
58.9b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
56.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
2.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))))
1.9b
(*.f64 (neg.f64 im) (cos.f64 re))
1.3b
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
33.4b
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
58.9b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.9b
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
60.2b
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
29.9b
(neg.f64 im)
Compiler

Compiled 350 to 279 computations (20.3% saved)

localize44.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 100 to 73 computations (27% saved)

series4.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite115.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02395
115595
230295
365395
4153295
5342195
6510495
7669995
Stop Event
node limit
Counts
3 → 36
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (pow.f64 im 5) -1/120)
(*.f64 (pow.f64 im 7) -1/5040)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 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 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 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 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 (pow.f64 im 5) -1/120) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 7) -1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)))))

simplify213.0ms (1.1%)

Algorithm
egg-herbie
Rules
3080×rational.json-simplify-2
1744×rational.json-simplify-35
1178×rational.json-simplify-53
1112×rational.json-simplify-1
910×rational.json-simplify-51
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01453344
13843344
27793088
319663058
440133054
557773054
663433054
766813054
869833054
971673054
Stop Event
node limit
Counts
84 → 88
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) 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/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4))))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4)))))))) im)
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) 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/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -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/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -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/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/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))))) 64)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 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 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 (pow.f64 im 5) -1/120) 1)
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(+.f64 0 (*.f64 (pow.f64 im 7) -1/5040))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(-.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(/.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))))) 64)
(pow.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)
Outputs
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im)))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 -1/5040 (pow.f64 im 7)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 -1/5040 (pow.f64 im 7)))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4))))))) im)
(+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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 -1/5040 (pow.f64 im 7))) (-.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/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/5040 (pow.f64 im 7))))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(+.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)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4)))))))) im)
(+.f64 (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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 -1/5040 (pow.f64 im 7))) (-.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 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 6) -1/720)) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/5040 (pow.f64 im 7)))) (*.f64 -1/120 (pow.f64 im 5)))) (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/720 (pow.f64 re 6))) im))
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) 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)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im)))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.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 (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 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.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 (*.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) (neg.f64 im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(+.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 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.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) (neg.f64 im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(+.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 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.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) (neg.f64 im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) 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/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 0)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 0)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 1)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) 2)) 2)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4))) 8)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))) 16)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4))))) 32)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))))) 64)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) im))))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (neg.f64 im))))) 1)
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/5040 (pow.f64 im 7)) 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 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 (pow.f64 im 5) -1/120) 1)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 0 (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(*.f64 -1/5040 (pow.f64 im 7))
(-.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))))) 64)
(*.f64 -1/5040 (pow.f64 im 7))
(pow.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)
(*.f64 -1/5040 (pow.f64 im 7))

localize2.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 11 computations (56% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
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
re
@inf
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
0.0ms
im
@-inf
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)

rewrite147.0ms (0.8%)

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
01028
17826
217626
334426
468726
5166326
6335626
7496026
8688926
Stop Event
node limit
Counts
2 → 100
Calls
Call 1
Inputs
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 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)))))

simplify116.0ms (0.6%)

Algorithm
egg-herbie
Rules
1620×rational.json-simplify-35
1392×rational.json-simplify-2
1096×rational.json-simplify-52
920×rational.json-simplify-1
904×rational.json-simplify-53
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02142248
15222248
212702236
329602236
449142236
572672236
Stop Event
node limit
Counts
148 → 139
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)
(+.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)
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 (pow.f64 re 2) 1/2)) (neg.f64 im))
(*.f64 (*.f64 im 1/2) (+.f64 -2 (pow.f64 re 2)))
(*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -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 (neg.f64 im) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 (*.f64 im 1/2) (+.f64 -2 (pow.f64 re 2))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
(+.f64 (*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -2)) (*.f64 (pow.f64 re 4) (*.f64 im -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 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 (pow.f64 re 2) 1/2)) (neg.f64 im)) (+.f64 (*.f64 im (*.f64 (pow.f64 re 6) 1/720)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 (*.f64 im 1/2) (+.f64 -2 (pow.f64 re 2))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -2)) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (*.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 -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 (pow.f64 re 2) (*.f64 im -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 im (*.f64 (*.f64 im (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 (pow.f64 re 2) (*.f64 im -1/2)) (+.f64 im (*.f64 (pow.f64 re 4) (*.f64 im 1/24))))
(+.f64 im (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (*.f64 im (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 im (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 im (+.f64 (*.f64 (*.f64 im (pow.f64 re 2)) -1/2) (*.f64 (*.f64 im (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 (pow.f64 re 4) (*.f64 im 1/24)) (+.f64 (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720))) (*.f64 (pow.f64 re 2) (*.f64 im -1/2))))
(+.f64 (*.f64 im (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720)))))
(+.f64 im (+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 im (*.f64 (pow.f64 re 4) 1/24))) (*.f64 im (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 6) -1/720)) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 im (*.f64 (pow.f64 re 4) 1/24)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 6) -1/720)) (+.f64 (*.f64 (*.f64 im (pow.f64 re 2)) -1/2) (*.f64 (*.f64 im (pow.f64 re 4)) 1/24))))
(*.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 (-.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 (cos.f64 re) (neg.f64 im))
(*.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 (cos.f64 re) (neg.f64 im))
(*.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 (cos.f64 re) (neg.f64 im))
(*.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)

localize48.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cos.f64 re) (pow.f64 im 7))
0.1b
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
Compiler

Compiled 25 to 15 computations (40% saved)

series3.0ms (0%)

Counts
2 → 8
Calls

12 calls:

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

rewrite137.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1440×rational.json-1
1404×rational.json-simplify-35
1344×rational.json-2
1344×rational.json-3
1336×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
17440
216440
334540
466440
5154340
6318740
7499140
8658440
9795740
Stop Event
node limit
Counts
2 → 27
Calls
Call 1
Inputs
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (pow.f64 im 7))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 -1/5040 (cos.f64 re)) 1/2) (pow.f64 im 7)) (*.f64 (*.f64 (*.f64 -1/5040 (cos.f64 re)) 1/2) (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/1260)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 1)))))

simplify229.0ms (1.2%)

Algorithm
egg-herbie
Rules
2174×rational.json-simplify-2
1894×rational.json-simplify-35
1640×rational.json-simplify-1
1020×rational.json-simplify-41
850×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0107983
1271983
2573947
31255899
42920899
54571899
65007899
75282899
85468899
95660899
106458899
117384899
Stop Event
node limit
Counts
35 → 59
Calls
Call 1
Inputs
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(pow.f64 im 7)
(+.f64 (pow.f64 im 7) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 7))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (pow.f64 im 7) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 7)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))
(+.f64 (*.f64 (*.f64 (*.f64 -1/5040 (cos.f64 re)) 1/2) (pow.f64 im 7)) (*.f64 (*.f64 (*.f64 -1/5040 (cos.f64 re)) 1/2) (pow.f64 im 7)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/1260)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))))) 128)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 0)
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 2)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 4)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8))))) 128)
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 1)
Outputs
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/10080 (*.f64 (pow.f64 im 7) (pow.f64 re 2))))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) 1/10080)))
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 im 7) (pow.f64 re 2))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 7) -1/120960))))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) 1/10080)) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 4) -1/120960))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 1/10080 (pow.f64 re 2))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 -1/120960 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2)))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 im 7) (pow.f64 re 2))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 (pow.f64 re 6) (*.f64 (pow.f64 im 7) 1/3628800)) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 7) -1/120960)))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) 1/10080)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 4) -1/120960)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 6) 1/3628800)))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 1/10080 (pow.f64 re 2))) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/120960 (pow.f64 re 4))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/3628800 (pow.f64 re 6))))))
(+.f64 (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2)))) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 1/3628800 (pow.f64 re 6)) (*.f64 -1/120960 (pow.f64 re 4)))))
(pow.f64 im 7)
(+.f64 (pow.f64 im 7) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 7))))
(+.f64 (pow.f64 im 7) (*.f64 (*.f64 (pow.f64 im 7) (pow.f64 re 2)) -1/2))
(+.f64 (pow.f64 im 7) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (pow.f64 im 7) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 7)))))
(+.f64 (pow.f64 im 7) (+.f64 (*.f64 (*.f64 (pow.f64 im 7) (pow.f64 re 2)) -1/2) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 7) 1/24))))
(+.f64 (pow.f64 im 7) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (pow.f64 im 7) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (pow.f64 im 7) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 (pow.f64 im 7) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 2) -1/2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(+.f64 (pow.f64 im 7) (+.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 7) (pow.f64 re 2)) -1/2) (*.f64 (pow.f64 re 6) (*.f64 (pow.f64 im 7) -1/720))) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 7) 1/24))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 1/24 (pow.f64 re 4))) (+.f64 (pow.f64 im 7) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (pow.f64 im 7) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (pow.f64 im 7) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 6) -1/720)))))
(+.f64 (pow.f64 im 7) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 6) -1/720)))))
(+.f64 (*.f64 (pow.f64 im 7) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 2) -1/2))) (+.f64 (pow.f64 im 7) (*.f64 (pow.f64 im 7) (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (*.f64 -1/5040 (cos.f64 re)) 1/2) (pow.f64 im 7)) (*.f64 (*.f64 (*.f64 -1/5040 (cos.f64 re)) 1/2) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/1260)) 4)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8) 8)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) 16)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))) 32)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)))) 64)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))))) 128)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 0)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 1/2)))
(*.f64 (pow.f64 im 7) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 0)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 1)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 2)) 2)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) 4)) 4)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8) 8)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8)) 16)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8))) 32)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8)))) 64)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 8))))) 128)
(*.f64 (pow.f64 im 7) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) 1)
(*.f64 (pow.f64 im 7) (cos.f64 re))

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 36 to 26 computations (27.8% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite179.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
18950
218450
337350
466550
5143750
6308650
7517550
8630750
9750450
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 -2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (*.f64 -2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/4)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (exp.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 1)))))

simplify106.0ms (0.6%)

Algorithm
egg-herbie
Rules
1774×rational.json-simplify-38
884×rational.json-simplify-51
820×rational.json-simplify-53
744×exponential.json-simplify-26
732×rational.json-simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01151527
12531519
26491519
314721519
432931519
540561519
652341519
Stop Event
node limit
Counts
59 → 69
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 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 0)
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)))
(*.f64 1 (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2) 2)
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2))
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 1/2)
(*.f64 4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4) 4)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 4)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8))))) 128)
(pow.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 0)
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/4)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/4)))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 0)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (exp.f64 im)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 2)) 4)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)))))) 128)
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 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 (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 (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 (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 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 im -1) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1 im))))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (+.f64 (*.f64 im -1) (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (neg.f64 im) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (+.f64 (neg.f64 im) (*.f64 -1/5040 (pow.f64 im 7))) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 0)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)))
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 1 (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2) 2)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 1/2)
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 1/4)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4) 4)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (*.f64 -2 im)))
(*.f64 (exp.f64 (*.f64 -2 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 2)
(/.f64 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 4)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8) 8)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8)) 16)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8))) 32)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8)))) 64)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 8))))) 128)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(pow.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 0)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/4)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/4)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 0)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 1)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (exp.f64 im)) 2)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 2)) 4)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)) 8)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4))) 16)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)))) 32)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4))))) 64)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 4)))))) 128)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2)) 1)
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (*.f64 -2 im)) -1)))
(*.f64 1/2 (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1)))

eval169.0ms (0.9%)

Compiler

Compiled 6874 to 5024 computations (26.9% saved)

prune99.0ms (0.5%)

Pruning

20 alts after pruning (13 fresh and 7 done)

PrunedKeptTotal
New3618369
Fresh257
Picked011
Done167
Total36420384
Error
0.1b
Counts
384 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
56.8b
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)
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)
29.7b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
58.6b
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
61.2b
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))
1.6b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
1.3b
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
58.9b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
33.4b
(*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -2))
56.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
2.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))))
30.3b
(*.f64 (*.f64 -2 im) (*.f64 (exp.f64 im) 1/2))
1.9b
(*.f64 (neg.f64 im) (cos.f64 re))
58.9b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.9b
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
60.4b
(*.f64 -1/5040 (pow.f64 im 7))
60.2b
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
29.9b
(neg.f64 im)
Compiler

Compiled 401 to 323 computations (19.5% saved)

localize90.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 95 to 72 computations (24.2% saved)

series2.0ms (0%)

Counts
4 → 24
Calls

15 calls:

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

rewrite107.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
022104
1142104
2259104
3535104
41102104
52860104
65232104
76697104
Stop Event
node limit
Counts
4 → 48
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/5040 (pow.f64 im 7))
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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) (*.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 -1/5040 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/5040 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)))))

simplify143.0ms (0.8%)

Algorithm
egg-herbie
Rules
1784×rational.json-simplify-35
1520×rational.json-simplify-53
1310×rational.json-simplify-51
1132×rational.json-simplify-2
882×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01633200
13933188
28432928
321792898
447702898
568572898
675792898
Stop Event
node limit
Counts
72 → 105
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 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -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/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -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 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) 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/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4))))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4)))))))) im)
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(+.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) (*.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 -1/5040 (pow.f64 im 7)) 0)
(+.f64 0 (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(-.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)
(/.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))))) 64)
(pow.f64 (*.f64 -1/5040 (pow.f64 im 7)) 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 (cos.f64 re) (*.f64 -1/6 (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/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 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 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.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 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (+.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
(+.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 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (+.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 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.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 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (+.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
(+.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 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.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 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (+.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 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.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 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (+.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7))) im))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.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/5040 (pow.f64 im 7)) (-.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 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2)))))) im)
(+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))))) (-.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/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))) im)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4))))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 -1/5040 (pow.f64 im 7))))) (-.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/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)) 1/24))))) im))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.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/5040 (pow.f64 im 7)) (+.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 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im) (pow.f64 re 4)))))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 -1/5040 (pow.f64 im 7)))) (*.f64 -1/120 (pow.f64 im 5)))) (-.f64 (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.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/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)) 1/24)))))) (-.f64 (*.f64 (pow.f64 re 6) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)) -1/720)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.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 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.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 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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 -1/5040 (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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)) (*.f64 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7)))) im))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 2)) 2)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))) 8)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4)))) 16)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))))) 32)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (*.f64 (cos.f64 re) 4)))))) 64)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (-.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) (*.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 -1/5040 (pow.f64 im 7)) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 0 (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(*.f64 -1/5040 (pow.f64 im 7))
(-.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))))) 64)
(*.f64 -1/5040 (pow.f64 im 7))
(pow.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)
(*.f64 -1/5040 (pow.f64 im 7))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.8b
(-.f64 (-.f64 1 im) 1)
Compiler

Compiled 12 to 9 computations (25% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite122.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1710×rational.json-1
1710×rational.json-2
1694×rational.json-simplify-35
1106×exponential.json-3
1106×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067
1525
21295
32345
44415
510035
626275
744695
854705
976505
Stop Event
node limit
Counts
1 → 59
Calls
Call 1
Inputs
(-.f64 (-.f64 1 im) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (neg.f64 (+.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 im -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im -1/2) (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 im -1) -1/2) (+.f64 (*.f64 (+.f64 im -1) -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (-.f64 (/.f64 im -8) (/.f64 im 8)) (*.f64 im 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 im -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 1/2 (*.f64 im -1/4)) (/.f64 im 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 im -8) (*.f64 1/2 (*.f64 im 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 im -8) (/.f64 im 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 4) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 8) -1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 im 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 im -8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (*.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/8 (*.f64 im 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 im -16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im 8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im im) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -16) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 16) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im 16)) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im -16)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im 16))) -64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im -16))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16)))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im 16)))) -128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 im)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 im -2) -2))))))

simplify168.0ms (0.9%)

Algorithm
egg-herbie
Rules
1906×rational.json-simplify-51
1736×rational.json-simplify-35
1134×rational.json-simplify-2
966×rational.json-simplify-1
840×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0124395
1267395
2569395
31560395
42590395
53210395
63529395
73904395
84428395
96192395
106832395
117820395
Stop Event
node limit
Counts
71 → 61
Calls
Call 1
Inputs
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(+.f64 (-.f64 1 im) -1)
(+.f64 (neg.f64 im) 0)
(+.f64 0 (neg.f64 im))
(+.f64 -1 (-.f64 1 im))
(+.f64 -2 (neg.f64 (+.f64 im -2)))
(+.f64 (neg.f64 (+.f64 im -2)) -2)
(+.f64 (*.f64 im -1/2) (*.f64 im -1/2))
(+.f64 (*.f64 (+.f64 im -1) -1/2) (+.f64 (*.f64 (+.f64 im -1) -1/2) -1))
(+.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im 1/2)))
(*.f64 1 (neg.f64 im))
(*.f64 im -1)
(*.f64 (neg.f64 im) 1)
(*.f64 -1 im)
(*.f64 2 (*.f64 im -1/2))
(*.f64 2 (-.f64 (-.f64 (/.f64 im -8) (/.f64 im 8)) (*.f64 im 1/4)))
(*.f64 (*.f64 im -2) 1/2)
(*.f64 4 (*.f64 im -1/4))
(*.f64 4 (-.f64 (*.f64 1/2 (*.f64 im -1/4)) (/.f64 im 8)))
(*.f64 4 (-.f64 (/.f64 im -8) (*.f64 1/2 (*.f64 im 1/4))))
(*.f64 4 (-.f64 (/.f64 im -8) (/.f64 im 8)))
(*.f64 (+.f64 im im) -1/2)
(*.f64 (*.f64 im -4) 1/4)
(*.f64 (*.f64 im 4) -1/4)
(*.f64 1/2 (*.f64 im -2))
(*.f64 -2 (*.f64 im 1/2))
(*.f64 (*.f64 im -8) 1/8)
(*.f64 (*.f64 im 8) -1/8)
(*.f64 -4 (*.f64 im 1/4))
(*.f64 (*.f64 im -1/2) 2)
(*.f64 1/4 (*.f64 im -4))
(*.f64 (*.f64 im 1/2) -2)
(*.f64 -1/2 (+.f64 im im))
(*.f64 1/8 (*.f64 im -8))
(*.f64 (*.f64 im -1/4) 4)
(*.f64 -1/4 (*.f64 im 4))
(*.f64 (*.f64 im 1/4) -4)
(*.f64 -1/8 (*.f64 im 8))
(*.f64 1/16 (*.f64 im -16))
(*.f64 (/.f64 im 8) -8)
(/.f64 im -1)
(/.f64 (neg.f64 im) 1)
(/.f64 (*.f64 im -2) 2)
(/.f64 (+.f64 im im) -2)
(/.f64 (*.f64 im -4) 4)
(/.f64 (*.f64 im 4) -4)
(/.f64 (*.f64 im -8) 8)
(/.f64 (*.f64 im 8) -8)
(/.f64 (*.f64 im -16) 16)
(/.f64 (*.f64 im 16) -16)
(/.f64 (*.f64 2 (*.f64 im 16)) -32)
(/.f64 (*.f64 2 (*.f64 im -16)) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im 16))) -64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im -16))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16)))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im 16)))) -128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16))))) 256)
(pow.f64 (neg.f64 im) 1)
(neg.f64 im)
(neg.f64 (-.f64 (+.f64 im -2) -2))
Outputs
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (-.f64 1 im) -1)
(neg.f64 im)
(+.f64 (neg.f64 im) 0)
(neg.f64 im)
(+.f64 0 (neg.f64 im))
(neg.f64 im)
(+.f64 -1 (-.f64 1 im))
(neg.f64 im)
(+.f64 -2 (neg.f64 (+.f64 im -2)))
(neg.f64 im)
(+.f64 (neg.f64 (+.f64 im -2)) -2)
(neg.f64 im)
(+.f64 (*.f64 im -1/2) (*.f64 im -1/2))
(neg.f64 im)
(+.f64 (*.f64 (+.f64 im -1) -1/2) (+.f64 (*.f64 (+.f64 im -1) -1/2) -1))
(neg.f64 im)
(+.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im 1/2)))
(neg.f64 im)
(*.f64 1 (neg.f64 im))
(neg.f64 im)
(*.f64 im -1)
(neg.f64 im)
(*.f64 (neg.f64 im) 1)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 2 (*.f64 im -1/2))
(neg.f64 im)
(*.f64 2 (-.f64 (-.f64 (/.f64 im -8) (/.f64 im 8)) (*.f64 im 1/4)))
(neg.f64 im)
(*.f64 (*.f64 im -2) 1/2)
(neg.f64 im)
(*.f64 4 (*.f64 im -1/4))
(neg.f64 im)
(*.f64 4 (-.f64 (*.f64 1/2 (*.f64 im -1/4)) (/.f64 im 8)))
(*.f64 4 (-.f64 (*.f64 im -1/8) (/.f64 im 8)))
(*.f64 4 (-.f64 (/.f64 im -8) (*.f64 1/2 (*.f64 im 1/4))))
(*.f64 4 (-.f64 (/.f64 im -8) (*.f64 im 1/8)))
(*.f64 4 (-.f64 (/.f64 im -8) (/.f64 im 8)))
(neg.f64 im)
(*.f64 (+.f64 im im) -1/2)
(neg.f64 im)
(*.f64 (*.f64 im -4) 1/4)
(neg.f64 im)
(*.f64 (*.f64 im 4) -1/4)
(neg.f64 im)
(*.f64 1/2 (*.f64 im -2))
(neg.f64 im)
(*.f64 -2 (*.f64 im 1/2))
(neg.f64 im)
(*.f64 (*.f64 im -8) 1/8)
(neg.f64 im)
(*.f64 (*.f64 im 8) -1/8)
(neg.f64 im)
(*.f64 -4 (*.f64 im 1/4))
(neg.f64 im)
(*.f64 (*.f64 im -1/2) 2)
(neg.f64 im)
(*.f64 1/4 (*.f64 im -4))
(neg.f64 im)
(*.f64 (*.f64 im 1/2) -2)
(neg.f64 im)
(*.f64 -1/2 (+.f64 im im))
(neg.f64 im)
(*.f64 1/8 (*.f64 im -8))
(neg.f64 im)
(*.f64 (*.f64 im -1/4) 4)
(neg.f64 im)
(*.f64 -1/4 (*.f64 im 4))
(neg.f64 im)
(*.f64 (*.f64 im 1/4) -4)
(neg.f64 im)
(*.f64 -1/8 (*.f64 im 8))
(neg.f64 im)
(*.f64 1/16 (*.f64 im -16))
(neg.f64 im)
(*.f64 (/.f64 im 8) -8)
(neg.f64 im)
(/.f64 im -1)
(neg.f64 im)
(/.f64 (neg.f64 im) 1)
(neg.f64 im)
(/.f64 (*.f64 im -2) 2)
(neg.f64 im)
(/.f64 (+.f64 im im) -2)
(neg.f64 im)
(/.f64 (*.f64 im -4) 4)
(neg.f64 im)
(/.f64 (*.f64 im 4) -4)
(neg.f64 im)
(/.f64 (*.f64 im -8) 8)
(neg.f64 im)
(/.f64 (*.f64 im 8) -8)
(neg.f64 im)
(/.f64 (*.f64 im -16) 16)
(neg.f64 im)
(/.f64 (*.f64 im 16) -16)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 im 16)) -32)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 im -16)) 32)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im 16))) -64)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im -16))) 64)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16)))) 128)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im 16)))) -128)
(neg.f64 im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 im -16))))) 256)
(neg.f64 im)
(pow.f64 (neg.f64 im) 1)
(neg.f64 im)
(neg.f64 im)
(neg.f64 (-.f64 (+.f64 im -2) -2))
(neg.f64 im)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 14 computations (36.4% saved)

series6.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite128.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1856×rational.json-simplify-35
1642×rational.json-1
1642×rational.json-2
1200×exponential.json-3
1200×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01023
16717
215215
336815
471915
5171815
6347815
7494515
8599615
9776615
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 (*.f64 -2 im) (*.f64 (exp.f64 im) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (*.f64 im (exp.f64 im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 im) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (exp.f64 im) -1/2)) (*.f64 im (*.f64 (exp.f64 im) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 im (exp.f64 im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 im (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -2 im) (exp.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (exp.f64 im) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (*.f64 im -8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (*.f64 im 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (exp.f64 im)))))))

simplify445.0ms (2.4%)

Algorithm
egg-herbie
Rules
3650×rational.json-simplify-35
1878×rational.json-simplify-2
1742×rational.json-simplify-53
900×exponential.json-simplify-26
688×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085645
1208633
2426633
3950627
42591627
53899627
64228627
74535627
84828627
94907627
104979627
115867627
126734627
136834627
147072627
157295627
167512627
177719627
187925627
Stop Event
node limit
Counts
37 → 47
Calls
Call 1
Inputs
(*.f64 -1 im)
(+.f64 (*.f64 -1 (pow.f64 im 2)) (*.f64 -1 im))
(+.f64 (*.f64 -1 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1 (pow.f64 im 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 4)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 im))))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (exp.f64 im)) -1)))
(+.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 0)
(+.f64 0 (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 im (exp.f64 im))))
(+.f64 (*.f64 im (*.f64 (exp.f64 im) -1/2)) (*.f64 im (*.f64 (exp.f64 im) -1/2)))
(+.f64 (-.f64 1 (*.f64 im (exp.f64 im))) -1)
(-.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 0)
(-.f64 0 (*.f64 im (exp.f64 im)))
(-.f64 -1 (+.f64 (*.f64 im (exp.f64 im)) -1))
(-.f64 (-.f64 1 (*.f64 im (exp.f64 im))) 1)
(/.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 1)
(/.f64 (*.f64 (*.f64 -2 im) (exp.f64 im)) 2)
(/.f64 (*.f64 im (*.f64 (exp.f64 im) -4)) 4)
(/.f64 (*.f64 im (exp.f64 im)) -1)
(/.f64 (*.f64 (exp.f64 im) (*.f64 im -8)) 8)
(/.f64 (*.f64 (exp.f64 im) (+.f64 im im)) -2)
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))) 16)
(/.f64 (*.f64 (exp.f64 im) (*.f64 im 4)) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))) 32)
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im 4))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))))))) 256)
(pow.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 1)
(neg.f64 (*.f64 im (exp.f64 im)))
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 (pow.f64 im 2)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1 (pow.f64 im 2)))
(*.f64 -1 (+.f64 (pow.f64 im 2) im))
(*.f64 -1 (+.f64 im (pow.f64 im 2)))
(neg.f64 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -1 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1 (pow.f64 im 2)) (+.f64 (neg.f64 im) (*.f64 -1/2 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (+.f64 (pow.f64 im 2) im)) (*.f64 -1/2 (pow.f64 im 3)))
(+.f64 (*.f64 -1 (+.f64 im (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 3)))
(+.f64 (neg.f64 (+.f64 im (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 3)))
(+.f64 (*.f64 -1 (pow.f64 im 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 4)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 im))))
(+.f64 (*.f64 -1 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 4)))))
(+.f64 (*.f64 -1/2 (pow.f64 im 3)) (+.f64 (*.f64 -1 (+.f64 (pow.f64 im 2) im)) (*.f64 -1/6 (pow.f64 im 4))))
(+.f64 (*.f64 -1 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 4))))
(+.f64 (neg.f64 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 4))))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) im))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (exp.f64 im)) -1)))
(+.f64 -2 (-.f64 1 (+.f64 -1 (*.f64 im (exp.f64 im)))))
(+.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 0)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(+.f64 0 (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 im (exp.f64 im))))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(+.f64 (*.f64 im (*.f64 (exp.f64 im) -1/2)) (*.f64 im (*.f64 (exp.f64 im) -1/2)))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 1 (*.f64 im (exp.f64 im))) -1)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(-.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 0)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(-.f64 0 (*.f64 im (exp.f64 im)))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(-.f64 -1 (+.f64 (*.f64 im (exp.f64 im)) -1))
(-.f64 -1 (+.f64 -1 (*.f64 im (exp.f64 im))))
(-.f64 (-.f64 1 (*.f64 im (exp.f64 im))) 1)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 1)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (*.f64 -2 im) (exp.f64 im)) 2)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 im (*.f64 (exp.f64 im) -4)) 4)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 im (exp.f64 im)) -1)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (exp.f64 im) (*.f64 im -8)) 8)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (exp.f64 im) (+.f64 im im)) -2)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))) 16)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (exp.f64 im) (*.f64 im 4)) -4)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))) 32)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im 4))) -8)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))))) 64)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))))) 128)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im -8))))))) 256)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(pow.f64 (*.f64 (exp.f64 im) (neg.f64 im)) 1)
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))
(neg.f64 (*.f64 im (exp.f64 im)))
(*.f64 (neg.f64 im) (exp.f64 im))
(*.f64 im (neg.f64 (exp.f64 im)))

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 im (cos.f64 re)) 2)
0.1b
(*.f64 im (cos.f64 re))
5.5b
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
5.6b
(+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))
Compiler

Compiled 49 to 27 computations (44.9% saved)

series1.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite107.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01445
110643
221043
341843
486743
5223843
6452943
7638843
Stop Event
node limit
Counts
3 → 133
Calls
Call 1
Inputs
(+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(+.f64 (*.f64 im (cos.f64 re)) 2)
Outputs
((#(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 (*.f64 im (cos.f64 re)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (cos.f64 re)) 1)))) (#(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 (*.f64 im (cos.f64 re)))))) (#(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 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 (cos.f64 re) 2) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 (cos.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 4) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))))) (#(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 8 (*.f64 (/.f64 (cos.f64 re) 4) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 im 4) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 4) (*.f64 1/2 (*.f64 im 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 (*.f64 (cos.f64 re) 8) (*.f64 1/4 (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 8) (*.f64 1/4 (*.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 (cos.f64 re) 1/2) (+.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 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 (/.f64 (cos.f64 re) 4)) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 im 4)) (*.f64 (cos.f64 re) 2))))) (#(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 (*.f64 im 8) (cos.f64 re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (neg.f64 (+.f64 -2 (*.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))) 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 (neg.f64 (+.f64 -2 (*.f64 im (cos.f64 re)))) -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 -1 (*.f64 im (*.f64 (cos.f64 re) 1/2))) (-.f64 1 (*.f64 im (*.f64 (cos.f64 re) 1/2))))))) (#(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 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 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 1 (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (neg.f64 (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 (*.f64 -2 (*.f64 im (cos.f64 re))) 1/2)))) (#(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 (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 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 (*.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 1/2 (*.f64 -2 (*.f64 im (cos.f64 re))))))) (#(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 (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 im 1/2) (*.f64 2 (neg.f64 (cos.f64 re))))))) (#(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 (*.f64 (cos.f64 re) 1/2) (-.f64 (neg.f64 im) im))))) (#(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/2 (*.f64 im (*.f64 (cos.f64 re) 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 (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 2 (neg.f64 (cos.f64 re))) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 im) im) (*.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 (/.f64 (*.f64 im (cos.f64 re)) -4) 4)))) (#(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 2 (neg.f64 (*.f64 (cos.f64 re) 2))) (*.f64 1/2 (*.f64 im 1/2)))))) (#(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 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 -2 (*.f64 im (cos.f64 re))) 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 (*.f64 im 8) (cos.f64 re)) -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 (*.f64 im 8) (cos.f64 re))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 im 8) (cos.f64 re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) -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 (*.f64 im 8) (cos.f64 re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) 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 (*.f64 im 8) (cos.f64 re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))))) 32)))) (#(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)))))) (#(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 (+.f64 (*.f64 im (cos.f64 re)) 2) 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 (*.f64 im (cos.f64 re)) 3) 1)))) (#(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 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 4 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.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) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 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) 1/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 im (cos.f64 re)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 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 pow.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)))))

simplify132.0ms (0.7%)

Algorithm
egg-herbie
Rules
1512×rational.json-simplify-52
1282×rational.json-simplify-35
1198×rational.json-simplify-1
1098×rational.json-simplify-2
892×exponential.json-simplify-26
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02673257
16623257
216363245
330553245
451583245
579583245
Stop Event
node limit
Counts
205 → 189
Calls
Call 1
Inputs
(*.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)
(*.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 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) im)
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 im)
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im)))
(+.f64 2 (+.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 (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 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 im (cos.f64 re)) 0)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) -1) -1)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 1) 1)
(*.f64 im (cos.f64 re))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im (cos.f64 re)) 1)
(*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) 1/2)
(*.f64 4 (/.f64 (*.f64 im (cos.f64 re)) 4))
(*.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 (cos.f64 re) 2) (*.f64 im 1/2))
(*.f64 (+.f64 im im) (*.f64 (cos.f64 re) 1/2))
(*.f64 (*.f64 im 4) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 1/4)
(*.f64 8 (*.f64 (/.f64 (cos.f64 re) 4) (*.f64 im 1/2)))
(*.f64 8 (*.f64 (/.f64 im 4) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (*.f64 (cos.f64 re) 4) (*.f64 1/2 (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 (cos.f64 re) 2)))
(*.f64 (*.f64 (cos.f64 re) 8) (*.f64 1/4 (*.f64 im 1/2)))
(*.f64 (*.f64 im 8) (*.f64 1/4 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 2))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 im im))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) 2)
(*.f64 1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))
(*.f64 (/.f64 (*.f64 im (cos.f64 re)) 4) 4)
(*.f64 (*.f64 2 (/.f64 (cos.f64 re) 4)) (+.f64 im im))
(*.f64 (*.f64 2 (/.f64 im 4)) (*.f64 (cos.f64 re) 2))
(/.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 (*.f64 im 8) (cos.f64 re)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))))) 64)
(pow.f64 (*.f64 im (cos.f64 re)) 1)
(+.f64 -2 (neg.f64 (+.f64 -2 (*.f64 im (cos.f64 re)))))
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)
(+.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 (neg.f64 (+.f64 -2 (*.f64 im (cos.f64 re)))) -2)
(+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(+.f64 (-.f64 -1 (*.f64 im (*.f64 (cos.f64 re) 1/2))) (-.f64 1 (*.f64 im (*.f64 (cos.f64 re) 1/2))))
(*.f64 -2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (cos.f64 re)) -1)
(*.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 1 (*.f64 im (neg.f64 (cos.f64 re))))
(*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(*.f64 -1 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 -2 (*.f64 im (cos.f64 re))) 1/2)
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) -1/2)
(*.f64 4 (/.f64 (*.f64 im (cos.f64 re)) -4))
(*.f64 (*.f64 (cos.f64 re) 2) (neg.f64 (*.f64 im 1/2)))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))
(*.f64 (+.f64 im im) (neg.f64 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (+.f64 im im) (/.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (*.f64 im (cos.f64 re)) -4) 1/4)
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) -1/4)
(*.f64 1/2 (*.f64 -2 (*.f64 im (cos.f64 re))))
(*.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 (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 im 1/2) (*.f64 2 (neg.f64 (cos.f64 re))))
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (cos.f64 re) 2)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (neg.f64 im) im))
(*.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (+.f64 im im)))
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) -2)
(*.f64 -1/2 (*.f64 im (*.f64 (cos.f64 re) 2)))
(*.f64 1/4 (*.f64 (*.f64 im (cos.f64 re)) -4))
(*.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 2 (neg.f64 (cos.f64 re))) (*.f64 im 1/2))
(*.f64 (-.f64 (neg.f64 im) im) (*.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 (/.f64 (*.f64 im (cos.f64 re)) -4) 4)
(*.f64 -1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))
(*.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) 2))) (*.f64 1/2 (*.f64 im 1/2)))
(*.f64 (*.f64 2 (neg.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(/.f64 (*.f64 -2 (*.f64 im (cos.f64 re))) 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 (*.f64 im 8) (cos.f64 re)) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))) -16)
(/.f64 (neg.f64 (*.f64 (*.f64 im 8) (cos.f64 re))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (cos.f64 re)))) 16)
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) -8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (cos.f64 re))))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))))) 32)
(pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 im (cos.f64 re)))
(neg.f64 (-.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 im (cos.f64 re)) -1/2)))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 0)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 1) -1)
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 3) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1/2))
(*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)
(*.f64 1 (+.f64 (*.f64 im (cos.f64 re)) 2))
(*.f64 4 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4))
(*.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 2)) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4) 4)
(/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 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)
(pow.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)
Outputs
(*.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 -1/2 (*.f64 im (pow.f64 re 2))))
(+.f64 im (*.f64 im (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 im (*.f64 (pow.f64 re 2) (*.f64 im -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 -1/2 (*.f64 im (pow.f64 re 2))) (+.f64 im (*.f64 1/24 (*.f64 im (pow.f64 re 4)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (*.f64 im (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (*.f64 im (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (*.f64 im (*.f64 1/24 (pow.f64 re 4)))))
(+.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 -1/2 (*.f64 im (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 im (pow.f64 re 4))) (+.f64 im (*.f64 -1/720 (*.f64 im (pow.f64 re 6))))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (+.f64 im (*.f64 im (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 im (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/720 (*.f64 im (pow.f64 re 6))))))
(*.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 -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 (pow.f64 re 2) (*.f64 im 1/2)) (neg.f64 im))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (neg.f64 im))
(*.f64 im (+.f64 -1 (*.f64 (pow.f64 re 2) 1/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 (*.f64 (pow.f64 re 2) (*.f64 im 1/2)) (neg.f64 im)) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (neg.f64 im) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im (+.f64 -1 (*.f64 (pow.f64 re 4) -1/24))))
(+.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 (pow.f64 re 2) (*.f64 im 1/2)) (neg.f64 im)) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 im (*.f64 1/2 (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 (*.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 (*.f64 im (+.f64 -1 (*.f64 (pow.f64 re 4) -1/24))) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im (*.f64 (pow.f64 re 6) 1/720))))
(*.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))
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 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) im)
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 im)
(+.f64 im 2)
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 2 (+.f64 im (*.f64 -1/2 (*.f64 im (pow.f64 re 2)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) 2))
(+.f64 im (+.f64 2 (*.f64 (pow.f64 re 2) (*.f64 im -1/2))))
(+.f64 2 (+.f64 im (*.f64 im (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im)))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 im (pow.f64 re 2))) (+.f64 im (*.f64 1/24 (*.f64 im (pow.f64 re 4))))))
(+.f64 2 (+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (*.f64 im (*.f64 -1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (+.f64 (*.f64 im (*.f64 1/24 (pow.f64 re 4))) (+.f64 im 2)))
(+.f64 im (+.f64 (+.f64 2 (*.f64 im (*.f64 1/24 (pow.f64 re 4)))) (*.f64 im (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 im (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (+.f64 2 (*.f64 im (*.f64 1/24 (pow.f64 re 4))))))
(+.f64 2 (+.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 2 (+.f64 (*.f64 -1/2 (*.f64 im (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 im (pow.f64 re 4))) (+.f64 im (*.f64 -1/720 (*.f64 im (pow.f64 re 6)))))))
(+.f64 2 (+.f64 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (*.f64 im (*.f64 -1/2 (pow.f64 re 2))) (+.f64 im (*.f64 im (*.f64 -1/720 (pow.f64 re 6)))))))
(+.f64 2 (+.f64 (*.f64 im (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720))))))
(+.f64 (*.f64 im (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 -1/720 (*.f64 im (pow.f64 re 6))) (+.f64 2 (+.f64 im (*.f64 im (*.f64 -1/2 (pow.f64 re 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 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 2 (*.f64 (cos.f64 re) im))
(+.f64 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 (*.f64 im (cos.f64 re)) 1) 1)
(*.f64 (cos.f64 re) im)
(*.f64 im (cos.f64 re))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im (cos.f64 re)) 1)
(*.f64 (cos.f64 re) im)
(*.f64 2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 2)) 1/2)
(*.f64 (cos.f64 re) im)
(*.f64 4 (/.f64 (*.f64 im (cos.f64 re)) 4))
(*.f64 (cos.f64 re) im)
(*.f64 4 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 4 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 im 1/2))
(*.f64 (cos.f64 re) im)
(*.f64 (+.f64 im im) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im 4) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 1/4)
(*.f64 (cos.f64 re) im)
(*.f64 8 (*.f64 (/.f64 (cos.f64 re) 4) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 8 (*.f64 (/.f64 im 4) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 (cos.f64 re) 4) (*.f64 1/2 (*.f64 im 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 1/2 (*.f64 im (*.f64 (cos.f64 re) 2)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 (cos.f64 re) 8) (*.f64 1/4 (*.f64 im 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im 8) (*.f64 1/4 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 im im))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) 2)
(*.f64 (cos.f64 re) im)
(*.f64 1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))
(*.f64 (cos.f64 re) im)
(*.f64 (/.f64 (*.f64 im (cos.f64 re)) 4) 4)
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 2 (/.f64 (cos.f64 re) 4)) (+.f64 im im))
(*.f64 (cos.f64 re) im)
(*.f64 (*.f64 2 (/.f64 im 4)) (*.f64 (cos.f64 re) 2))
(*.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 (*.f64 im 8) (cos.f64 re)) 8)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))) 16)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) 32)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))))) 64)
(*.f64 (cos.f64 re) im)
(pow.f64 (*.f64 im (cos.f64 re)) 1)
(*.f64 (cos.f64 re) im)
(+.f64 -2 (neg.f64 (+.f64 -2 (*.f64 im (cos.f64 re)))))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 im (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 0 (*.f64 im (neg.f64 (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 (neg.f64 (+.f64 -2 (*.f64 im (cos.f64 re)))) -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 -1 (*.f64 im (*.f64 (cos.f64 re) 1/2))) (-.f64 1 (*.f64 im (*.f64 (cos.f64 re) 1/2))))
(+.f64 (-.f64 -1 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(*.f64 -2 (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.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 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 1 (*.f64 im (neg.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (neg.f64 (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 (*.f64 -2 (*.f64 im (cos.f64 re))) 1/2)
(*.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 (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 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 (*.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 1/2 (*.f64 -2 (*.f64 im (cos.f64 re))))
(*.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 (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 im 1/2) (*.f64 2 (neg.f64 (cos.f64 re))))
(*.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 (*.f64 (cos.f64 re) 1/2) (-.f64 (neg.f64 im) im))
(*.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/2 (*.f64 im (*.f64 (cos.f64 re) 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 (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 2 (neg.f64 (cos.f64 re))) (*.f64 im 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (-.f64 (neg.f64 im) im) (*.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 (/.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 -1/4 (*.f64 im (*.f64 (cos.f64 re) 4)))
(*.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 2 (neg.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 -2 (*.f64 im (cos.f64 re))) 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 (*.f64 im 8) (cos.f64 re)) -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 (*.f64 im 8) (cos.f64 re))) -16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 (*.f64 im 8) (cos.f64 re))) 8)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) -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 (*.f64 im 8) (cos.f64 re)))) 16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re)))) 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 (*.f64 im 8) (cos.f64 re))))) 32)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (cos.f64 re))))) 32)
(*.f64 (cos.f64 re) (neg.f64 im))
(pow.f64 (*.f64 im (neg.f64 (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 im (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 im (cos.f64 re)) -1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 0)
(+.f64 2 (*.f64 (cos.f64 re) im))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 1) -1)
(+.f64 2 (*.f64 (cos.f64 re) im))
(-.f64 (+.f64 (*.f64 im (cos.f64 re)) 3) 1)
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1/2))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 1 (+.f64 (*.f64 im (cos.f64 re)) 2))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 4 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 2)) 1/2)
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4) 1/4)
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 2)))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4))
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1/2) 2)
(+.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 (/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4) 4)
(+.f64 2 (*.f64 (cos.f64 re) im))
(/.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)
(+.f64 2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (+.f64 (*.f64 im (cos.f64 re)) 2)) 2)
(+.f64 2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 4) 4)
(+.f64 2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 8) 8)
(+.f64 2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 8)) 16)
(+.f64 2 (*.f64 (cos.f64 re) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 8))) 32)
(+.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 2 (*.f64 (cos.f64 re) im))
(pow.f64 (+.f64 (*.f64 im (cos.f64 re)) 2) 1)
(+.f64 2 (*.f64 (cos.f64 re) im))

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
5.9b
(-.f64 1 (exp.f64 (+.f64 im im)))
Compiler

Compiled 45 to 18 computations (60% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite71.0ms (0.4%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01148
18544
219944
343744
498336
5367336
Stop Event
node limit
Counts
2 → 77
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))))
((#(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 (*.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 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (*.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) (*.f64 (exp.f64 im) 8))))) (#(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 (-.f64 1 (exp.f64 (+.f64 im im))) -2) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (exp.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 4) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 4) (*.f64 2 (neg.f64 (*.f64 (exp.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 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8)) (-.f64 0 (*.f64 (exp.f64 im) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) (exp.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 0 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (neg.f64 (neg.f64 (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2))) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (/.f64 1 (/.f64 2 (exp.f64 im)))))))) (#(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 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))))))

simplify108.0ms (0.6%)

Algorithm
egg-herbie
Rules
1434×rational.json-simplify-35
1290×rational.json-simplify-51
1010×rational.json-simplify-2
992×rational.json-simplify-1
708×rational.json-simplify-53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01922297
15532271
219942271
340912271
474822271
Stop Event
node limit
Counts
101 → 108
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)))
(+.f64 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)) -1)
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) 8)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8)) 16)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) 2)
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.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 (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 0 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 -1 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 4 (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))
(/.f64 -2 (-.f64 0 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 1/2 (*.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) (*.f64 (exp.f64 im) 8))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (exp.f64 im) 1/2))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)
(/.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 4) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 4) (*.f64 2 (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8)) (-.f64 0 (*.f64 (exp.f64 im) 8)))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) (exp.f64 im)) 8)
(/.f64 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 0 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (*.f64 (exp.f64 im) 2))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (neg.f64 (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 (exp.f64 im) 4))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (/.f64 1 (/.f64 2 (exp.f64 im)))))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.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 -2 im) (+.f64 (+.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 -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 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)))
(+.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (+.f64 im im)))))
(-.f64 -1 (+.f64 -2 (exp.f64 (+.f64 im im))))
(+.f64 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)) -1)
(+.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (+.f64 im im)))))
(-.f64 -1 (+.f64 -2 (exp.f64 (+.f64 im im))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) 8)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) -2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8)) 16)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.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 (*.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 (exp.f64 (neg.f64 im)) (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 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 -1 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 -2 (-.f64 0 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im 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 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1/2 (*.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.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 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 (/.f64 1 (-.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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) (*.f64 (exp.f64 im) 8))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im 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 (-.f64 1 (exp.f64 (+.f64 im im))) -2) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (exp.f64 im) 1/2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 4) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 4) (*.f64 2 (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im 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 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8)) (-.f64 0 (*.f64 (exp.f64 im) 8)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 8) (exp.f64 im)) 8)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 0 (/.f64 (/.f64 1 (-.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 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (neg.f64 (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2)) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -2))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (*.f64 (exp.f64 im) 1/2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (/.f64 1 (/.f64 2 (exp.f64 im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im 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 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))

eval274.0ms (1.5%)

Compiler

Compiled 9098 to 6442 computations (29.2% saved)

prune145.0ms (0.8%)

Pruning

25 alts after pruning (15 fresh and 10 done)

PrunedKeptTotal
New5427549
Fresh088
Picked011
Done2911
Total54425569
Error
0.1b
Counts
569 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
56.8b
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)
58.5b
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
59.5b
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 im 2))) 1)
60.6b
(-.f64 (-.f64 1 (+.f64 -2 2)) 1)
58.5b
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
59.5b
(-.f64 (-.f64 1 im) 1)
29.7b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
58.6b
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
59.5b
(+.f64 (neg.f64 (+.f64 im -2)) -2)
61.2b
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))
1.6b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
1.3b
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
33.4b
(*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -2))
56.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
2.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))))
30.3b
(*.f64 (neg.f64 im) (exp.f64 im))
1.9b
(*.f64 (neg.f64 im) (cos.f64 re))
58.9b
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
58.9b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.9b
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
29.9b
(*.f64 1/2 (*.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (exp.f64 (neg.f64 im))))
60.4b
(*.f64 -1/5040 (pow.f64 im 7))
60.2b
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
30.2b
(neg.f64 (+.f64 im (pow.f64 im 2)))
29.9b
(neg.f64 im)
Compiler

Compiled 282 to 228 computations (19.1% saved)

regimes187.0ms (1%)

Counts
35 → 2
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (+.f64 im -2)) -2)
(-.f64 (-.f64 1 (+.f64 -2 2)) 1)
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 im 2))) 1)
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (neg.f64 im) (exp.f64 im))
(neg.f64 (+.f64 im (pow.f64 im 2)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 -2 im) (*.f64 (exp.f64 im) 1/2))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -2))
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(*.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 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))
Calls

6 calls:

88.0ms
im
49.0ms
(cos.f64 re)
16.0ms
re
14.0ms
(*.f64 1/2 (cos.f64 re))
7.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
1.3b1re
1.3b1im
0.2b2(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.3b1(*.f64 1/2 (cos.f64 re))
1.3b1(cos.f64 re)
1.3b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 417 to 278 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.11874401773106867
-3.8572948695547247e-5
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes122.0ms (0.7%)

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

6 calls:

63.0ms
re
14.0ms
im
13.0ms
(cos.f64 re)
13.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
0.3b2(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.6b1(*.f64 1/2 (cos.f64 re))
1.6b1(cos.f64 re)
1.6b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 346 to 226 computations (34.7% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.11874401773106867
-3.8572948695547247e-5
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes114.0ms (0.6%)

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

6 calls:

52.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
15.0ms
re
13.0ms
im
12.0ms
(cos.f64 re)
11.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
0.3b2(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.6b1(*.f64 1/2 (cos.f64 re))
1.6b1(cos.f64 re)
1.6b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 314 to 209 computations (33.4% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.11874401773106867
-3.8572948695547247e-5
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes158.0ms (0.8%)

Counts
29 → 2
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (+.f64 im -2)) -2)
(-.f64 (-.f64 1 (+.f64 -2 2)) 1)
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 im 2))) 1)
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (neg.f64 im) (exp.f64 im))
(neg.f64 (+.f64 im (pow.f64 im 2)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 -2 im) (*.f64 (exp.f64 im) 1/2))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -2))
(+.f64 (neg.f64 (+.f64 (*.f64 im (cos.f64 re)) -2)) -2)
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 im (cos.f64 re)) 2))) 1)
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(*.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 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
Calls

6 calls:

99.0ms
im
16.0ms
re
12.0ms
(*.f64 1/2 (cos.f64 re))
11.0ms
(cos.f64 re)
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
0.3b2(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.6b1(*.f64 1/2 (cos.f64 re))
1.6b1(cos.f64 re)
1.6b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 300 to 200 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.11874401773106867
-3.8572948695547247e-5
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes110.0ms (0.6%)

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

6 calls:

56.0ms
(cos.f64 re)
13.0ms
im
12.0ms
re
10.0ms
(*.f64 1/2 (cos.f64 re))
7.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
0.3b2(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.6b1(*.f64 1/2 (cos.f64 re))
1.6b1(cos.f64 re)
1.6b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 286 to 191 computations (33.2% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.11874401773106867
-3.8572948695547247e-5
Compiler

Compiled 19 to 15 computations (21.1% saved)

regimes46.0ms (0.2%)

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

3 calls:

14.0ms
re
12.0ms
im
10.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
1.6b1(cos.f64 re)
Compiler

Compiled 234 to 158 computations (32.5% saved)

regimes33.0ms (0.2%)

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

3 calls:

11.0ms
im
9.0ms
re
8.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.9b1re
1.9b1im
1.9b1(cos.f64 re)
Compiler

Compiled 140 to 97 computations (30.7% saved)

regimes12.0ms (0.1%)

Accuracy

Total -31.0b remaining (-103.7%)

Threshold costs -31.0b (-103.7%)

Counts
6 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 (-.f64 1 im) 1)
(+.f64 (neg.f64 (+.f64 im -2)) -2)
(-.f64 (-.f64 1 (+.f64 -2 2)) 1)
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 im 2))) 1)
(*.f64 -1/5040 (pow.f64 im 7))
Outputs
(neg.f64 im)
Calls

2 calls:

6.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
29.9b1re
29.9b1im
Compiler

Compiled 42 to 35 computations (16.7% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064670
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (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
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/5040 (pow.f64 im 7))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 im -2))) (*.f64 (exp.f64 im) (cos.f64 re))) 2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(if (<=.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) -3602879701896397/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (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 239 to 171 computations (28.5% saved)

soundness1.6s (8.7%)

Algorithm
egg-herbie
Rules
3840×rational.json-simplify-42
3840×rational.json-simplify-42
3080×rational.json-simplify-2
2924×rational.json-simplify-51
2308×rational.json-simplify-35
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
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
01653524
14153512
28413194
320313194
429613194
535453194
641363194
745723194
846783002
01453344
13843344
27793088
319663058
440133054
557773054
663433054
766813054
869833054
971673054
Stop Event
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 696 to 482 computations (30.7% saved)

end95.0ms (0.5%)

Compiler

Compiled 225 to 139 computations (38.2% saved)

Profiling

Loading profile data...