Details

Time bar (total: 18.8s)

analyze190.0ms (1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
57.1%50%37.5%0.1%12.5%0%0%7
57.1%50%37.5%0.1%12.5%0%0%8
61.5%50%31.2%0.1%18.7%0%0%9
61.5%50%31.2%0.1%18.7%0%0%10
64%50%28.1%0.1%21.9%0%0%11
64%50%28.1%0.1%21.9%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample8.0s (42.4%)

Results
3.8s4982×body1024valid
1.2s2058×body1024infinite
1.1s1708×body512valid
672.0ms1581×body256infinite
649.0ms441×body2048valid
396.0ms1058×body512infinite
163.0ms1125×body256valid
Bogosity

preprocess95.0ms (0.5%)

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)

simplify557.0ms (3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
11935
23335
35435
48235
513035
626035
757835
8135935
9226935
10275035
11367835
12407835
13428835
14442635
15454235
16465835
17615335
18636935
19653535
20665535
21676935
22676935
23728635
24733135
25748435
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 36 to 20 computations (44.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Error
57.2b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
57.2b
(*.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)))
7.3b
(-.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)))

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

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

eval103.0ms (0.5%)

Compiler

Compiled 2115 to 1131 computations (46.5% saved)

prune64.0ms (0.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1099118
Fresh000
Picked011
Done000
Total10910119
Error
0.1b
Counts
119 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
1.2b
(+.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)))))
1.4b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
57.4b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (-.f64 1 (exp.f64 im)) (-.f64 -1 (/.f64 -1 (exp.f64 im)))))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
57.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.7b
(*.f64 (neg.f64 im) (cos.f64 re))
1.2b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
1.4b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
59.0b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 295 to 222 computations (24.7% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 84 to 45 computations (46.4% saved)

series7.0ms (0%)

Counts
4 → 56
Calls

18 calls:

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

rewrite135.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1358×rational.json-1
1358×rational.json-2
1358×rational.json-3
1160×rational.json-simplify-35
1132×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01560
110460
222260
346560
493460
5226760
6441060
7612460
8771460
Stop Event
node limit
Counts
4 → 55
Calls
Call 1
Inputs
(*.f64 -1/6 (cos.f64 re))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 -1/120 (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -1/12) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (*.f64 (cos.f64 re) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 im -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 (cos.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 re) im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/240) (*.f64 (cos.f64 re) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/60 (*.f64 (cos.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) -1/120) 1)))))

simplify257.0ms (1.4%)

Algorithm
egg-herbie
Rules
1644×rational.json-simplify-35
1486×rational.json-simplify-51
1140×rational.json-simplify-1
866×rational.json-simplify-53
800×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01842205
14402205
29582157
325112121
452402121
560372121
664062121
766092121
868072121
970442121
Stop Event
node limit
Counts
111 → 110
Calls
Call 1
Inputs
-1/6
(-.f64 (*.f64 1/12 (pow.f64 re 2)) 1/6)
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/12 (pow.f64 re 2))) 1/6)
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6)))) 1/6)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -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))
-1/120
(-.f64 (*.f64 1/240 (pow.f64 re 2)) 1/120)
(-.f64 (+.f64 (*.f64 1/240 (pow.f64 re 2)) (*.f64 -1/2880 (pow.f64 re 4))) 1/120)
(-.f64 (+.f64 (*.f64 1/240 (pow.f64 re 2)) (+.f64 (*.f64 1/86400 (pow.f64 re 6)) (*.f64 -1/2880 (pow.f64 re 4)))) 1/120)
(+.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(+.f64 0 (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))
(-.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(/.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(/.f64 (*.f64 (cos.f64 re) -1/3) 2)
(/.f64 (*.f64 (cos.f64 re) -2/3) 4)
(/.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8)))) 64)
(pow.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -1/12) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -1/12))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8)))) 64)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (neg.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (*.f64 (cos.f64 re) (*.f64 im -1/2)))
(+.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) -1)
(-.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 0)
(-.f64 0 (*.f64 (cos.f64 re) im))
(-.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(/.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -4)) 4)
(/.f64 (*.f64 (cos.f64 re) im) -1)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8)))) 64)
(pow.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 (cos.f64 re) -1/120) 0)
(+.f64 0 (*.f64 (cos.f64 re) -1/120))
(+.f64 (*.f64 (cos.f64 re) -1/240) (*.f64 (cos.f64 re) -1/240))
(-.f64 (*.f64 (cos.f64 re) -1/120) 0)
(/.f64 (*.f64 (cos.f64 re) -1/120) 1)
(/.f64 (*.f64 (cos.f64 re) -1/60) 2)
(/.f64 (*.f64 (cos.f64 re) -1/30) 4)
(/.f64 (*.f64 -1/60 (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4))))) 64)
(pow.f64 (*.f64 (cos.f64 re) -1/120) 1)
Outputs
-1/6
(-.f64 (*.f64 1/12 (pow.f64 re 2)) 1/6)
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/12 (pow.f64 re 2))) 1/6)
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (-.f64 (*.f64 -1/144 (pow.f64 re 4)) 1/6))
(-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6)))) 1/6)
(+.f64 (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6))) (-.f64 (*.f64 -1/144 (pow.f64 re 4)) 1/6))
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (-.f64 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/4320 (pow.f64 re 6))) 1/6))
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (-.f64 (*.f64 1/4320 (pow.f64 re 6)) 1/6)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))))
(*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))) (*.f64 (pow.f64 re 6) (*.f64 (pow.f64 im 3) 1/4320))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))) (*.f64 (pow.f64 re 6) (*.f64 1/4320 (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 (pow.f64 re 6) (*.f64 1/4320 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/4320 (pow.f64 re 6)) (+.f64 -1/6 (*.f64 1/12 (pow.f64 re 2))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -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 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 (pow.f64 re 2) (*.f64 im 1/2)) (+.f64 (neg.f64 im) (*.f64 (pow.f64 re 4) (*.f64 im -1/24))))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 im 1/2)) (*.f64 im (+.f64 -1 (*.f64 (pow.f64 re 4) -1/24))))
(*.f64 im (+.f64 (*.f64 (pow.f64 re 2) 1/2) (+.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 (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im 1/2)) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 6) (*.f64 im 1/720)) (*.f64 (pow.f64 re 4) (*.f64 im -1/24))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (+.f64 (*.f64 im (+.f64 -1 (*.f64 (pow.f64 re 2) 1/2))) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (*.f64 im (+.f64 (*.f64 (pow.f64 re 2) 1/2) (+.f64 -1 (*.f64 (pow.f64 re 4) -1/24)))) (*.f64 (pow.f64 re 6) (*.f64 im 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))
-1/120
(-.f64 (*.f64 1/240 (pow.f64 re 2)) 1/120)
(-.f64 (*.f64 (pow.f64 re 2) 1/240) 1/120)
(-.f64 (+.f64 (*.f64 1/240 (pow.f64 re 2)) (*.f64 -1/2880 (pow.f64 re 4))) 1/120)
(+.f64 (*.f64 (pow.f64 re 4) -1/2880) (-.f64 (*.f64 (pow.f64 re 2) 1/240) 1/120))
(+.f64 (-.f64 (*.f64 (pow.f64 re 2) 1/240) 1/120) (*.f64 (pow.f64 re 4) -1/2880))
(+.f64 (*.f64 (pow.f64 re 2) 1/240) (-.f64 (*.f64 (pow.f64 re 4) -1/2880) 1/120))
(-.f64 (+.f64 (*.f64 1/240 (pow.f64 re 2)) (+.f64 (*.f64 1/86400 (pow.f64 re 6)) (*.f64 -1/2880 (pow.f64 re 4)))) 1/120)
(+.f64 (+.f64 (*.f64 (pow.f64 re 4) -1/2880) (*.f64 (pow.f64 re 6) 1/86400)) (-.f64 (*.f64 (pow.f64 re 2) 1/240) 1/120))
(+.f64 (-.f64 (*.f64 (pow.f64 re 2) 1/240) 1/120) (+.f64 (*.f64 (pow.f64 re 4) -1/2880) (*.f64 (pow.f64 re 6) 1/86400)))
(+.f64 (*.f64 (pow.f64 re 2) 1/240) (+.f64 (*.f64 (pow.f64 re 4) -1/2880) (-.f64 (*.f64 (pow.f64 re 6) 1/86400) 1/120)))
(+.f64 (*.f64 (pow.f64 re 4) -1/2880) (+.f64 (-.f64 (*.f64 (pow.f64 re 6) 1/86400) 1/120) (*.f64 (pow.f64 re 2) 1/240)))
(+.f64 (*.f64 (pow.f64 re 4) -1/2880) (+.f64 (*.f64 (pow.f64 re 2) 1/240) (-.f64 (*.f64 (pow.f64 re 6) 1/86400) 1/120)))
(+.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(*.f64 -1/6 (cos.f64 re))
(+.f64 0 (*.f64 -1/6 (cos.f64 re)))
(*.f64 -1/6 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))
(*.f64 -1/6 (cos.f64 re))
(-.f64 (*.f64 -1/6 (cos.f64 re)) 0)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -1/3) 2)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -2/3) 4)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8) 8)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8)) 16)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8))) 32)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (cos.f64 re)) 8)))) 64)
(*.f64 -1/6 (cos.f64 re))
(pow.f64 (*.f64 -1/6 (cos.f64 re)) 1)
(*.f64 -1/6 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -1/12) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -1/12))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8) 8)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8)) 16)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8))) 32)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 8)))) 64)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 0)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 0 (*.f64 (cos.f64 re) (neg.f64 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1/2)) (*.f64 (cos.f64 re) (*.f64 im -1/2)))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 0)
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 2)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -4)) 4)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) im) -1)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8) 8)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8)) 16)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8))) 32)
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 8)))) 64)
(*.f64 (cos.f64 re) (neg.f64 im))
(pow.f64 (*.f64 (cos.f64 re) (neg.f64 im)) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 (cos.f64 re) -1/120) 0)
(*.f64 (cos.f64 re) -1/120)
(+.f64 0 (*.f64 (cos.f64 re) -1/120))
(*.f64 (cos.f64 re) -1/120)
(+.f64 (*.f64 (cos.f64 re) -1/240) (*.f64 (cos.f64 re) -1/240))
(*.f64 (cos.f64 re) -1/120)
(-.f64 (*.f64 (cos.f64 re) -1/120) 0)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 (cos.f64 re) -1/120) 1)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 (cos.f64 re) -1/60) 2)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 (cos.f64 re) -1/30) 4)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 -1/60 (*.f64 (cos.f64 re) 4)) 8)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4))) 16)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4)))) 32)
(*.f64 (cos.f64 re) -1/120)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -1/60 (*.f64 (cos.f64 re) 4))))) 64)
(*.f64 (cos.f64 re) -1/120)
(pow.f64 (*.f64 (cos.f64 re) -1/120) 1)
(*.f64 (cos.f64 re) -1/120)

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)

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

