Details

Time bar (total: 20.5s)

analyze137.0ms (0.7%)

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

Compiled 15 to 12 computations (20% saved)

sample11.8s (57.6%)

Results
6.5s4978×body1024valid
2.9s2155×body1024infinite
860.0ms1777×body512valid
504.0ms1032×body512infinite
374.0ms443×body2048valid
334.0ms1494×body256infinite
328.0ms1058×body256valid
Bogosity

preprocess87.0ms (0.4%)

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)

simplify518.0ms (2.5%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 36 to 20 computations (44.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 13 to 10 computations (23.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4b
(-.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
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite70.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1286×rational.json-simplify-35
1260×bool.json-1
1260×bool.json-2
1216×rational.json-1
1216×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
113154
235654
380354
4175754
5422954
Stop Event
node limit
Counts
2 → 44
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 1 (-.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 (*.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -1)))) (#(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 (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 (-.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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 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 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 (neg.f64 (exp.f64 (+.f64 im im))) 1) (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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)))) (#(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 not (not (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) 8)))) (#(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) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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))))))))

simplify131.0ms (0.6%)

Algorithm
egg-herbie
Rules
1366×rational.json-simplify-2
1194×rational.json-simplify-35
952×rational.json-simplify-1
866×rational.json-simplify-48
850×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01542364
13272292
27852200
319532166
441622166
552132166
675042166
Stop Event
node limit
Counts
76 → 92
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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -1)
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(*.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 (-.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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 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 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 (neg.f64 (exp.f64 (+.f64 im im))) 1) (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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.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)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)
(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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))))) 32)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.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 (-.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 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/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.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 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 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (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 -1/6 (cos.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.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 (*.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) (*.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 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 im (neg.f64 (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 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 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 -1 (+.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (+.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.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 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 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (neg.f64 (exp.f64 (+.f64 im 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) -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 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))) 32)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)
(-.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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) 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 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))))) 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)))

eval21.0ms (0.1%)

Compiler

Compiled 1669 to 835 computations (50% saved)

prune20.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New86692
Fresh000
Picked011
Done000
Total86793
Error
0.1b
Counts
93 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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)))))
57.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
1.8b
(*.f64 (neg.f64 im) (cos.f64 re))
1.1b
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
1.3b
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
58.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 201 to 158 computations (21.4% saved)

localize46.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 120 to 93 computations (22.5% saved)

series10.0ms (0.1%)

Counts
4 → 24
Calls

15 calls:

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

rewrite86.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1588×bool.json-1
1588×bool.json-2
1508×rational.json-1
1508×rational.json-2
1508×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026116
1252116
2576116
31177116
42706116
55949116
Stop Event
node limit
Counts
4 → 32
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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 -1/60 (pow.f64 im 5))
(*.f64 -1/2520 (pow.f64 im 7))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/15) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/630) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/2520 (pow.f64 im 7))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/2520 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/2520 (pow.f64 im 7)))))))

simplify258.0ms (1.3%)

Algorithm
egg-herbie
Rules
2328×rational.json-simplify-2
2210×rational.json-simplify-53
1834×rational.json-simplify-35
1624×rational.json-simplify-1
802×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01323060
13043048
26232730
312662568
429192568
540822568
646732568
752422568
855222568
958922568
1062752568
1169542568
1271292568
Stop Event
node limit
Counts
56 → 95
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(-.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -4/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)))) 16)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/15) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(+.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))
(-.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(/.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/630) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)
Outputs
(*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))
(*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))))
(*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))))
(*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 2))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1/48))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2)))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 2))) (+.f64 (+.f64 (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1/48)) (*.f64 -1/1440 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (pow.f64 re 6)))) (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))))) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2)))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2)))))) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2)))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 im -1))
(*.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) (*.f64 im -1)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.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 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.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 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
(+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (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 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.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 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
(+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (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 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.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 -1/3 (pow.f64 im 3)) 0)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 -1/3 (pow.f64 im 3))
(-.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -4/3) 4)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) 8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)))) 16)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (cos.f64 re)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 im -2))))) (cos.f64 re))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 im -2))))) (cos.f64 re))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/15) 4)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(*.f64 -1/2520 (pow.f64 im 7))
(+.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))
(*.f64 -1/2520 (pow.f64 im 7))
(-.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/630) 4)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)
(*.f64 -1/2520 (pow.f64 im 7))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite93.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1462×bool.json-1
1462×bool.json-2
1408×rational.json-1
1408×rational.json-2
1408×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
18415
225115
355815
4122715
5282015
6580615
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (neg.f64 im) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 (cos.f64 re))) 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 im (*.f64 (cos.f64 re) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8)) (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (cos.f64 re))))))))

simplify258.0ms (1.3%)

Algorithm
egg-herbie
Rules
2072×rational.json-simplify-2
1952×rational.json-simplify-35
1566×rational.json-simplify-1
890×rational.json-simplify-53
670×rational.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062682
1143674
2286662
3669650
42263650
53152650
63899650
74351650
84801650
95419650
106569650
116973650
127525650
Stop Event
node limit
Counts
38 → 35
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(-.f64 0 (*.f64 im (cos.f64 re)))
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 2)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) -4)) 4)
(/.f64 (*.f64 im (cos.f64 re)) -1)
(/.f64 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8)) (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8))) 32)
(neg.f64 (*.f64 im (cos.f64 re)))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2))))
(+.f64 (neg.f64 im) (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (neg.f64 im)))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
(*.f64 im (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (+.f64 (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2)))) (*.f64 1/720 (*.f64 im (pow.f64 re 6)))))
(+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (neg.f64 im))) (*.f64 im (*.f64 (pow.f64 re 6) 1/720)))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (*.f64 im (*.f64 1/720 (pow.f64 re 6)))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/720 (pow.f64 re 6)) (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 (*.f64 im (cos.f64 re)) -1/2) (*.f64 (*.f64 im (cos.f64 re)) -1/2))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 im -2)) 2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (cos.f64 re) -4)) 4)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8) 8)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8)) 16)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8)) (*.f64 2 (*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 8))) 32)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))

localize9.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 23 computations (37.8% saved)

series3.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite93.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1696×bool.json-1
1696×bool.json-2
1646×rational.json-1
1646×rational.json-2
1016×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01369
113169
233969
369969
4153069
5352069
6667169
Stop Event
node limit
Counts
3 → 38
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))
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 2 (*.f64 (pow.f64 im 3) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))))
((#(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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))))) (#(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 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))

simplify450.0ms (2.2%)

Algorithm
egg-herbie
Rules
2262×rational.json-simplify-2
1722×rational.json-simplify-35
1344×rational.json-simplify-42
1302×rational.json-simplify-1
782×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01202002
12662002
26781948
318531918
434181918
537461918
639491918
741491918
843511918
946421918
1057121918
1159911918
1262671918
1364231918
1464621918
1565561918
1677701918
Stop Event
node limit
Counts
86 → 69
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 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(+.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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 1/2)))
(-.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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4))))) 32)
(-.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(*.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 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 32)
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 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) 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 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 -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/6 (pow.f64 im 3)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4))) (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 6))))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.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 (pow.f64 re 6) -1/720)))) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) im))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.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 1 (*.f64 -1/2 (pow.f64 re 2)))) (*.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 (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 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(*.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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 1/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 (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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 2)) 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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4))) 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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (cos.f64 re) 4))))) 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 (*.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.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 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 8)
(-.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)) 4))) 16)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 32)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 55 to 22 computations (60% saved)

series93.0ms (0.5%)

Counts
3 → 48
Calls

12 calls:

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