series45.0ms (0.2%)

Counts
3 → 48
Calls

12 calls:

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

rewrite125.0ms (0.7%)

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

simplify239.0ms (1.3%)

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)

localize66.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 44 to 22 computations (50% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite103.0ms (0.5%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01443
19843
221533
346033
495033
5235133
6422333
7625633
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))))

simplify476.0ms (2.5%)

Algorithm
egg-herbie
Rules
2902×rational.json-simplify-49
1884×rational.json-simplify-35
1502×rational.json-simplify-1
1332×rational.json-simplify-2
1248×rational.json-simplify-42
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0962254
12022254
24261824
311581824
422641824
533601824
639461824
742201824
844601824
947461824
1052491824
1155281824
1258881824
1361411824
1463751824
1564181824
1672071824
1775861824
1877671824
Stop Event
node limit
Counts
50 → 44
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 1/720 im)) (pow.f64 re 6)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) 1/2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (cos.f64 re)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2)
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2))
(*.f64 4 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 1/4)
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) 1/2)) 2)
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (*.f64 (cos.f64 re) 2))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) 64)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 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 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (+.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) 1/12)) (pow.f64 re 2)) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))))
(+.f64 (*.f64 (+.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) 1/12)) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 3) -1/144) (*.f64 im -1/24))) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3))) (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/4320 (pow.f64 im 3)) (*.f64 1/720 im)) (pow.f64 re 6)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/144 (pow.f64 im 3)) (*.f64 -1/24 im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))))
(+.f64 (*.f64 (+.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) 1/12)) (pow.f64 re 2)) (+.f64 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 3) -1/144) (*.f64 im -1/24))) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/4320) (*.f64 im 1/720)) (pow.f64 re 6))))
(+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 3) -1/144) (*.f64 im -1/24))) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) 1/12)) (pow.f64 re 2)) (neg.f64 im)) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/4320) (*.f64 im 1/720)) (pow.f64 re 6)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 2 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) 1/2)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 4 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 1/4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) 1/2)) 2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (*.f64 (cos.f64 re) 2))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)) 8)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))) 16)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)))) 32)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) 64)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 56 to 34 computations (39.3% saved)

series237.0ms (1.3%)

Counts
4 → 44
Calls

15 calls:

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

rewrite917.0ms (4.9%)

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

Useful iterations: 6 (0.0ms)