rewrite160.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
850×rational.json-simplify-35
844×bool.json-1
844×bool.json-2
812×rational.json-1
812×rational.json-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01695
117087
248287
3111187
4258571
5719671
Stop Event
node limit
Counts
3 → 126
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (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 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 re) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 re) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) 2) (*.f64 4 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (cos.f64 re) 4)))))) (#(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 4 (+.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) 4) (*.f64 8 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (cos.f64 re) 2)) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) 4) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (cos.f64 re) 2)) (exp.f64 im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (neg.f64 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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))))))))

simplify260.0ms (1.3%)

Algorithm
egg-herbie
Rules
1412×rational.json-simplify-53
1194×rational.json-simplify-2
1116×rational.json-simplify-41
770×rational.json-simplify-1
770×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03535682
110325544
234055364
356585324
Stop Event
node limit
Counts
174 → 204
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 6) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.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 4/3 (cos.f64 re)) (+.f64 (*.f64 1/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 -2/3 (cos.f64 re))))) (pow.f64 im 4))) (+.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 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(/.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (neg.f64 (exp.f64 im))))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 1/2 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(/.f64 -1 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(/.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))
(/.f64 4 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) 2))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (exp.f64 im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) 4)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))
(/.f64 (+.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)) 8)
(/.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)
(/.f64 (/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)
(/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))
(/.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))
(/.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))
(/.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))
(neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))
(neg.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.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 1/2 (cos.f64 re))) 0)
(/.f64 1 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(/.f64 1 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (cos.f64 re))))
(/.f64 (cos.f64 re) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (cos.f64 re) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 1 (-.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))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))) (exp.f64 im))
(/.f64 2 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(/.f64 2 (+.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))))
(/.f64 2 (*.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) 1))
(/.f64 (*.f64 (cos.f64 re) 2) (*.f64 4 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (cos.f64 re) 4)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 2)
(/.f64 4 (+.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) (*.f64 (exp.f64 im) 2))
(/.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (cos.f64 re) 4) (*.f64 8 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) 8)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (cos.f64 re) 2)) (*.f64 (exp.f64 im) 4))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (cos.f64 re))))
(/.f64 (/.f64 (cos.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 4) 1/2)
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) 4) (/.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (cos.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (cos.f64 re) 2)) (exp.f64 im)) 4)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (neg.f64 (neg.f64 (exp.f64 im))))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (*.f64 im 2)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)) -1/4)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (*.f64 im 2))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)) -1/4)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)) 1/48))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (*.f64 im 2))))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 6) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)) 1/48)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6)) -1/1440)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)) -1/4)))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (*.f64 im 2))))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)))) (*.f64 -1/1440 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/1440 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) 1/2) (*.f64 -1/1440 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 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 (*.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 (cos.f64 re) (neg.f64 im)) (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (cos.f64 re) 0) 1/2)))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (pow.f64 im 2) 0))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(+.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 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 2 (cos.f64 re)) (*.f64 -1 (cos.f64 re)))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 2/3))) (*.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 1/2 (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re)))) 0))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 4/3 (cos.f64 re)) (+.f64 (*.f64 1/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 -2/3 (cos.f64 re))))) (pow.f64 im 4))) (+.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 (cos.f64 re) (neg.f64 im)) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 2 (cos.f64 re)) (*.f64 -1 (cos.f64 re)))) (*.f64 (pow.f64 im 3) 1/2))) (*.f64 (+.f64 (*.f64 (cos.f64 re) 4/3) (+.f64 (*.f64 -1 (cos.f64 re)) (+.f64 (*.f64 -2/3 (cos.f64 re)) (*.f64 (cos.f64 re) 1/3)))) (*.f64 (pow.f64 im 4) 1/2))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 2/3))) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 0)))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (+.f64 (neg.f64 (cos.f64 re)) (+.f64 (*.f64 (cos.f64 re) -1/3) (*.f64 (cos.f64 re) 4/3)))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (cos.f64 re) (neg.f64 (cos.f64 re)))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re)))))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/3 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 4) (*.f64 0 (neg.f64 (cos.f64 re)))) 0))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1/2 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 -1 (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 2 (-.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 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 4 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)) (*.f64 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(neg.f64 (/.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(*.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 0 (*.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 (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 1/2 (cos.f64 re))) 0)
(*.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 (/.f64 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 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) 1))
(*.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 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (/.f64 (exp.f64 im) 1/2) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (cos.f64 re) (/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (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 (cos.f64 re) (*.f64 2 (/.f64 1 (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (cos.f64 re) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.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 (*.f64 1/2 (cos.f64 re)) (/.f64 1 (-.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 (-.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 1/2 (cos.f64 re))) 1)
(*.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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))) (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 2 (/.f64 4 (*.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 2 (+.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) (/.f64 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 2 (*.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) 1))
(*.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 (*.f64 (cos.f64 re) 2) (*.f64 4 (/.f64 1 (-.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 (-.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)) 2) (/.f64 2 (*.f64 1/2 (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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (cos.f64 re) 4)))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 4 (/.f64 (cos.f64 re) (exp.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 2 (/.f64 4 (/.f64 (cos.f64 re) (exp.f64 im)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 2)
(*.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 4 (+.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))) (/.f64 4 (*.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 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) (*.f64 (exp.f64 im) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (/.f64 1/2 (/.f64 -1 (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (/.f64 (exp.f64 im) 1/2) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (cos.f64 re) (/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (cos.f64 re) 4) (*.f64 8 (/.f64 1 (-.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 (-.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) 2)) 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 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) 8)
(*.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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (cos.f64 re) 2)) (*.f64 (exp.f64 im) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (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 (/.f64 (cos.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(*.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 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) 4) 1/2)
(*.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 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) 4) (/.f64 (exp.f64 im) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (neg.f64 (/.f64 1 (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)))) 16)
(*.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 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (*.f64 2 (neg.f64 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (cos.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(*.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 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (cos.f64 re) 2)) (exp.f64 im)) 4)
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (cos.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))) (neg.f64 (neg.f64 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))

eval573.0ms (2.8%)

Compiler

Compiled 9701 to 6179 computations (36.3% saved)

prune156.0ms (0.8%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New4399448
Fresh101
Picked101
Done235
Total44312455
Error
0.1b
Counts
455 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
57.3b
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (cos.f64 re))))
31.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
60.2b
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
59.9b
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
1.3b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
58.5b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.8b
(*.f64 (neg.f64 im) (cos.f64 re))
58.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
31.0b
(*.f64 1/2 (+.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)))))
31.0b
(*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
31.7b
(neg.f64 im)
Compiler

Compiled 266 to 215 computations (19.2% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

12 calls:

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

rewrite109.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1552×bool.json-1
1552×bool.json-2
1494×rational.json-1
1494×rational.json-2
1494×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01261
111761
230161
363161
4134261
5299661
6601461
Stop Event
node limit
Counts
3 → 53
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))

simplify333.0ms (1.6%)

Algorithm
egg-herbie
Rules
2224×rational.json-simplify-2
2154×rational.json-simplify-35
1412×rational.json-simplify-1
848×rational.json-simplify-51
828×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01442533
12992533
27902101
318142071
438542071
544972071
650392071
756082071
864142071
965712071
1073802071
1174342071
1275392071
1378452071
Stop Event
node limit
Counts
89 → 81
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 1/2)
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 2)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))) -2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))))) 4)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 -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 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4))) (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 6))))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 6) -1/720)))) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/720 (pow.f64 re 6))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2)))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8) 8)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8)) 16)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 8))) 32)
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 1/2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) 2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))) -2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) 2)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))))) 4)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize2.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite84.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1446×bool.json-1
1446×bool.json-2
1384×rational.json-1
1384×rational.json-2
1384×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
111034
229834
363634
4132434
5295934
6595734
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) -1/6)
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) -1/6))))) (#(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 (cos.f64 re) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/6) 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 (cos.f64 re) -1/3) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) -1/6) (*.f64 (cos.f64 re) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) -1/6) (*.f64 (cos.f64 re) -1/6))))))
((#(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 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (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 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))))))

simplify184.0ms (0.9%)

Algorithm
egg-herbie
Rules
3056×rational.json-simplify-2
1822×rational.json-simplify-35
1546×rational.json-simplify-1
1272×rational.json-simplify-53
1024×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0871232
11911232
23731196
38241172
421321172
535631172
645651172
747951172
850401172
953721172
1071531172
Stop Event
node limit
Counts
56 → 47
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 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (cos.f64 re) -1/6) 0)
(+.f64 0 (*.f64 (cos.f64 re) -1/6))
(+.f64 (*.f64 (cos.f64 re) -1/12) (*.f64 (cos.f64 re) -1/12))
(-.f64 (*.f64 (cos.f64 re) -1/6) 0)
(/.f64 (*.f64 (cos.f64 re) -1/6) 1)
(/.f64 (*.f64 (cos.f64 re) -1/3) 2)
(/.f64 (*.f64 (cos.f64 re) -2/3) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) -1/3) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4))) 32)
(+.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 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (cos.f64 re) (*.f64 (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 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3)))) 32)
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 -1/144 (pow.f64 re 4)) (-.f64 (*.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 (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6))) (-.f64 (*.f64 -1/144 (pow.f64 re 4)) 1/6))
(+.f64 (*.f64 -1/144 (pow.f64 re 4)) (-.f64 (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6))) 1/6))
(+.f64 (*.f64 1/12 (pow.f64 re 2)) (+.f64 (*.f64 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 -1/144 (pow.f64 re 4)) (-.f64 (*.f64 1/4320 (pow.f64 re 6)) 1/6)))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (cos.f64 re))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -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/144 (*.f64 (pow.f64 re 4) (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 (*.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/12 (pow.f64 re 2)) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))))
(+.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 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))))))
(+.f64 (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (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 1/4320 (*.f64 (pow.f64 re 6) (pow.f64 im 3))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 1/4320 (pow.f64 re 6))))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 -1/144 (pow.f64 re 4)))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/12 (pow.f64 re 2)) (*.f64 1/4320 (pow.f64 re 6)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 re 2) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (+.f64 (*.f64 -1/144 (pow.f64 re 4)) (*.f64 1/4320 (pow.f64 re 6))))))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.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 (*.f64 (cos.f64 re) -1/6) 0)
(*.f64 -1/6 (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) -1/6))
(*.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 (cos.f64 re) -1/6) 0)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -1/6) 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 (cos.f64 re) -1/3) 4) 8)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4)) 16)
(*.f64 -1/6 (cos.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/3) 4))) 32)
(*.f64 -1/6 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.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 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.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 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.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 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.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 (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)) -2/3) 4)
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3)) 8)
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3))) 16)
(*.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 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) -2/3)))) 32)
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
5.4b
(-.f64 1 (exp.f64 (*.f64 im 2)))
Compiler

Compiled 41 to 27 computations (34.1% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite79.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1448×bool.json-1
1448×bool.json-2
1398×rational.json-1
1398×rational.json-2
1398×rational.json-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01454
114854
240550
386350
4178542
5459942
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(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/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 2 (neg.f64 (exp.f64 im))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) (*.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (neg.f64 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 2 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) 2) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (-.f64 0 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))

simplify123.0ms (0.6%)

Algorithm
egg-herbie
Rules
1112×rational.json-simplify-1
1064×rational.json-simplify-46
1048×rational.json-simplify-51
964×rational.json-simplify-2
816×rational.json-simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01662200
14302182
213052182
336252182
457832182
573682182
Stop Event
node limit
Counts
86 → 94
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 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 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)
(*.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(/.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1) 2)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(-.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(/.f64 1 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(/.f64 1 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 2 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 2 (*.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 2 (neg.f64 (exp.f64 im))) -1))
(/.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (exp.f64 im))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 4))
(/.f64 4 (+.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) (*.f64 1/2 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (neg.f64 (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4) 1/2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 2 (exp.f64 im))) -1)
(/.f64 (/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) 2) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (-.f64 0 (neg.f64 (exp.f64 im))))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.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 (neg.f64 im) (*.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 -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 (neg.f64 im) (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (neg.f64 im) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (neg.f64 im) (+.f64 (*.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 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 0 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(-.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 1 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 1 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 1 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 2 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 2 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 2 (*.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 2 (neg.f64 (exp.f64 im))) -1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 1/2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 4 (+.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 4 (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) (*.f64 1/2 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (neg.f64 (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4) 1/2)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (*.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 16)
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 2 (exp.f64 im))) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) 2) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (-.f64 0 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 44 to 20 computations (54.5% saved)

series2.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite69.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1394×bool.json-1
1394×bool.json-2
1358×rational.json-1
1358×rational.json-2
1358×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01546
116546
251046
3132346
4412846
Stop Event
node limit
Counts
2 → 81
Calls
Call 1
Inputs
(/.f64 1 (*.f64 1/2 (cos.f64 re)))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (cos.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (cos.f64 re)) (/.f64 1 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (/.f64 (/.f64 1 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (cos.f64 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (cos.f64 re))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (/.f64 1 (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 2 (cos.f64 re)) (/.f64 2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (cos.f64 re)) (/.f64 2 (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (cos.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 1 (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 2 (/.f64 4 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 1 (/.f64 -2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 re)) (/.f64 1 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (cos.f64 re) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cos.f64 re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (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) 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 re) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.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 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.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 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (/.f64 4 (cos.f64 re)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -2 (cos.f64 re))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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 (neg.f64 im)) (exp.f64 im))))))))

simplify111.0ms (0.5%)

Algorithm
egg-herbie
Rules
1612×rational.json-simplify-2
880×rational.json-simplify-53
846×rational.json-simplify-41
680×rational.json-simplify-43
602×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02013589
14503517
210333429
336483387
465903387
Stop Event
node limit
Counts
117 → 134
Calls
Call 1
Inputs
2
(+.f64 (pow.f64 re 2) 2)
(+.f64 (pow.f64 re 2) (+.f64 2 (*.f64 5/12 (pow.f64 re 4))))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 61/360 (pow.f64 re 6)) (+.f64 2 (*.f64 5/12 (pow.f64 re 4)))))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.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 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 (/.f64 2 (cos.f64 re)) 0)
(+.f64 0 (/.f64 2 (cos.f64 re)))
(+.f64 (/.f64 1 (cos.f64 re)) (/.f64 1 (cos.f64 re)))
(-.f64 (/.f64 2 (cos.f64 re)) 0)
(*.f64 1 (/.f64 2 (cos.f64 re)))
(*.f64 1/2 (/.f64 4 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (/.f64 1 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 2 (cos.f64 re)) 1)
(*.f64 2 (/.f64 1 (cos.f64 re)))
(*.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))))
(*.f64 (/.f64 4 (cos.f64 re)) 1/2)
(*.f64 (*.f64 2 (/.f64 4 (cos.f64 re))) 1/4)
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))))
(*.f64 (/.f64 1 (cos.f64 re)) 2)
(*.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/4 (*.f64 2 (/.f64 4 (cos.f64 re))))
(*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (/.f64 2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (/.f64 (/.f64 1 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(*.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) 1/4))
(*.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (/.f64 1 (/.f64 4 (cos.f64 re))))
(*.f64 (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) (*.f64 (cos.f64 re) 2))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) 2)
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 1 (*.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 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (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 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 -1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (cos.f64 re))))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))
(*.f64 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (cos.f64 re))))
(*.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 2 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 2 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 (cos.f64 re) 1/4))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 1 (/.f64 4 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 2 (/.f64 4 (cos.f64 re)))))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4))
(*.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 1 (/.f64 -2 (cos.f64 re))))
(*.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (neg.f64 (cos.f64 re)) (/.f64 1 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (cos.f64 re) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 1/4)
(*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/4 (*.f64 (cos.f64 re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 (cos.f64 re) 2))
(*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (*.f64 1/2 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) 2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) 2)
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4) (*.f64 (cos.f64 re) 2))
(*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (cos.f64 re))) -1)
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (cos.f64 re))) 2)
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (/.f64 1 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)))
(*.f64 (/.f64 1/2 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))))
(*.f64 (/.f64 (cos.f64 re) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) 1/4))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) 2)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 4 (cos.f64 re)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 2)
(*.f64 (/.f64 (cos.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (/.f64 1 (/.f64 -2 (cos.f64 re))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (cos.f64 re)))
Outputs
2
(+.f64 (pow.f64 re 2) 2)
(+.f64 2 (pow.f64 re 2))
(+.f64 (pow.f64 re 2) (+.f64 2 (*.f64 5/12 (pow.f64 re 4))))
(+.f64 2 (+.f64 (*.f64 5/12 (pow.f64 re 4)) (pow.f64 re 2)))
(+.f64 2 (+.f64 (pow.f64 re 2) (*.f64 5/12 (pow.f64 re 4))))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 61/360 (pow.f64 re 6)) (+.f64 2 (*.f64 5/12 (pow.f64 re 4)))))
(+.f64 (pow.f64 re 2) (+.f64 2 (+.f64 (*.f64 5/12 (pow.f64 re 4)) (*.f64 61/360 (pow.f64 re 6)))))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 5/12 (pow.f64 re 4)) (+.f64 (*.f64 61/360 (pow.f64 re 6)) 2)))
(+.f64 (*.f64 5/12 (pow.f64 re 4)) (+.f64 (+.f64 2 (pow.f64 re 2)) (*.f64 61/360 (pow.f64 re 6))))
(+.f64 (+.f64 2 (*.f64 5/12 (pow.f64 re 4))) (+.f64 (pow.f64 re 2) (*.f64 61/360 (pow.f64 re 6))))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(/.f64 2 (cos.f64 re))
(*.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 (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 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 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 (pow.f64 re 2) -1/4)))
(+.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 (pow.f64 re 2) -1/4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))))
(+.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 (-.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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/1440)))
(+.f64 (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48))) (*.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 (*.f64 (pow.f64 re 4) 1/48) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/1440)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (+.f64 (*.f64 (pow.f64 re 2) -1/4) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) (*.f64 (pow.f64 re 4) 1/48)))))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(+.f64 (/.f64 2 (cos.f64 re)) 0)
(/.f64 2 (cos.f64 re))
(+.f64 0 (/.f64 2 (cos.f64 re)))
(/.f64 2 (cos.f64 re))
(+.f64 (/.f64 1 (cos.f64 re)) (/.f64 1 (cos.f64 re)))
(/.f64 2 (cos.f64 re))
(-.f64 (/.f64 2 (cos.f64 re)) 0)
(/.f64 2 (cos.f64 re))
(*.f64 1 (/.f64 2 (cos.f64 re)))
(/.f64 2 (cos.f64 re))
(*.f64 1/2 (/.f64 4 (cos.f64 re)))
(/.f64 2 (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (/.f64 1 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(/.f64 2 (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 2 (cos.f64 re)) 1)
(/.f64 2 (cos.f64 re))
(*.f64 2 (/.f64 1 (cos.f64 re)))
(/.f64 2 (cos.f64 re))
(*.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 4 (cos.f64 re)) 1/2)
(/.f64 2 (cos.f64 re))
(*.f64 (*.f64 2 (/.f64 4 (cos.f64 re))) 1/4)
(/.f64 2 (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 1 (cos.f64 re)) 2)
(/.f64 2 (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(/.f64 2 (cos.f64 re))
(*.f64 1/4 (*.f64 2 (/.f64 4 (cos.f64 re))))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 (/.f64 2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (cos.f64 re)))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 (/.f64 1 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) 1/4))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (/.f64 1 (/.f64 4 (cos.f64 re))))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) (*.f64 (cos.f64 re) 2))
(/.f64 2 (cos.f64 re))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) 2)
(/.f64 2 (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 -1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (cos.f64 re))))
(neg.f64 (/.f64 (cos.f64 re) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (neg.f64 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (cos.f64 re)))
(*.f64 2 (*.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/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 2 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 2 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 (cos.f64 re) 1/4))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 1 (/.f64 4 (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 2 (/.f64 4 (cos.f64 re)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 1/2 (-.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 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 1 (/.f64 -2 (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (neg.f64 (cos.f64 re)) (/.f64 1 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (cos.f64 re) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 1/4)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 1/4 (*.f64 (cos.f64 re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 (cos.f64 re) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (+.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 1/2 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/4) (*.f64 (cos.f64 re) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (cos.f64 re))) -1)
(neg.f64 (/.f64 (cos.f64 re) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (neg.f64 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (cos.f64 re)))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (cos.f64 re))) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 1 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 1/2 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (cos.f64 re) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.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/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (-.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 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 1 (*.f64 2 (/.f64 4 (cos.f64 re)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 (cos.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 1 (/.f64 -2 (cos.f64 re))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))

eval234.0ms (1.1%)

Compiler

Compiled 6705 to 3933 computations (41.3% saved)

prune202.0ms (1%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New3956401
Fresh224
Picked101
Done167
Total39914413
Error
0.1b
Counts
413 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
57.3b
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (cos.f64 re)))
58.5b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
1.8b
(/.f64 (*.f64 -2 im) (/.f64 1 (*.f64 1/2 (cos.f64 re))))
31.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
31.0b
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5))))
31.0b
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 -1/5040 (pow.f64 im 7))))
60.2b
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
59.9b
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
60.2b
(*.f64 (pow.f64 im 3) -1/6)
1.3b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.8b
(*.f64 (neg.f64 im) (cos.f64 re))
58.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
31.7b
(neg.f64 im)
Compiler