IterNodesCost
01688
111788
225388
355088
4108988
5277688
6576284
Stop Event
node limit
Counts
4 → 121
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 im))
(-.f64 -1 (/.f64 -1 (exp.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (-.f64 1 (exp.f64 im)) (-.f64 -1 (/.f64 -1 (exp.f64 im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (exp.f64 im) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 im)) 1/2) (*.f64 (-.f64 1 (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (neg.f64 im))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 im) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 im) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (exp.f64 im) -1))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 im) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (exp.f64 im) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 im) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 -1 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2) (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 1 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (exp.f64 im)) (+.f64 (exp.f64 im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 im) -1) (/.f64 -1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 im) -1) (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) -1) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (exp.f64 (neg.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 -1 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (/.f64 -1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 -2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 -1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 -2 (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (exp.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 -2 (exp.f64 im))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) -2) (/.f64 1/2 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 -2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 2 (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) -1/2) (/.f64 2 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (exp.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (exp.f64 (neg.f64 im))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 -2 (exp.f64 im)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (exp.f64 (neg.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 1)))))

simplify150.0ms (0.8%)

Algorithm
egg-herbie
Rules
1198×rational.json-simplify-2
1188×rational.json-simplify-35
818×rational.json-simplify-49
780×rational.json-simplify-1
642×rational.json-simplify-50
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02813873
16163629
213683537
331273537
451143467
565283443
Stop Event
node limit
Counts
165 → 214
Calls
Call 1
Inputs
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1 im) (*.f64 -1/24 (pow.f64 im 4)))))
(*.f64 -1 im)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1 im))))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(-.f64 (/.f64 1 (exp.f64 im)) 1)
-1
(-.f64 im 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) im) 1)
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) im)) 1)
(*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/1440 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.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 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(+.f64 1 (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 1 (exp.f64 im)) 0)
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 im) -2)))
(+.f64 0 (-.f64 1 (exp.f64 im)))
(+.f64 -2 (-.f64 1 (+.f64 (exp.f64 im) -2)))
(+.f64 (neg.f64 (exp.f64 im)) 1)
(+.f64 (neg.f64 (+.f64 (exp.f64 im) -2)) -1)
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) 1/2) (*.f64 (-.f64 1 (exp.f64 im)) 1/2))
(*.f64 1 (-.f64 1 (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 im)) 1)
(*.f64 -1 (+.f64 (exp.f64 im) -1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) 2))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 im)) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 im)) 2) 1/2)
(*.f64 (-.f64 1 (exp.f64 (neg.f64 im))) (neg.f64 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) -1) -1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 im)) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 im)) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 im)) 1/2) 2)
(*.f64 (/.f64 (-.f64 1 (exp.f64 im)) 4) 4)
(/.f64 (-.f64 1 (exp.f64 im)) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 im)) 2) 2)
(/.f64 (+.f64 (exp.f64 im) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 im)) 4) 4)
(/.f64 (*.f64 2 (+.f64 (exp.f64 im) -1)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (exp.f64 im) -1))) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 im) -1))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4)))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (exp.f64 im) -1)))) 4)
(pow.f64 (-.f64 1 (exp.f64 im)) 1)
(neg.f64 (+.f64 (exp.f64 im) -1))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 0)
(+.f64 0 (+.f64 -1 (exp.f64 (neg.f64 im))))
(+.f64 -2 (-.f64 1 (/.f64 -1 (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) -1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2) (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1 (+.f64 -1 (exp.f64 (neg.f64 im))))
(*.f64 -1 (-.f64 1 (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 -1 (exp.f64 im)) (+.f64 (exp.f64 im) -1))
(*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2))
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2))
(*.f64 2 (*.f64 (+.f64 (exp.f64 im) -1) (/.f64 -1/2 (exp.f64 im))))
(*.f64 4 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2) 1/2)
(*.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)
(*.f64 (+.f64 (exp.f64 im) -1) (/.f64 -1 (exp.f64 im)))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2) 2)
(*.f64 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 4)
(/.f64 (-.f64 1 (exp.f64 im)) (exp.f64 im))
(/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2) 2)
(/.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)
(/.f64 (+.f64 (exp.f64 im) -1) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 4)
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im)))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im))))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im))))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4)))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im)))))) 4)
(pow.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)
(neg.f64 (-.f64 1 (exp.f64 (neg.f64 im))))
(+.f64 1 (-.f64 -1 (exp.f64 (neg.f64 im))))
(+.f64 -1 (-.f64 1 (exp.f64 (neg.f64 im))))
(+.f64 (/.f64 -1 (exp.f64 im)) 0)
(+.f64 0 (/.f64 -1 (exp.f64 im)))
(+.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)
(+.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im)))
(+.f64 (-.f64 -1 (exp.f64 (neg.f64 im))) 1)
(-.f64 (/.f64 -1 (exp.f64 im)) 0)
(-.f64 0 (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 1 (exp.f64 (neg.f64 im))) 1)
(-.f64 (-.f64 -1 (exp.f64 (neg.f64 im))) -1)
(*.f64 1 (/.f64 -1 (exp.f64 im)))
(*.f64 (exp.f64 im) (/.f64 -1 (exp.f64 (+.f64 im im))))
(*.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 -1 (exp.f64 im)) 1)
(*.f64 1/2 (/.f64 -2 (exp.f64 im)))
(*.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 2 (/.f64 -1/2 (exp.f64 im)))
(*.f64 2 (*.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))))
(*.f64 2 (*.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 1/2)))
(*.f64 2 (*.f64 (/.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -1/2)))
(*.f64 4 (/.f64 (/.f64 -2 (exp.f64 im)) 8))
(*.f64 (/.f64 -2 (exp.f64 im)) 1/2)
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 2 (/.f64 -2 (exp.f64 im))) 1/4)
(*.f64 (*.f64 (exp.f64 im) -2) (/.f64 1/2 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) -1)
(*.f64 1/4 (*.f64 2 (/.f64 -2 (exp.f64 im))))
(*.f64 -1/2 (*.f64 2 (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (exp.f64 im) -1/2) (/.f64 2 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 -1/2 (exp.f64 im)) 2)
(*.f64 (*.f64 2 (exp.f64 (neg.f64 im))) -1/2)
(*.f64 (/.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im)))
(*.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(*.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -2))
(*.f64 (/.f64 2 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -1/2))
(*.f64 (/.f64 (/.f64 -2 (exp.f64 im)) 8) 4)
(*.f64 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))) -2)
(pow.f64 (/.f64 -1 (exp.f64 im)) 1)
(neg.f64 (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 1/4)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 0)
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im))))) 2)
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))) 32)
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 1)
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 (+.f64 (neg.f64 im) (*.f64 -1/2 (pow.f64 im 2))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1 im) (*.f64 -1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (+.f64 (neg.f64 im) (*.f64 -1/24 (pow.f64 im 4))) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) (*.f64 -1/24 (pow.f64 im 4)))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/24 (pow.f64 im 4)))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1 im))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 4) 1/24))))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1 (exp.f64 im)) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
-1
(-.f64 im 1)
(+.f64 im -1)
(+.f64 -1 im)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) im) 1)
(+.f64 im (-.f64 (*.f64 -1/2 (pow.f64 im 2)) 1))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 -1 im))
(+.f64 -1 (+.f64 im (*.f64 -1/2 (pow.f64 im 2))))
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) im)) 1)
(+.f64 (+.f64 im (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (*.f64 (pow.f64 im 3) 1/6) 1))
(+.f64 -1 (+.f64 im (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 -1 (+.f64 im (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 3) 1/6))))
(*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(+.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 2) -1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (*.f64 1/2 (-.f64 (/.f64 1 (exp.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/4 (pow.f64 re 2))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.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 -1/4 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/1440 (*.f64 (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48)) (+.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 6) -1/1440)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 -1 (*.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 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.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 (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 7) -1/5040)))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.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 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 (-.f64 1 (exp.f64 im)) 0)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 im) -2)))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 0 (-.f64 1 (exp.f64 im)))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 -2 (-.f64 1 (+.f64 (exp.f64 im) -2)))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 (neg.f64 (exp.f64 im)) 1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 (neg.f64 (+.f64 (exp.f64 im) -2)) -1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) 1/2) (*.f64 (-.f64 1 (exp.f64 im)) 1/2))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 1 (-.f64 1 (exp.f64 im)))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 (-.f64 1 (exp.f64 im)) 1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 -1 (+.f64 (exp.f64 im) -1))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) 2))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 1/2))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 4 (/.f64 (-.f64 1 (exp.f64 im)) 4))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 (*.f64 (-.f64 1 (exp.f64 im)) 2) 1/2)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 im))) (neg.f64 (exp.f64 im)))
(*.f64 (neg.f64 (exp.f64 im)) (-.f64 1 (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) -1) -1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 (*.f64 (-.f64 1 (exp.f64 im)) 4) 1/4)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 im)) 4))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 (*.f64 (-.f64 1 (exp.f64 im)) 1/2) 2)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(*.f64 (/.f64 (-.f64 1 (exp.f64 im)) 4) 4)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 im)) 1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 im)) 2) 2)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (+.f64 (exp.f64 im) -1) -1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 im)) 4) 4)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 2 (+.f64 (exp.f64 im) -1)) -2)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4)) 8)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4))) 16)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (exp.f64 im) -1))) -4)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 im) -1))) 2)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 im)) 4)))) 32)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (exp.f64 im) -1)))) 4)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(pow.f64 (-.f64 1 (exp.f64 im)) 1)
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(neg.f64 (+.f64 (exp.f64 im) -1))
(+.f64 1 (neg.f64 (exp.f64 im)))
(-.f64 1 (exp.f64 im))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 0)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 0 (+.f64 -1 (exp.f64 (neg.f64 im))))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 -2 (-.f64 1 (/.f64 -1 (exp.f64 im))))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) -1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2) (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 1 (+.f64 -1 (exp.f64 (neg.f64 im))))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 -1 (-.f64 1 (exp.f64 (neg.f64 im))))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 -1 (exp.f64 im)) (+.f64 (exp.f64 im) -1))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (exp.f64 im) -1) (/.f64 -1/2 (exp.f64 im))))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 4 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2) 1/2)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 (exp.f64 im) -1) (/.f64 -1 (exp.f64 im)))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 1/4)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1/2) 2)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 4)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 2) 2)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (exp.f64 im) -1) (neg.f64 (exp.f64 im)))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4) 4)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im)))) -2)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4)) 8)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im))))) -4)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4))) 16)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im))))) 2)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 4)))) 32)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 1 (exp.f64 (neg.f64 im)))))) 4)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 -1 (exp.f64 (neg.f64 im))) 1)
(+.f64 -1 (exp.f64 (neg.f64 im)))
(neg.f64 (-.f64 1 (exp.f64 (neg.f64 im))))
(+.f64 -1 (exp.f64 (neg.f64 im)))
(+.f64 1 (-.f64 -1 (exp.f64 (neg.f64 im))))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(+.f64 -1 (-.f64 1 (exp.f64 (neg.f64 im))))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(+.f64 (/.f64 -1 (exp.f64 im)) 0)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(+.f64 0 (/.f64 -1 (exp.f64 im)))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(+.f64 (-.f64 1 (exp.f64 (neg.f64 im))) -1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(+.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im)))
(*.f64 2 (/.f64 -1/2 (exp.f64 im)))
(+.f64 (-.f64 -1 (exp.f64 (neg.f64 im))) 1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(-.f64 (/.f64 -1 (exp.f64 im)) 0)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(-.f64 0 (exp.f64 (neg.f64 im)))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(-.f64 (-.f64 1 (exp.f64 (neg.f64 im))) 1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(-.f64 (-.f64 -1 (exp.f64 (neg.f64 im))) -1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 1 (/.f64 -1 (exp.f64 im)))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 (exp.f64 im) (/.f64 -1 (exp.f64 (+.f64 im im))))
(neg.f64 (exp.f64 (+.f64 im (neg.f64 (+.f64 im im)))))
(neg.f64 (*.f64 2 (/.f64 1/2 (exp.f64 im))))
(*.f64 -1 (exp.f64 (neg.f64 im)))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 (/.f64 -1 (exp.f64 im)) 1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 1/2 (/.f64 -2 (exp.f64 im)))
(*.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -2 (/.f64 (/.f64 (exp.f64 im) 2) (exp.f64 (+.f64 im im))))
(*.f64 -2 (/.f64 (*.f64 2 (exp.f64 (neg.f64 im))) 4))
(*.f64 2 (/.f64 -1/2 (exp.f64 im)))
(+.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im)))
(*.f64 2 (*.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))))
(*.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -2 (/.f64 (/.f64 (exp.f64 im) 2) (exp.f64 (+.f64 im im))))
(*.f64 -2 (/.f64 (*.f64 2 (exp.f64 (neg.f64 im))) 4))
(*.f64 2 (*.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 1/2)))
(*.f64 2 (*.f64 (exp.f64 im) (*.f64 1/2 (/.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 2 (*.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 2 (*.f64 1/2 (neg.f64 (exp.f64 (+.f64 im (neg.f64 (+.f64 im im)))))))
(*.f64 2 (*.f64 1/2 (neg.f64 (*.f64 2 (/.f64 1/2 (exp.f64 im))))))
(*.f64 2 (*.f64 (/.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -1/2)))
(*.f64 2 (*.f64 (exp.f64 im) (*.f64 -1/2 (exp.f64 (neg.f64 (+.f64 im im))))))
(*.f64 2 (*.f64 -1/2 (*.f64 (exp.f64 (neg.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (*.f64 -1/2 (exp.f64 (+.f64 im (neg.f64 (+.f64 im im))))))
(*.f64 2 (*.f64 -1/2 (*.f64 2 (/.f64 1/2 (exp.f64 im)))))
(*.f64 4 (/.f64 (/.f64 -2 (exp.f64 im)) 8))
(*.f64 4 (/.f64 -1/4 (exp.f64 im)))
(*.f64 (/.f64 -2 (exp.f64 im)) 1/2)
(*.f64 1/2 (/.f64 -2 (exp.f64 im)))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 im) (/.f64 -1 (exp.f64 (+.f64 im im))))
(neg.f64 (exp.f64 (+.f64 im (neg.f64 (+.f64 im im)))))
(neg.f64 (*.f64 2 (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 2 (/.f64 -2 (exp.f64 im))) 1/4)
(*.f64 1/2 (/.f64 -2 (exp.f64 im)))
(*.f64 (*.f64 (exp.f64 im) -2) (/.f64 1/2 (exp.f64 (+.f64 im im))))
(*.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -2 (/.f64 (/.f64 (exp.f64 im) 2) (exp.f64 (+.f64 im im))))
(*.f64 -2 (/.f64 (*.f64 2 (exp.f64 (neg.f64 im))) 4))
(*.f64 (exp.f64 (neg.f64 im)) -1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 1/4 (*.f64 2 (/.f64 -2 (exp.f64 im))))
(*.f64 1/2 (/.f64 -2 (exp.f64 im)))
(*.f64 -1/2 (*.f64 2 (exp.f64 (neg.f64 im))))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) -1/2) (/.f64 2 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 im) (*.f64 -1/2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -1/2 (*.f64 (/.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 -1/2 (*.f64 (exp.f64 im) (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 -1/2 (exp.f64 im)) (/.f64 2 (exp.f64 (+.f64 im im))))
(*.f64 -1/2 (/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (/.f64 -1/2 (exp.f64 im)) 2)
(+.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im)))
(*.f64 2 (/.f64 -1/2 (exp.f64 im)))
(*.f64 (*.f64 2 (exp.f64 (neg.f64 im))) -1/2)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(*.f64 (/.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im)))
(*.f64 (exp.f64 im) (/.f64 -1 (exp.f64 (+.f64 im im))))
(neg.f64 (exp.f64 (+.f64 im (neg.f64 (+.f64 im im)))))
(neg.f64 (*.f64 2 (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(*.f64 (exp.f64 im) (/.f64 -1 (exp.f64 (+.f64 im im))))
(neg.f64 (exp.f64 (+.f64 im (neg.f64 (+.f64 im im)))))
(neg.f64 (*.f64 2 (/.f64 1/2 (exp.f64 im))))
(*.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -2))
(*.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -2 (/.f64 (/.f64 (exp.f64 im) 2) (exp.f64 (+.f64 im im))))
(*.f64 -2 (/.f64 (*.f64 2 (exp.f64 (neg.f64 im))) 4))
(*.f64 (/.f64 2 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) -1/2))
(*.f64 (exp.f64 im) (*.f64 -1/2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -1/2 (*.f64 (/.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 -1/2 (*.f64 (exp.f64 im) (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 -1/2 (exp.f64 im)) (/.f64 2 (exp.f64 (+.f64 im im))))
(*.f64 -1/2 (/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (/.f64 (/.f64 -2 (exp.f64 im)) 8) 4)
(*.f64 4 (/.f64 -1/4 (exp.f64 im)))
(*.f64 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))) -2)
(*.f64 -2 (/.f64 (exp.f64 im) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 -2 (/.f64 (/.f64 (exp.f64 im) 2) (exp.f64 (+.f64 im im))))
(*.f64 -2 (/.f64 (*.f64 2 (exp.f64 (neg.f64 im))) 4))
(pow.f64 (/.f64 -1 (exp.f64 im)) 1)
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(neg.f64 (exp.f64 (neg.f64 im)))
(/.f64 -1 (exp.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 1/4)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im))))) 2)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4))) 16)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) 4)))) 32)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 1 (exp.f64 im)) (+.f64 -1 (exp.f64 (neg.f64 im)))))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval204.0ms (1.1%)