Compiled 260 to 207 computations (20.4% saved)

localize44.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 32 to 21 computations (34.4% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite69.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1744×bool.json-1
1744×bool.json-2
1700×rational.json-1
1496×bool.json-3
668×rational.json-simplify-61
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01323
114517
247215
3134215
4536815
Stop Event
node limit
Counts
1 → 55
Calls
Call 1
Inputs
(/.f64 (*.f64 -2 im) (/.f64 1 (*.f64 1/2 (cos.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 im (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 im) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im (*.f64 -2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -2 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (*.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (/.f64 1 (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 -2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (cos.f64 re) (/.f64 -2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 -2 im) (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 im) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 -1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 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 (cos.f64 re)) (/.f64 1 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (cos.f64 re) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (cos.f64 re) (*.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (/.f64 im (/.f64 4 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (/.f64 im (/.f64 4 (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 1/2 (cos.f64 re))))))) (#(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 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/4 (*.f64 -2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 (/.f64 im -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 (neg.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -8) (/.f64 1 (*.f64 (/.f64 2 (cos.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (/.f64 (neg.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 -1 (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (*.f64 (cos.f64 re) 2) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 1/2 (cos.f64 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 -2 (cos.f64 re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (cos.f64 re)) 2) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (cos.f64 re) (/.f64 (cos.f64 re) (*.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (cos.f64 re)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (cos.f64 re)) (/.f64 1/2 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (/.f64 (cos.f64 re) (*.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (/.f64 4 (cos.f64 re))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (*.f64 im -4))))) (#(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 im 1/2) (/.f64 -4 (/.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 im) (neg.f64 im)) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (cos.f64 re))))))))

simplify82.0ms (0.4%)

Algorithm
egg-herbie
Rules
1450×rational.json-simplify-2
1436×rational.json-simplify-35
984×rational.json-simplify-51
902×rational.json-simplify-43
902×rational.json-simplify-46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01471309
13831303
28601285
327081273
461091273
Stop Event
node limit
Counts
79 → 79
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(*.f64 -2 (*.f64 im (*.f64 1/2 (cos.f64 re))))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 -2 im) (*.f64 1/2 (cos.f64 re)))
(*.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(*.f64 1/2 (*.f64 im (*.f64 -2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -2 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(*.f64 (*.f64 im -4) (*.f64 (cos.f64 re) 1/4))
(*.f64 (*.f64 im -4) (/.f64 1 (/.f64 4 (cos.f64 re))))
(*.f64 (*.f64 im -4) (*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) 1))
(*.f64 2 (*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 -2 im)))
(*.f64 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 im)))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 -2 im)))
(*.f64 2 (/.f64 (*.f64 -2 im) (/.f64 4 (cos.f64 re))))
(*.f64 2 (*.f64 (neg.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 -1 im)))
(*.f64 2 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 -1 im))))
(*.f64 2 (/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 2))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 (neg.f64 (cos.f64 re)) (/.f64 1 (/.f64 1 im)))
(*.f64 -1 (/.f64 (cos.f64 re) (/.f64 1 im)))
(*.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 -4 (/.f64 im (/.f64 4 (cos.f64 re))))
(*.f64 -4 (*.f64 (/.f64 im (/.f64 4 (cos.f64 re))) 1))
(*.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 -1/2 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/4 (*.f64 -2 im)))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (/.f64 im -2) 1))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (neg.f64 im) 1/2))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))
(*.f64 (*.f64 im -8) (/.f64 1 (*.f64 (/.f64 2 (cos.f64 re)) 4)))
(*.f64 (+.f64 im im) (/.f64 (neg.f64 (cos.f64 re)) 2))
(*.f64 (+.f64 im im) (*.f64 -1 (*.f64 1/2 (cos.f64 re))))
(*.f64 -1/2 (/.f64 (*.f64 (cos.f64 re) 2) (/.f64 1 im)))
(*.f64 (*.f64 im (*.f64 1/2 (cos.f64 re))) -2)
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (*.f64 im (*.f64 -2 (cos.f64 re))) 1/2)
(*.f64 (/.f64 (neg.f64 (cos.f64 re)) 2) (+.f64 im im))
(*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im -4))
(*.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (cos.f64 re) (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (*.f64 -2 (cos.f64 re)) (*.f64 im 1/2))
(*.f64 (*.f64 -2 (cos.f64 re)) (/.f64 1/2 (/.f64 1 im)))
(*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))
(*.f64 (/.f64 im (/.f64 4 (cos.f64 re))) -4)
(*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (*.f64 im -4))
(*.f64 1/4 (*.f64 (cos.f64 re) (*.f64 im -4)))
(*.f64 (*.f64 im 1/2) (/.f64 -4 (/.f64 2 (cos.f64 re))))
(*.f64 (+.f64 (neg.f64 im) (neg.f64 im)) (*.f64 1/2 (cos.f64 re)))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (neg.f64 im))
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (*.f64 im 1/2) (+.f64 -2 (pow.f64 re 2)))
(*.f64 (*.f64 im 1/2) (+.f64 (pow.f64 re 2) -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 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im)) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
(+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (neg.f64 im)) (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
(*.f64 im (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 im (+.f64 -1 (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (neg.f64 im)) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (neg.f64 im)) (+.f64 (*.f64 im (*.f64 1/720 (pow.f64 re 6))) (*.f64 im (*.f64 (pow.f64 re 4) -1/24))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 -1/24 (*.f64 im (pow.f64 re 4))) (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/720 (pow.f64 re 6)) (*.f64 1/2 (pow.f64 re 2))))))
(*.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 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -2 (*.f64 im (*.f64 1/2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 -2 im) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1 (*.f64 im (neg.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/2 (*.f64 im (*.f64 -2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -2 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im -4) (*.f64 (cos.f64 re) 1/4))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im -4) (/.f64 1 (/.f64 4 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im -4) (*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 -2 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 -2 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (/.f64 (*.f64 -2 im) (/.f64 4 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (neg.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 -1 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (/.f64 (cos.f64 re) (*.f64 2 (/.f64 -1 im))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (cos.f64 re)) im)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 (cos.f64 re)) (/.f64 1 (/.f64 1 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1 (/.f64 (cos.f64 re) (/.f64 1 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -4 (/.f64 im (/.f64 4 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -4 (*.f64 (/.f64 im (/.f64 4 (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -4 (*.f64 (*.f64 im 1/2) (*.f64 1/2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (/.f64 im -2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 -1/2 im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/4 (*.f64 -2 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (/.f64 im -2) 1))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (neg.f64 im) 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (neg.f64 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im -8) (/.f64 1 (*.f64 (/.f64 2 (cos.f64 re)) 4)))
(*.f64 (*.f64 im -8) (/.f64 1 (*.f64 4 (/.f64 2 (cos.f64 re)))))
(*.f64 (/.f64 1/4 (/.f64 2 (cos.f64 re))) (*.f64 im -8))
(*.f64 im (*.f64 -8 (/.f64 (cos.f64 re) 8)))
(*.f64 (+.f64 im im) (/.f64 (neg.f64 (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 im im) (*.f64 -1 (*.f64 1/2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 -1/2 (/.f64 (*.f64 (cos.f64 re) 2) (/.f64 1 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (*.f64 1/2 (cos.f64 re))) -2)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im (*.f64 -2 (cos.f64 re))) 1/2)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 (neg.f64 (cos.f64 re)) 2) (+.f64 im im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im -4))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (cos.f64 re) 1/4) (/.f64 (cos.f64 re) (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 -2 (cos.f64 re)) (*.f64 im 1/2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 -2 (cos.f64 re)) (/.f64 1/2 (/.f64 1 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (/.f64 (cos.f64 re) (*.f64 im -4))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 im -2) (*.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 im (/.f64 4 (cos.f64 re))) -4)
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 1 (/.f64 4 (cos.f64 re))) (*.f64 im -4))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/4 (*.f64 (cos.f64 re) (*.f64 im -4)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 im 1/2) (/.f64 -4 (/.f64 2 (cos.f64 re))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (+.f64 (neg.f64 im) (neg.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 10 computations (23.1% saved)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series7.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite87.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1456×bool.json-1
1456×bool.json-2
1390×rational.json-1
1390×rational.json-2
1390×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
111034
229834
363634
4132434
5296234
6598334
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) -1/5040)
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/5040) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) -1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) -1/10080) (*.f64 (cos.f64 re) -1/10080))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) -1/5040) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/5040) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) -1/5040)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) -1/5040) (*.f64 (cos.f64 re) -1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) -1/5040) (*.f64 (cos.f64 re) -1/5040))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))))