Compiler

Compiled 12291 to 7851 computations (36.1% saved)

prune304.0ms (1.6%)

Pruning

16 alts after pruning (13 fresh and 3 done)

PrunedKeptTotal
New5639572
Fresh044
Picked101
Done235
Total56616582
Error
0.1b
Counts
582 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
1.7b
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
58.9b
(-.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
29.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
1.2b
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
1.4b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
1.4b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (-.f64 1 (exp.f64 im)) (-.f64 -1 -1)))
50.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (neg.f64 im) (-.f64 -1 (/.f64 -1 (exp.f64 im)))))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
57.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.7b
(*.f64 (neg.f64 im) (cos.f64 re))
58.5b
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
1.2b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
59.0b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
29.2b
(neg.f64 im)
Compiler

Compiled 388 to 302 computations (22.2% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 74 to 46 computations (37.8% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

9 calls:

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

rewrite458.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1768×rational.json-simplify-35
1426×rational.json-1
1426×rational.json-2
1426×rational.json-3
1410×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01346
18946
218746
338446
479046
5190346
6373946
7528646
8708746
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(*.f64 -1/120 (pow.f64 im 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))))

simplify368.0ms (2%)

Algorithm
egg-herbie
Rules
2124×rational.json-simplify-2
1706×rational.json-simplify-35
1620×rational.json-simplify-1
876×exponential.json-simplify-26
846×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01031486
12431456
25281404
312201380
434831380
549811380
654661380
757981380
860981380
962781380
1073931380
1179121380
Stop Event
node limit
Counts
50 → 57
Calls
Call 1
Inputs
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))))) im)
(*.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)) im))
(*.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)) im))
(*.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)) im))
(*.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)) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.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 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1 (*.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 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1 (*.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 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)) (cos.f64 re)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))))) 128)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))))) 128)
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
Outputs
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2))))) im)
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 4) 1/24))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) im))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))))) im)
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 6) -1/720)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 1/24 (pow.f64 re 4))))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 0)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))))
(*.f64 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240)) (+.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240)) (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 0)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 1)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)) (cos.f64 re)) 2)
(*.f64 (cos.f64 re) (/.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)) 2))
(*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)) (/.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)) 8)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) 16)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))) 32)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))))) 64)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))))) 128)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) 1)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) 64)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))))) 128)
(*.f64 -1/120 (pow.f64 im 5))
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize86.0ms (0.5%)

Local error

Found 1 expressions with local error:

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

Compiled 24 to 8 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite225.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1742×rational.json-simplify-35
1512×rational.json-1
1512×rational.json-2
1134×exponential.json-3
1134×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
15317
212517
327817
455717
5127017
6265517
7443117
8575617
9766317
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) im) (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 (cos.f64 re) im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 1)))))

simplify390.0ms (2.1%)

Algorithm
egg-herbie
Rules
2616×rational.json-simplify-2
2002×rational.json-simplify-35
1332×rational.json-simplify-1
1062×rational.json-simplify-53
972×exponential.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064750
1161744
2318726
3670714
41993714
53687714
64260714
74531714
84733714
94939714
105161714
116355714
127641714
Stop Event
node limit
Counts
38 → 36
Calls
Call 1
Inputs
(*.f64 2 im)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 re 2) im)) (*.f64 2 im))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 2 im) (*.f64 1/12 (*.f64 (pow.f64 re 4) im))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 2 im) (+.f64 (*.f64 -1/360 (*.f64 (pow.f64 re 6) im)) (*.f64 1/12 (*.f64 (pow.f64 re 4) 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 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 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 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 2 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 im im)))
(+.f64 (*.f64 (cos.f64 re) im) (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) 4)
(/.f64 (*.f64 16 (*.f64 (cos.f64 re) im)) 8)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))) 16)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))))))) 256)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 1)
Outputs
(*.f64 2 im)
(+.f64 im im)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 re 2) im)) (*.f64 2 im))
(+.f64 (*.f64 2 im) (*.f64 -1 (*.f64 im (pow.f64 re 2))))
(+.f64 (*.f64 2 im) (*.f64 (pow.f64 re 2) (neg.f64 im)))
(*.f64 im (+.f64 2 (neg.f64 (pow.f64 re 2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 2 im) (*.f64 1/12 (*.f64 (pow.f64 re 4) im))))
(+.f64 (*.f64 -1 (*.f64 im (pow.f64 re 2))) (+.f64 (*.f64 2 im) (*.f64 1/12 (*.f64 im (pow.f64 re 4)))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/12)) (+.f64 (*.f64 2 im) (*.f64 (pow.f64 re 2) (neg.f64 im))))
(+.f64 (*.f64 im (+.f64 2 (neg.f64 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im 1/12)))
(*.f64 im (+.f64 (*.f64 1/12 (pow.f64 re 4)) (+.f64 2 (neg.f64 (pow.f64 re 2)))))
(*.f64 im (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 re 4)) (neg.f64 (pow.f64 re 2)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 2 im) (+.f64 (*.f64 -1/360 (*.f64 (pow.f64 re 6) im)) (*.f64 1/12 (*.f64 (pow.f64 re 4) im)))))
(+.f64 (*.f64 -1 (*.f64 im (pow.f64 re 2))) (+.f64 (*.f64 2 im) (+.f64 (*.f64 1/12 (*.f64 im (pow.f64 re 4))) (*.f64 -1/360 (*.f64 im (pow.f64 re 6))))))
(+.f64 (*.f64 (pow.f64 re 2) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/12)) (+.f64 (*.f64 2 im) (*.f64 im (*.f64 (pow.f64 re 6) -1/360)))))
(+.f64 (*.f64 im (+.f64 2 (neg.f64 (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/12)) (*.f64 im (*.f64 -1/360 (pow.f64 re 6)))))
(+.f64 (*.f64 im (+.f64 2 (neg.f64 (pow.f64 re 2)))) (*.f64 im (+.f64 (*.f64 -1/360 (pow.f64 re 6)) (*.f64 1/12 (pow.f64 re 4)))))
(+.f64 (*.f64 im (neg.f64 (pow.f64 re 2))) (*.f64 im (+.f64 2 (+.f64 (*.f64 -1/360 (pow.f64 re 6)) (*.f64 1/12 (pow.f64 re 4))))))
(+.f64 (*.f64 im (*.f64 1/12 (pow.f64 re 4))) (*.f64 im (+.f64 (*.f64 -1/360 (pow.f64 re 6)) (+.f64 2 (neg.f64 (pow.f64 re 2))))))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(*.f64 2 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 0)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 im im)))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) im) (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 0)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 1)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) 2)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) 4)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 16 (*.f64 (cos.f64 re) im)) 8)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))) 16)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))) 32)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))))) 64)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))))) 128)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (cos.f64 re) (*.f64 im 8))))))) 256)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 1)
(*.f64 2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 2 (cos.f64 re)))