simplify353.0ms (1.7%)

Algorithm
egg-herbie
Rules
3042×rational.json-simplify-2
2040×rational.json-simplify-35
1548×rational.json-simplify-1
1280×rational.json-simplify-53
1024×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0881232
11931232
23711196
38201172
421331172
535561172
645511172
747661172
849671172
951831172
1066751172
1173631172
1277911172
1378991172
1479071172
1579101172
Stop Event
node limit
Counts
56 → 52
Calls
Call 1
Inputs
-1/5040
(-.f64 (*.f64 1/10080 (pow.f64 re 2)) 1/5040)
(-.f64 (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (*.f64 1/10080 (pow.f64 re 2))) 1/5040)
(-.f64 (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (+.f64 (*.f64 1/10080 (pow.f64 re 2)) (*.f64 1/3628800 (pow.f64 re 6)))) 1/5040)
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 (cos.f64 re) -1/5040) 0)
(+.f64 0 (*.f64 (cos.f64 re) -1/5040))
(+.f64 (*.f64 (cos.f64 re) -1/10080) (*.f64 (cos.f64 re) -1/10080))
(-.f64 (*.f64 (cos.f64 re) -1/5040) 0)
(/.f64 (*.f64 (cos.f64 re) -1/5040) 1)
(/.f64 (*.f64 (cos.f64 re) -1/2520) 2)
(/.f64 (*.f64 (cos.f64 re) -1/1260) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4))) 32)
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260)))) 32)
Outputs
-1/5040
(-.f64 (*.f64 1/10080 (pow.f64 re 2)) 1/5040)
(-.f64 (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (*.f64 1/10080 (pow.f64 re 2))) 1/5040)
(-.f64 (+.f64 (*.f64 1/10080 (pow.f64 re 2)) (*.f64 -1/120960 (pow.f64 re 4))) 1/5040)
(+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (-.f64 (*.f64 1/10080 (pow.f64 re 2)) 1/5040))
(+.f64 (-.f64 (*.f64 1/10080 (pow.f64 re 2)) 1/5040) (*.f64 -1/120960 (pow.f64 re 4)))
(+.f64 (*.f64 1/10080 (pow.f64 re 2)) (-.f64 (*.f64 -1/120960 (pow.f64 re 4)) 1/5040))
(-.f64 (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (+.f64 (*.f64 1/10080 (pow.f64 re 2)) (*.f64 1/3628800 (pow.f64 re 6)))) 1/5040)
(+.f64 (+.f64 (*.f64 1/10080 (pow.f64 re 2)) (*.f64 1/3628800 (pow.f64 re 6))) (-.f64 (*.f64 -1/120960 (pow.f64 re 4)) 1/5040))
(+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (-.f64 (+.f64 (*.f64 1/10080 (pow.f64 re 2)) (*.f64 1/3628800 (pow.f64 re 6))) 1/5040))
(+.f64 (-.f64 (*.f64 1/10080 (pow.f64 re 2)) 1/5040) (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (*.f64 1/3628800 (pow.f64 re 6))))
(+.f64 (*.f64 1/10080 (pow.f64 re 2)) (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (-.f64 (*.f64 1/3628800 (pow.f64 re 6)) 1/5040)))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (cos.f64 re))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))))
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7)))))
(+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7)))) (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 -1/120960 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 7) (+.f64 -1/5040 (+.f64 (*.f64 1/10080 (pow.f64 re 2)) (*.f64 -1/120960 (pow.f64 re 4)))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7)))) (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7)))))
(+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7))))))
(+.f64 (*.f64 -1/120960 (*.f64 (pow.f64 re 4) (pow.f64 im 7))) (+.f64 (*.f64 1/3628800 (*.f64 (pow.f64 re 6) (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 1/10080 (pow.f64 re 2))))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 1/3628800 (pow.f64 re 6)) (+.f64 -1/5040 (*.f64 -1/120960 (pow.f64 re 4))))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 re 2) (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (+.f64 (*.f64 -1/120960 (pow.f64 re 4)) (*.f64 1/3628800 (pow.f64 re 6))))))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) -1/5040) 0)
(*.f64 -1/5040 (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) -1/5040))
(*.f64 -1/5040 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -1/10080) (*.f64 (cos.f64 re) -1/10080))
(*.f64 -1/5040 (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) -1/5040) 0)
(*.f64 -1/5040 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -1/5040) 1)
(*.f64 -1/5040 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -1/2520) 2)
(*.f64 -1/5040 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -1/1260) 4)
(*.f64 -1/5040 (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4) 8)
(*.f64 -1/5040 (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4)) 16)
(*.f64 -1/5040 (cos.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) -1/2520) 4))) 32)
(*.f64 -1/5040 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260) 4)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260)) 8)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260))) 16)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 7)) -1/1260)))) 32)
(*.f64 (cos.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))