localize19.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 43 to 29 computations (32.6% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite120.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1748×rational.json-1
1746×rational.json-2
1614×rational.json-simplify-35
1090×rational.json-3
1084×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01627
110827
219727
340127
474827
5170427
6354327
7557327
8758427
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (-.f64 1 (exp.f64 im)) (-.f64 -1 -1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (/.f64 (-.f64 1 (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (-.f64 1 (exp.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 1)))))

simplify787.0ms (4.2%)

Algorithm
egg-herbie
Rules
2238×rational.json-simplify-2
2038×rational.json-simplify-35
1652×rational.json-simplify-53
1254×rational.json-simplify-42
1230×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0841291
11961243
23911171
37731145
418091145
530001145
641301145
748081145
850571145
952551145
1054701145
1159111145
1265741145
1372281145
1475881145
1576461145
1676521145
Stop Event
node limit
Counts
37 → 52
Calls
Call 1
Inputs
(*.f64 1/2 (-.f64 1 (exp.f64 im)))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 -1/2 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1/2 (*.f64 (cos.f64 re) im))))
(+.f64 (*.f64 -1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/48 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 0)
(+.f64 (*.f64 (cos.f64 re) (/.f64 (-.f64 1 (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (-.f64 1 (exp.f64 im)) 4)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 0)
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 1)
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))))) 128)
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 1)
Outputs
(*.f64 1/2 (-.f64 1 (exp.f64 im)))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (-.f64 1 (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (-.f64 1 (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 1 (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4))))))
(+.f64 (*.f64 1/2 (-.f64 1 (exp.f64 im))) (+.f64 (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/1440 (pow.f64 re 6))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))))
(*.f64 (-.f64 1 (exp.f64 im)) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 -1/2 (*.f64 (cos.f64 re) im))
(*.f64 -1/2 (*.f64 im (cos.f64 re)))
(*.f64 im (*.f64 -1/2 (cos.f64 re)))
(*.f64 im (*.f64 (cos.f64 re) -1/2))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/2 (*.f64 im (cos.f64 re))) (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 im (*.f64 -1/2 (cos.f64 re))) (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 im -1/2)))
(+.f64 (*.f64 -1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1/2 (*.f64 (cos.f64 re) im))))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12))))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 im (*.f64 -1/2 (cos.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 -1/12 (cos.f64 re)))))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 im -1/2))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 im -1/2))))
(+.f64 (*.f64 -1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/48 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) -1/48))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 -1/48 (cos.f64 re))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 im (*.f64 -1/2 (cos.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 -1/12 (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/48 (pow.f64 im 4)) (*.f64 im -1/2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 (*.f64 im (*.f64 (cos.f64 re) -1/2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (*.f64 -1/48 (pow.f64 im 4))))))
(+.f64 (*.f64 im (*.f64 (cos.f64 re) -1/2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 -1/48 (pow.f64 im 4))))))
(+.f64 (*.f64 -1/2 (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 -1/48 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (-.f64 1 (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (-.f64 1 (exp.f64 im)) 4)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 2)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 4)) 8)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)) 16)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))) 32)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) 64)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))))) 128)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))

localize22.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.3b
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))
7.3b
(+.f64 -1 (exp.f64 (*.f64 im -2)))
Compiler

Compiled 51 to 34 computations (33.3% saved)

series12.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

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

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

eval146.0ms (0.8%)

Compiler

Compiled 8059 to 5647 computations (29.9% saved)

prune72.0ms (0.4%)

Pruning

18 alts after pruning (12 fresh and 6 done)

PrunedKeptTotal
New3544358
Fresh088
Picked011
Done257
Total35618374
Error
0.1b
Counts
374 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
59.8b
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 2)
1.7b
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
58.9b
(-.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
29.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
1.2b
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)))
1.4b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
1.4b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
50.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (neg.f64 im) (-.f64 -1 (/.f64 -1 (exp.f64 im)))))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
57.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.7b
(*.f64 (neg.f64 im) (cos.f64 re))
58.5b
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
1.2b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
59.0b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.0b
(*.f64 1/2 (-.f64 1 (exp.f64 im)))
29.2b
(neg.f64 im)
Compiler

Compiled 390 to 305 computations (21.8% saved)

localize82.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 69 to 45 computations (34.8% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite100.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1746×rational.json-simplify-35
1158×rational.json-simplify-2
1140×exponential.json-3
1140×rational.json-1
1140×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
17829
216129
334129
466529
5154529
6342029
7601929
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.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/120 (pow.f64 im 5)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.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/120 (pow.f64 im 5)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.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/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 1)))))

simplify290.0ms (1.5%)

Algorithm
egg-herbie
Rules
1846×rational.json-simplify-2
1844×rational.json-simplify-35
1452×rational.json-simplify-1
1126×rational.json-simplify-53
948×exponential.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0751405
11741385
23461247
37351223
422781223
541481223
647261223
749771223
852001223
955101223
1060301223
1173071223
1279791223
Stop Event
node limit
Counts
37 → 38
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.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 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1 (*.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 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1 (*.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 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))))) im)
(*.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)) im))
(*.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)) im))
(*.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)) im))
(*.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)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)))))) 128)
(pow.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 1)
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2))))) im)
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 4) 1/24))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (pow.f64 re 2)))))) im)
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (pow.f64 re 6) -1/720)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 1/24 (pow.f64 re 4))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))) im))
(*.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)) im))
(*.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)) im))
(*.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)) im))
(*.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)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(-.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 2)) 2)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)) 8)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))) 16)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)))) 32)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))))) 64)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (*.f64 (cos.f64 re) 8)))))) 128)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.4b
(-.f64 1 (exp.f64 im))
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize72.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 25 to 11 computations (56% saved)

series2.0ms (0%)

Counts
3 → 44
Calls

18 calls:

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

rewrite127.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

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

simplify195.0ms (1%)

Algorithm
egg-herbie
Rules
1468×rational.json-simplify-35
1048×rational.json-simplify-49
942×rational.json-simplify-1
882×rational.json-simplify-2
880×rational.json-simplify-42
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02803239
16873047
216743035
339853035
457303035
Stop Event
node limit
Counts
183 → 190
Calls
Call 1
Inputs
(*.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 -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))
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 1 im)
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 re 2) im))) im)
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))) im)
(-.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))) im)
1
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) -1)
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 0)
(+.f64 0 (neg.f64 (*.f64 (cos.f64 re) im)))
(+.f64 -1 (-.f64 1 (*.f64 (cos.f64 re) im)))
(+.f64 -2 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)))
(+.f64 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)) -2)
(+.f64 (*.f64 (*.f64 (cos.f64 re) im) -1/2) (*.f64 (*.f64 (cos.f64 re) im) -1/2))
(+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) -1))
(+.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) im) -1/2) -1) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(*.f64 1 (neg.f64 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) im) -1)
(*.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 1)
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -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 (cos.f64 re) (+.f64 im im)) -1/2)
(*.f64 4 (/.f64 (*.f64 (cos.f64 re) im) -4))
(*.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 (cos.f64 re) (*.f64 im -2)) 1/2)
(*.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 (cos.f64 re) im) -4) 1/4)
(*.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) -1/4)
(*.f64 -2 (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im -2)))
(*.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2)))
(*.f64 -4 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im 1/2)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (*.f64 (*.f64 (cos.f64 re) im) -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 1/2) (*.f64 (cos.f64 re) -2))
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (cos.f64 re) 2)))
(*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) -2)
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) im) -4))
(*.f64 -1/2 (*.f64 (cos.f64 re) (+.f64 im im)))
(*.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 im -2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (*.f64 (cos.f64 re) -2) (*.f64 im 1/2))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 2)) (*.f64 im 1/2))
(*.f64 (/.f64 (cos.f64 re) -2) (+.f64 im im))
(*.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))
(*.f64 -1/4 (*.f64 (cos.f64 re) (*.f64 im 4)))
(*.f64 (/.f64 (*.f64 (cos.f64 re) im) -4) 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 (cos.f64 re) im) -1)
(/.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) im) -4) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) im) -8) 8)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -8)) 16)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))) -16)
(/.f64 (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 8))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8)))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 8)))) 16)
(/.f64 (neg.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 8))))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))))) 32)
(pow.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(neg.f64 (-.f64 (+.f64 (*.f64 (cos.f64 re) im) -2) -2))
(neg.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (*.f64 (cos.f64 re) im) -1/2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 re) im) -1))
(+.f64 (*.f64 (cos.f64 re) im) 0)
(+.f64 0 (*.f64 (cos.f64 re) im))
(+.f64 -1 (+.f64 1 (*.f64 (cos.f64 re) im)))
(+.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -2))
(+.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 1)
(+.f64 -2 (+.f64 (*.f64 (cos.f64 re) im) 2))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) -1)
(+.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(+.f64 (+.f64 (*.f64 (cos.f64 re) im) -2) 2)
(-.f64 (*.f64 (cos.f64 re) im) 0)
(-.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) -1)
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) 1)
(/.f64 (*.f64 (cos.f64 re) im) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))))) 64)
(pow.f64 (*.f64 (cos.f64 re) im) 1)
(+.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 0)
(+.f64 0 (-.f64 1 (*.f64 (cos.f64 re) im)))
(+.f64 -1 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 (cos.f64 re) im) -2)))
(+.f64 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)) -1)
(+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2))
(+.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 2)))
(*.f64 1 (-.f64 1 (*.f64 (cos.f64 re) im)))
(*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(*.f64 -1 (+.f64 (*.f64 (cos.f64 re) im) -1))
(*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4))
(*.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 2) 1/2)
(*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) -1)
(*.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 2))
(*.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 2) -2)
(*.f64 (/.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4) 4)
(/.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(/.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 2) 2)
(/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) -1)
(/.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4) 4)
(/.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8) 8)
(/.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1)) -2)
(/.f64 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1))) 2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1)))) 4)
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1))))) 8)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4))) 8)
(pow.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -1))
(neg.f64 (-.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 2) (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2)))
Outputs
(*.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 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) im)
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im)) (*.f64 -1/24 (*.f64 im (pow.f64 re 4))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (+.f64 (neg.f64 im) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (-.f64 (*.f64 im (*.f64 1/2 (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 (*.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 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (*.f64 im (*.f64 1/720 (pow.f64 re 6)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) (-.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) im)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
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 (*.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 (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 (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 (pow.f64 re 6) (*.f64 im -1/720)) (+.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 (*.f64 im (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (pow.f64 re 6) (*.f64 im -1/720))) (*.f64 (pow.f64 re 2) (*.f64 im -1/2))))
(+.f64 (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720))) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (*.f64 im (*.f64 (pow.f64 re 4) 1/24))))
(-.f64 1 im)
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 re 2) im))) im)
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (-.f64 1 im))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (-.f64 1 im))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (-.f64 1 im))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))) im)
(+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))) (-.f64 1 im))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (-.f64 1 im)))
(-.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))) im)
(+.f64 (+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) 1)) (-.f64 (*.f64 1/720 (*.f64 im (pow.f64 re 6))) im))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 6) 1/720)) (+.f64 (-.f64 1 im) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4))))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) 1) (-.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) im)))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (-.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) im) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) 1)))
1
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) -1)
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 0)
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 0 (neg.f64 (*.f64 (cos.f64 re) im)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 -1 (-.f64 1 (*.f64 (cos.f64 re) im)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 -2 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)) -2)
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) im) -1/2) (*.f64 (*.f64 (cos.f64 re) im) -1/2))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) -1))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) im) -1/2) -1) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 1 (neg.f64 (*.f64 (cos.f64 re) im)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) im) -1)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 1)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -1/2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 2 (*.f64 (neg.f64 (*.f64 im 1/2)) (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 2 (*.f64 (/.f64 im -2) (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 2 (*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 2 (*.f64 (/.f64 (cos.f64 re) -2) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -1/2)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 4 (/.f64 (*.f64 (cos.f64 re) im) -4))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) 2) (neg.f64 (*.f64 im 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 1/2)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (+.f64 im im) (neg.f64 (*.f64 (cos.f64 re) 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (+.f64 im im) (/.f64 (cos.f64 re) -2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (+.f64 im im) (*.f64 1/2 (neg.f64 (cos.f64 re))))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) im) -4) 1/4)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) -1/4)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -2 (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im -2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -4 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) im) -1/2) 2)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im -2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (+.f64 im im)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) -2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (cos.f64 re) 2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) -2)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) im) -4))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1/2 (*.f64 (cos.f64 re) (+.f64 im im)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 1/2)) (+.f64 im im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 im -2) (*.f64 (cos.f64 re) 1/2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) -2) (*.f64 im 1/2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 (*.f64 (cos.f64 re) 2)) (*.f64 im 1/2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (/.f64 (cos.f64 re) -2) (+.f64 im im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1/4 (*.f64 (cos.f64 re) (*.f64 im 4)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (/.f64 (*.f64 (cos.f64 re) im) -4) 4)
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) 2))) (*.f64 1/2 (*.f64 im 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 2 (neg.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) im) -1)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 1)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 2)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) im) -4) 4)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) -4)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) im) -8) 8)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) -8)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -8)) 16)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))) -16)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 8))) 8)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8)))) -32)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -8))) 32)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 8)))) 16)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8)))) 16)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) im) -8)))) 64)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 (cos.f64 re) (*.f64 im 8))))) 32)
(*.f64 im (neg.f64 (cos.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))))) 32)
(*.f64 im (neg.f64 (cos.f64 re)))
(pow.f64 (neg.f64 (*.f64 (cos.f64 re) im)) 1)
(*.f64 im (neg.f64 (cos.f64 re)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 im (neg.f64 (cos.f64 re)))
(neg.f64 (-.f64 (+.f64 (*.f64 (cos.f64 re) im) -2) -2))
(*.f64 im (neg.f64 (cos.f64 re)))
(neg.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (*.f64 (cos.f64 re) im) -1/2)))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 re) im) -1))
(*.f64 im (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) im) 0)
(*.f64 im (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) im))
(*.f64 im (cos.f64 re))
(+.f64 -1 (+.f64 1 (*.f64 (cos.f64 re) im)))
(*.f64 im (cos.f64 re))
(+.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -2))
(*.f64 im (cos.f64 re))
(+.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 1)
(*.f64 im (cos.f64 re))
(+.f64 -2 (+.f64 (*.f64 (cos.f64 re) im) 2))
(*.f64 im (cos.f64 re))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) -1)
(*.f64 im (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 im (cos.f64 re))
(+.f64 (+.f64 (*.f64 (cos.f64 re) im) -2) 2)
(*.f64 im (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) im) 0)
(*.f64 im (cos.f64 re))
(-.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) -1)
(*.f64 im (cos.f64 re))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) 1)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) im) 1)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 2)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 4)) 4)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im 8)) 8)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))) 16)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8)))) 32)
(*.f64 im (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 im 8))))) 64)
(*.f64 im (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) im) 1)
(*.f64 im (cos.f64 re))
(+.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 0)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 0 (-.f64 1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 -1 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 (cos.f64 re) im) -2)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)) -1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(+.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) -1) (-.f64 1 (/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 2)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 1 (-.f64 1 (*.f64 (cos.f64 re) im)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 -1 (+.f64 (*.f64 (cos.f64 re) im) -1))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 4 (/.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 2) 1/2)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) -1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4) 1/4)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 2))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2) 2)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 1/4 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 2) -2)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(*.f64 (/.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4) 4)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 2) 2)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) -1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 4) 4)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8) 8)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1)) -2)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4) -4)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8)) 16)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1))) 2)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4)) -8)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8))) 32)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1)))) 4)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4)) 4)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 8)))) 64)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 re) im) -1))))) 8)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 4))) 8)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(pow.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -1))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))
(neg.f64 (-.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) im) -1) 2) (*.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1/2)))
(+.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 1 (*.f64 im (cos.f64 re)))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))
7.4b
(-.f64 1 (exp.f64 im))
Compiler