localize91.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 47 to 34 computations (27.7% saved)

series1.0ms (0%)

Counts
2 → 12
Calls

6 calls:

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

rewrite86.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1524×rational.json-simplify-35
1458×bool.json-1
1458×bool.json-2
1388×rational.json-1
1388×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01036
110136
226636
354436
4116836
5266036
6555136
Stop Event
node limit
Counts
2 → 34
Calls
Call 1
Inputs
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5)))
Outputs
((#(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 (*.f64 -1/120 (pow.f64 im 5)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.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 (+.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 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))))))

simplify851.0ms (4.1%)

Algorithm
egg-herbie
Rules
4044×rational.json-simplify-35
3074×rational.json-simplify-51
2722×rational.json-simplify-2
1326×rational.json-simplify-1
356×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
085926
1169926
2417926
31175926
42315926
52927926
63145926
73305926
83483926
93627926
103746926
113863926
123966926
134059926
144147926
154147926
166401926
176508926
186603926
196689926
206776926
216861926
226950926
237034926
247118926
257202926
267286926
277370926
287454926
297538926
307622926
317622926
Stop Event
node limit
Counts
46 → 39
Calls
Call 1
Inputs
(*.f64 -1 im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.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 (*.f64 -1/120 (pow.f64 im 5)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8)))) 64)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 0)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 1 im)) 1)
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1)
(*.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1/2))
(*.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 4)
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))) 64)
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8)) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8))) 32)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) 8)))) 64)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1/2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 5) -1/240)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 im -1/2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2) 1/2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 1/4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1/2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8) 8)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)) 16)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) 32)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im)) 8)))) 64)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))

localize52.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 83 to 65 computations (21.7% saved)

series1.0ms (0%)

Counts
2 → 12
Calls

6 calls:

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

rewrite88.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1534×bool.json-1
1534×bool.json-2
1460×rational.json-1
1460×rational.json-2
1460×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
115344
234844
365444
4134044
5290544
6590844
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/5040 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/5040 (pow.f64 im 7))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/5040 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/5040 (pow.f64 im 7)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 5) -1/240)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (pow.f64 im 5) -1/60)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))))))

simplify545.0ms (2.7%)

Algorithm
egg-herbie
Rules
3506×rational.json-simplify-51
2464×rational.json-simplify-35
1890×rational.json-simplify-1
1386×rational.json-simplify-49
1168×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0861111
11591111
23661111
38671111
415001111
527741111
629011111
730071111
830811111
931471111
1032121111
1138781111
1239601111
1340421111
1441081111
1541711111
1642341111
1742971111
1843601111
1953281111
2077291111
2178541111
2279101111
2379101111
2479101111
2579651111
Stop Event
node limit
Counts
43 → 35
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)
(+.f64 0 (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(-.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)
(/.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 0)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1/2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 5) -1/240)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (pow.f64 im 5) -1/60)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8))) 32)
Outputs
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 0 (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(*.f64 -1/5040 (pow.f64 im 7))
(-.f64 (*.f64 -1/5040 (pow.f64 im 7)) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 -1/5040 (pow.f64 im 7)) 1)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(*.f64 -1/5040 (pow.f64 im 7))
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1/2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 5) -1/240)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (pow.f64 im 5) -1/60)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8) 8)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8)) 16)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) 8))) 32)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))

eval101.0ms (0.5%)

Compiler

Compiled 4592 to 3431 computations (25.3% saved)

prune55.0ms (0.3%)

Pruning

18 alts after pruning (9 fresh and 9 done)

PrunedKeptTotal
New2796285
Fresh033
Picked011
Done2810
Total28118299
Error
0.0b
Counts
299 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
57.3b
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (cos.f64 re)))
58.5b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im)))
1.8b
(/.f64 (*.f64 -2 im) (/.f64 2 (cos.f64 re)))
1.9b
(/.f64 (*.f64 -2 im) (*.f64 (/.f64 (/.f64 4 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (/.f64 1 (/.f64 4 (cos.f64 re)))))
1.9b
(/.f64 (*.f64 -2 im) (*.f64 (/.f64 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (cos.f64 re)))) (*.f64 (cos.f64 re) 2)))
31.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
31.0b
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5))))
31.0b
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 -1/5040 (pow.f64 im 7))))
60.2b
(*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))
60.4b
(*.f64 (pow.f64 im 7) -1/5040)
59.9b
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
1.3b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
2.0b
(*.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/4)) (/.f64 1 (/.f64 (cos.f64 re) (*.f64 im -4))))
57.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.8b
(*.f64 (neg.f64 im) (cos.f64 re))
1.9b
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 -2 im)))
58.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
31.7b
(neg.f64 im)
Compiler

Compiled 226 to 173 computations (23.5% saved)

regimes70.0ms (0.3%)

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

6 calls:

15.0ms
im
14.0ms
re
12.0ms
(*.f64 1/2 (cos.f64 re))
12.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.0b1re
1.0b1im
1.0b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.0b1(*.f64 1/2 (cos.f64 re))
1.0b1(cos.f64 re)
1.0b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 392 to 253 computations (35.5% saved)

regimes68.0ms (0.3%)

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

6 calls:

15.0ms
re
13.0ms
im
13.0ms
(*.f64 1/2 (cos.f64 re))
12.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.1b1re
1.1b1im
1.1b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.1b1(*.f64 1/2 (cos.f64 re))
1.1b1(cos.f64 re)
1.1b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 366 to 233 computations (36.3% saved)

regimes62.0ms (0.3%)

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

6 calls:

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

Compiled 268 to 164 computations (38.8% saved)

regimes29.0ms (0.1%)

Accuracy

Total -58.9b remaining (-3317.9%)

Threshold costs -58.9b (-3317.9%)

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

4 calls:

8.0ms
re
7.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
im
5.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.8b1re
1.8b1im
1.8b1(*.f64 1/2 (cos.f64 re))
1.8b1(cos.f64 re)
Compiler

Compiled 92 to 62 computations (32.6% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038177
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (neg.f64 im) (cos.f64 re))
(neg.f64 im)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (neg.f64 im) (cos.f64 re))
(neg.f64 im)
Compiler

Compiled 70 to 55 computations (21.4% saved)

soundness698.0ms (3.4%)

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
01542364
13272292
27852200
319532166
441622166
552132166
675042166
Stop Event
node limit
node limit
Compiler

Compiled 105 to 80 computations (23.8% saved)

end46.0ms (0.2%)

Compiler

Compiled 62 to 42 computations (32.3% saved)

Profiling

Loading profile data...