Compiled 30 to 16 computations (46.7% saved)

series1.0ms (0%)

Counts
1 → 16
Calls

6 calls:

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

rewrite113.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
17421
216721
334321
464621
5143521
6302721
7500721
8657421
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) -1))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 1)))))

simplify228.0ms (1.2%)

Algorithm
egg-herbie
Rules
1924×rational.json-simplify-2
1748×rational.json-simplify-35
1688×rational.json-simplify-53
1060×exponential.json-simplify-26
874×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
088925
1216917
2431845
3865819
42228819
54046819
64589819
74916819
85229819
95649819
106087819
117354819
Stop Event
node limit
Counts
29 → 50
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 im))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2)))) (exp.f64 im))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4))))) (exp.f64 im))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4)))))) (exp.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 0)
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 2)) 2)
(/.f64 (*.f64 -4 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) -1))) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))))) 128)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 1)
Outputs
(-.f64 1 (exp.f64 im))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2)))) (exp.f64 im))
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 1 (exp.f64 im)))
(+.f64 (-.f64 1 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 1 (-.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/2 (pow.f64 re 2))) (exp.f64 im)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4))))) (exp.f64 im))
(+.f64 (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/24))) (-.f64 1 (exp.f64 im)))
(+.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (-.f64 (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (exp.f64 im)))
(+.f64 1 (-.f64 (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (exp.f64 im)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 1 (exp.f64 im)) (pow.f64 re 4)))))) (exp.f64 im))
(+.f64 (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/720)))) (-.f64 1 (exp.f64 im)))
(+.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 1 (+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (-.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 -1/720 (pow.f64 re 6))) (exp.f64 im))))
(+.f64 (-.f64 1 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))))
(+.f64 1 (-.f64 (*.f64 (-.f64 1 (exp.f64 im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2))))) (exp.f64 im)))
(*.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 (*.f64 (cos.f64 re) im)) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (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/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (neg.f64 im))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) -1/24))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/24 (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (neg.f64 im)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/24 (pow.f64 im 4)) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) (*.f64 -1/24 (pow.f64 im 4))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (neg.f64 im) (*.f64 -1/24 (pow.f64 im 4))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/24 (pow.f64 im 4)) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 0)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(+.f64 (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 1 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 0)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 1)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 2)) 2)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 -4 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) -1))) 4)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)) 8)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))) 16)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))) 32)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8))))) 64)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 im)) 8)))))) 128)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 1)
(*.f64 (-.f64 1 (exp.f64 im)) (cos.f64 re))

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
7.3b
(+.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)))

rewrite141.0ms (0.7%)

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

simplify101.0ms (0.5%)

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

eval156.0ms (0.8%)

Compiler

Compiled 8425 to 5903 computations (29.9% saved)

prune98.0ms (0.5%)

Pruning

22 alts after pruning (11 fresh and 11 done)

PrunedKeptTotal
New5014505
Fresh077
Picked011
Done01010
Total50122523
Error
0.1b
Counts
523 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
59.8b
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 im))) 2)
1.7b
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
58.9b
(-.f64 (-.f64 1 (+.f64 -2 (+.f64 (*.f64 (cos.f64 re) im) 2))) 1)
58.9b
(-.f64 (-.f64 1 (*.f64 (cos.f64 re) im)) 1)
29.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
60.6b
(-.f64 1 1)
1.2b
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re)))
1.4b
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
58.9b
(+.f64 (neg.f64 (+.f64 (*.f64 (cos.f64 re) im) -2)) -2)
1.4b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) 1/2))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
50.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (neg.f64 im) (-.f64 -1 (/.f64 -1 (exp.f64 im)))))
57.2b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
57.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
1.7b
(*.f64 (neg.f64 im) (cos.f64 re))
58.5b
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
1.2b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
59.0b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.0b
(*.f64 1/2 (-.f64 1 (exp.f64 im)))
54.1b
(*.f64 1/2 (neg.f64 im))
29.2b
(neg.f64 im)
Compiler

Compiled 264 to 208 computations (21.2% saved)

regimes66.0ms (0.4%)

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

6 calls:

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

Compiled 356 to 217 computations (39% saved)

regimes62.0ms (0.3%)

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

6 calls:

13.0ms
re
13.0ms
(*.f64 1/2 (cos.f64 re))
13.0ms
im
9.0ms
(cos.f64 re)
5.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.2b1re
1.2b1im
1.2b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.2b1(*.f64 1/2 (cos.f64 re))
1.2b1(cos.f64 re)
1.2b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 294 to 181 computations (38.4% saved)

regimes60.0ms (0.3%)

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

6 calls:

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

Compiled 277 to 170 computations (38.6% saved)

regimes52.0ms (0.3%)

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

6 calls:

12.0ms
re
10.0ms
im
9.0ms
(*.f64 1/2 (cos.f64 re))
8.0ms
(cos.f64 re)
4.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.4b1re
1.4b1im
1.4b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.4b1(*.f64 1/2 (cos.f64 re))
1.4b1(cos.f64 re)
1.4b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 232 to 147 computations (36.6% saved)

regimes22.0ms (0.1%)

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

3 calls:

7.0ms
im
7.0ms
re
6.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.7b1re
1.7b1im
1.7b1(cos.f64 re)
Compiler

Compiled 93 to 58 computations (37.6% saved)

regimes19.0ms (0.1%)

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

3 calls:

8.0ms
re
5.0ms
im
4.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.7b1re
1.7b1im
1.7b1(cos.f64 re)
Compiler

Compiled 47 to 32 computations (31.9% saved)

regimes7.0ms (0%)

Accuracy

Total -31.6b remaining (-107.9%)

Threshold costs -31.6b (-107.9%)

Counts
3 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(-.f64 1 1)
(*.f64 1/2 (neg.f64 im))
Outputs
(neg.f64 im)
Calls

2 calls:

3.0ms
re
3.0ms
im
Results
ErrorSegmentsBranch
29.2b1re
29.2b1im
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 89 to 65 computations (27% saved)

soundness1.1s (5.8%)

Algorithm
egg-herbie
Rules
3840×rational.json-simplify-42
2308×rational.json-simplify-35
2124×rational.json-simplify-2
1800×rational.json-simplify-2
1706×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
01882771
14022699
29352611
318632577
441862577
561602571
679942571
02813873
16163629
213683537
331273537
451143467
565283443
01031486
12431456
25281404
312201380
434831380
549811380
654661380
757981380
860981380
962781380
1073931380
1179121380
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 352 to 229 computations (34.9% saved)

end55.0ms (0.3%)

Compiler

Compiled 77 to 44 computations (42.9% saved)

Profiling

Loading profile data...