Details

Time bar (total: 17.6s)

analyze138.0ms (0.8%)

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)

sample10.0s (56.7%)

Results
6.6s5026×body1024valid
1.3s2021×body1024infinite
1.0s1752×body512valid
376.0ms1008×body512infinite
332.0ms469×body2048valid
203.0ms1442×body256infinite
190.0ms1009×body256valid
Bogosity

preprocess90.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 16 to 13 computations (18.8% saved)

simplify515.0ms (2.9%)

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
58.6b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
58.6b
(*.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)

localize16.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.2b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0%)

Counts
2 → 32
Calls

9 calls:

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

rewrite72.0ms (0.4%)

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

simplify136.0ms (0.8%)

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

eval25.0ms (0.1%)

Compiler

Compiled 1669 to 835 computations (50% saved)

prune16.0ms (0.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New87592
Fresh000
Picked101
Done000
Total88593
Error
0.1b
Counts
93 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 (*.f64 1/2 (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))))))
0.5b
(*.f64 (neg.f64 im) (cos.f64 re))
0.1b
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
0.2b
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
59.4b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 154 to 122 computations (20.8% saved)

localize44.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 118 to 91 computations (22.9% saved)

series48.0ms (0.3%)

Counts
4 → 24
Calls

15 calls:

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

rewrite118.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1672×bool.json-1
1672×bool.json-2
1592×rational.json-1
1592×rational.json-2
1098×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026116
1254116
2590116
31209116
42782116
56229116
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 -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/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 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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)))))))

simplify334.0ms (1.9%)

Algorithm
egg-herbie
Rules
2534×rational.json-simplify-35
2078×rational.json-simplify-2
1606×rational.json-simplify-1
1262×rational.json-simplify-42
816×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01313060
13033048
26122730
312422568
429422568
541462568
645442568
749822568
853212568
957102568
1060852568
1165402568
1267202568
1367872568
1468572568
1571442568
Stop Event
node limit
Counts
56 → 92
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 0)
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5)))))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 4))) (*.f64 -1/1440 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 6))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 4) 1/48)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 -1/1440 (pow.f64 re 6))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.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 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 im -1))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (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 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (neg.f64 (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.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 (neg.f64 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 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 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 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))
(*.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 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.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 (*.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 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.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 (neg.f64 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 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 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 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))
(*.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 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.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 (*.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 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.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 (neg.f64 (*.f64 im (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 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 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 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))
(+.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 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5)))))) 2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2))) 8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 im -2) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (cos.f64 re) 2)))) 16)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (cos.f64 re)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 1/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)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite78.0ms (0.4%)

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

simplify255.0ms (1.5%)

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

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series4.0ms (0%)

Counts
2 → 36
Calls

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

rewrite90.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
01346
113146
233946
369946
4153046
5352046
6667146
Stop Event
node limit
Counts
2 → 20
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)))
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))))))))

simplify322.0ms (1.8%)

Algorithm
egg-herbie
Rules
2396×rational.json-simplify-2
1908×rational.json-simplify-35
1570×rational.json-simplify-1
1358×rational.json-simplify-42
976×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0901458
12091458
24351458
310111410
429471410
541541410
644541410
747221410
849661410
952801410
1067141410
1170331410
1273271410
1373781410
1476161410
1576661410
Stop Event
node limit
Counts
56 → 49
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 (*.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)
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/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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/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 (pow.f64 re 4) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/24))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24))) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.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)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/24)) (*.f64 (pow.f64 re 6) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/720)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im))
(-.f64 (+.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)) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (-.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 (pow.f64 re 6) (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.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 (pow.f64 re 6) (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) im)))
(*.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 -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 -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 (*.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))

localize26.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 67 to 46 computations (31.3% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite102.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1960×bool.json-1
1960×bool.json-2
1302×rational.json-simplify-35
1174×rational.json-1
1174×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01864
118064
244564
391064
4208164
5458464
6751264
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (pow.f64 im 5) -1/120)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.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 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 5) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))))))

simplify329.0ms (1.9%)

Algorithm
egg-herbie
Rules
2102×rational.json-simplify-2
2088×rational.json-simplify-53
1810×rational.json-simplify-35
1332×rational.json-simplify-1
1260×rational.json-simplify-42
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01022128
12442128
24982014
311521972
425551968
537791968
640801968
743331968
845581968
948741968
1053871968
1171161968
1274051968
1374371968
1474621968
1574931968
Stop Event
node limit
Counts
56 → 61
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 0)
(+.f64 0 (*.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 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4))))) 32)
(+.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(+.f64 0 (*.f64 (pow.f64 im 5) -1/120))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(-.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
Outputs
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 2) -1/2))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 4) 1/24)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (pow.f64 re 4) (*.f64 1/24 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 4) 1/24))) (*.f64 -1/120 (pow.f64 im 5)))) (-.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 6) -1/720)) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (pow.f64 re 4) (*.f64 1/24 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))) (*.f64 -1/120 (pow.f64 im 5)))) (-.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (*.f64 -1/120 (pow.f64 im 5)))) (-.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 0)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 0 (*.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 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 0)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 1)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 2)) 2)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4))) 8)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)))) 16)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) 4))))) 32)
(*.f64 (-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 (pow.f64 im 5) -1/120))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(*.f64 -1/120 (pow.f64 im 5))

eval435.0ms (2.5%)

Compiler

Compiled 6811 to 4925 computations (27.7% saved)

prune81.0ms (0.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2867293
Fresh000
Picked101
Done224
Total2899298
Error
0.1b
Counts
298 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
27.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
30.7b
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
58.9b
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
0.1b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.2b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.5b
(*.f64 (neg.f64 im) (cos.f64 re))
59.4b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.1b
(*.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))))))
27.3b
(neg.f64 im)
Compiler

Compiled 211 to 167 computations (20.9% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 66 to 49 computations (25.8% saved)

series2.0ms (0%)

Counts
4 → 19
Calls

15 calls:

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

rewrite149.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1360×bool.json-1
1360×bool.json-2
1304×rational.json-1
1304×rational.json-2
1304×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017104
1166104
2407104
3846104
41873104
54407104
Stop Event
node limit
Counts
4 → 47
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.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 -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)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)))) (#(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/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))))))

simplify273.0ms (1.6%)

Algorithm
egg-herbie
Rules
2568×rational.json-simplify-2
2386×rational.json-simplify-53
1844×rational.json-simplify-35
1256×rational.json-simplify-1
874×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01432712
13222676
27422334
318142132
432372132
542552132
645552132
747892132
850332132
953712132
1067262132
Stop Event
node limit
Counts
66 → 84
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(/.f64 (+.f64 (*.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 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))))) 32)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 0)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(*.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)))) 32)
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) im)))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24)))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4))))) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(+.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (pow.f64 re 4) 1/24))))) (-.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) im))
(+.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 1/24 (pow.f64 re 4)))))) (-.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.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 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 1/2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (cos.f64 re)) 1)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 2)) 2)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)) 4)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))) 8)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) 16)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)) (*.f64 (cos.f64 re) 4))))) 32)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 1/2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 1/4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1/2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)) 8)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) 16)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))) 4)))) 32)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))

localize2.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 20 to 15 computations (25% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 12 computations (53.8% saved)

series15.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite87.0ms (0.5%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01134
111634
231928
364126
4133026
5298826
6598526
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
(*.f64 im (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 -1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 im (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (*.f64 im (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 (neg.f64 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8)) (*.f64 2 (*.f64 (neg.f64 (*.f64 im (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 (neg.f64 (*.f64 im (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (*.f64 im (cos.f64 re))) (neg.f64 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (*.f64 im (cos.f64 re))) (neg.f64 (*.f64 im (cos.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 -1 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 im (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 im (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (*.f64 im (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (cos.f64 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (cos.f64 re)) (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (cos.f64 re)) (*.f64 im (cos.f64 re)))))))

simplify128.0ms (0.7%)

Algorithm
egg-herbie
Rules
1358×rational.json-simplify-2
1124×rational.json-simplify-52
1028×rational.json-simplify-1
1014×rational.json-simplify-42
886×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01091406
12361398
26671386
319701362
439171362
560781362
676321362
Stop Event
node limit
Counts
90 → 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 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
im
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) im)) im)))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(-.f64 -1 (+.f64 -1 (*.f64 im (cos.f64 re))))
(-.f64 1 (+.f64 1 (*.f64 im (cos.f64 re))))
(-.f64 (-.f64 1 (*.f64 im (cos.f64 re))) 1)
(-.f64 (neg.f64 (*.f64 im (cos.f64 re))) 0)
(-.f64 0 (*.f64 im (cos.f64 re)))
(*.f64 -1 (*.f64 im (cos.f64 re)))
(*.f64 1 (neg.f64 (*.f64 im (cos.f64 re))))
(*.f64 (*.f64 im (cos.f64 re)) -1)
(*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1/2))
(*.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2) 1/2)
(*.f64 4 (/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4))
(*.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 1/4)
(*.f64 1/2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2))
(*.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1/2) 2)
(*.f64 1/4 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4))
(*.f64 (/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 4)
(/.f64 (*.f64 im (cos.f64 re)) -1)
(/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(/.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2) 2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
(/.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 4)
(/.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8)) (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8))) 32)
(neg.f64 (*.f64 im (cos.f64 re)))
(+.f64 -1 (+.f64 1 (*.f64 im (cos.f64 re))))
(+.f64 1 (+.f64 -1 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 im (cos.f64 re)) 0)
(+.f64 0 (*.f64 im (cos.f64 re)))
(+.f64 (+.f64 -1 (*.f64 im (cos.f64 re))) 1)
(+.f64 (+.f64 1 (*.f64 im (cos.f64 re))) -1)
(+.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(-.f64 (*.f64 im (cos.f64 re)) 0)
(-.f64 (+.f64 -1 (*.f64 im (cos.f64 re))) -1)
(-.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)
(/.f64 (*.f64 im (cos.f64 re)) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 2)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 im (cos.f64 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8))) 32)
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 (pow.f64 re 4) (*.f64 im -1/24))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (+.f64 (*.f64 im (*.f64 -1/24 (pow.f64 re 4))) (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 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/24)) (+.f64 (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 im (pow.f64 re 2)))) (*.f64 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4)))) (*.f64 (pow.f64 re 6) (*.f64 im 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 (pow.f64 re 6) (*.f64 im 1/720))))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (*.f64 1/720 (pow.f64 re 6)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4))))))
(*.f64 -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 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
im
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 (pow.f64 re 2) (*.f64 im -1/2)))
(+.f64 im (*.f64 im (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) im))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (+.f64 im (*.f64 (pow.f64 re 4) (*.f64 im 1/24))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (*.f64 im (*.f64 (pow.f64 re 2) -1/2))))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (pow.f64 re 4) (*.f64 im 1/24))))
(+.f64 im (*.f64 im (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 2) -1/2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) im)) im)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (+.f64 im (*.f64 (pow.f64 re 6) (*.f64 im -1/720)))))
(+.f64 (+.f64 im (*.f64 im (*.f64 -1/720 (pow.f64 re 6)))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (*.f64 im (*.f64 (pow.f64 re 2) -1/2))))
(+.f64 im (+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (pow.f64 re 4) (*.f64 im 1/24))) (*.f64 im (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im 1/24)) (+.f64 im (*.f64 im (+.f64 (*.f64 (pow.f64 re 2) -1/2) (*.f64 (pow.f64 re 6) -1/720)))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im -1/2)) (*.f64 im (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 6) -1/720)))))
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(*.f64 (cos.f64 re) im)
(-.f64 -1 (+.f64 -1 (*.f64 im (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 1 (*.f64 im (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (neg.f64 (*.f64 im (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 -1 (*.f64 im (cos.f64 re)))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1 (neg.f64 (*.f64 im (cos.f64 re))))
(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 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1/2))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2) 1/2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 4 (/.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 1/4)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 1/2) 2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 1/4 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (/.f64 (neg.f64 (*.f64 im (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 (neg.f64 (*.f64 im (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 2) 2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) -2)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 4) 4)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8) 8)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8)) 16)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 im (cos.f64 re))) 8)) (*.f64 2 (*.f64 (neg.f64 (*.f64 im (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))
(+.f64 -1 (+.f64 1 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) im)
(+.f64 1 (+.f64 -1 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) im)
(+.f64 (*.f64 im (cos.f64 re)) 0)
(*.f64 (cos.f64 re) im)
(+.f64 0 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) im)
(+.f64 (+.f64 -1 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) im)
(+.f64 (+.f64 1 (*.f64 im (cos.f64 re))) -1)
(*.f64 (cos.f64 re) im)
(+.f64 (*.f64 im (*.f64 (cos.f64 re) 1/2)) (*.f64 im (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) im)
(-.f64 (*.f64 im (cos.f64 re)) 0)
(*.f64 (cos.f64 re) im)
(-.f64 (+.f64 -1 (*.f64 im (cos.f64 re))) -1)
(*.f64 (cos.f64 re) im)
(-.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 im (cos.f64 re)) 1)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 (cos.f64 re) (+.f64 im im)) 2)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 im (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 (*.f64 im (cos.f64 re)) 8) 8)
(*.f64 (cos.f64 re) im)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8)) 16)
(*.f64 (cos.f64 re) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 im (cos.f64 re)) 8))) 32)
(*.f64 (cos.f64 re) im)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series1.0ms (0%)

Counts
1 → 24
Calls

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

rewrite85.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
01229
111729
230129
363129
4134229
5299629
6601429
Stop Event
node limit
Counts
1 → 10
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (*.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)))))))

simplify325.0ms (1.9%)

Algorithm
egg-herbie
Rules
2360×rational.json-simplify-2
1846×rational.json-simplify-35
1338×rational.json-simplify-1
1236×rational.json-simplify-42
1076×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0681318
11501298
22951208
36561160
421841160
535861160
644531160
747021160
849161160
952191160
1057361160
1163971160
1267951160
1370711160
1473261160
1574131160
Stop Event
node limit
Counts
34 → 40
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 (*.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)
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
(*.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 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
(*.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 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 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/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2)))) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.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 -1/2 (pow.f64 re 2))) im))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4)))) (-.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) im))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4)))) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/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 -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)))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) im) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.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 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))) 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 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(*.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 (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 (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 (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 (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 (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 (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 (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 (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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

eval94.0ms (0.5%)

Compiler

Compiled 4259 to 3067 computations (28% saved)

prune38.0ms (0.2%)

Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New2221223
Fresh022
Picked011
Done066
Total22210232
Error
0.1b
Counts
232 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
27.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
30.7b
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
58.9b
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
59.6b
(+.f64 -1 (-.f64 1 im))
0.1b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.2b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.5b
(*.f64 (neg.f64 im) (cos.f64 re))
59.4b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.1b
(*.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))))))
27.3b
(neg.f64 im)
Compiler

Compiled 121 to 96 computations (20.7% saved)

localize44.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
0.0b
(*.f64 -1/2520 (pow.f64 im 7))
0.0b
(*.f64 -1/60 (pow.f64 im 5))
0.1b
(*.f64 -1/3 (pow.f64 im 3))
Compiler

Compiled 108 to 87 computations (19.4% saved)

series0.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite109.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1908×bool.json-1
1384×rational.json-simplify-35
1280×bool.json-2
1220×rational.json-1
1220×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
111631
227831
353831
4110331
5238631
6486931
7774231
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 5) -1/30)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))

simplify947.0ms (5.4%)

Algorithm
egg-herbie
Rules
5848×rational.json-simplify-51
1954×rational.json-simplify-35
1688×rational.json-simplify-2
1134×rational.json-simplify-1
1080×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060665
1115665
2279665
3696665
41086665
52392665
63157665
73205665
83235665
93261665
103287665
113313665
123362665
133388665
143414665
153440665
163466665
173492665
183518665
194311665
204695665
214727665
224757665
234786665
244815665
254844665
264873665
274902665
284931665
294960665
304989665
315018665
325047665
335076665
345105665
355134665
365163665
375192665
385221665
395250665
405250665
Stop Event
node limit
Counts
23 → 23
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 0)
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1)
(*.f64 1 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1/2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 5) -1/30)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 4)
(/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8)))) 64)
Outputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 0)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 1 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1/2))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2) 1/2)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 1/4)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 5) -1/30)))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1/2) 2)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 4)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 2) 2)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 4) 4)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8) 8)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8)) 16)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8))) 32)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) 8)))) 64)
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.3b
(+.f64 -1 (-.f64 1 im))
Compiler

Compiled 13 to 10 computations (23.1% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite99.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1826×bool.json-1
1826×bool.json-2
1214×rational.json-simplify-35
1110×bool.json-3
1104×rational.json-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0713
17813
22367
34645
49095
519825
642425
770865
Stop Event
node limit
Counts
1 → 43
Calls
Call 1
Inputs
(+.f64 -1 (-.f64 1 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 -1 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 im -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 im)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (+.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 im -2) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 im -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 im -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im im) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im 8)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im 8))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 im 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8))) (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (+.f64 im im)) (neg.f64 (+.f64 im im))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 im 4)) (neg.f64 (*.f64 im 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 im 8)) (neg.f64 (*.f64 im 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 im 8))) (neg.f64 (*.f64 2 (*.f64 im 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 im)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 im) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 im) (neg.f64 im))))))

simplify267.0ms (1.5%)

Algorithm
egg-herbie
Rules
2138×rational.json-simplify-2
2066×rational.json-simplify-1
1916×rational.json-simplify-35
1392×rational.json-simplify-48
1072×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
091299
1200299
2446299
31386299
43222299
54163299
64573299
75149299
86558299
96967299
107247299
117752299
127914299
Stop Event
node limit
Counts
55 → 43
Calls
Call 1
Inputs
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(*.f64 -1 im)
(-.f64 -1 (+.f64 -1 im))
(-.f64 1 (-.f64 im -1))
(-.f64 (-.f64 1 im) 1)
(-.f64 (neg.f64 im) 0)
(-.f64 0 im)
(-.f64 -2 (+.f64 im -2))
(-.f64 (/.f64 im -2) (*.f64 im 1/2))
(*.f64 -1 im)
(*.f64 1 (neg.f64 im))
(*.f64 im -1)
(*.f64 (neg.f64 im) 1)
(*.f64 2 (/.f64 im -2))
(*.f64 4 (/.f64 im -4))
(*.f64 4 (*.f64 (/.f64 im -4) 1))
(*.f64 4 (*.f64 (/.f64 im -2) 1/2))
(*.f64 (*.f64 im -2) 1/2)
(*.f64 (*.f64 im -4) 1/4)
(*.f64 1/2 (*.f64 im -2))
(*.f64 (/.f64 im -2) 2)
(*.f64 1/4 (*.f64 im -4))
(*.f64 (/.f64 im -4) 4)
(/.f64 im -1)
(/.f64 (neg.f64 im) 1)
(/.f64 (+.f64 im im) -2)
(/.f64 (*.f64 im -2) 2)
(/.f64 (*.f64 im 4) -4)
(/.f64 (*.f64 im -4) 4)
(/.f64 (*.f64 (neg.f64 im) 8) 8)
(/.f64 (*.f64 im 8) -8)
(/.f64 (*.f64 2 (*.f64 (neg.f64 im) 8)) 16)
(/.f64 (*.f64 2 (*.f64 im 8)) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im 8))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8))) 32)
(/.f64 (neg.f64 (+.f64 im im)) 2)
(/.f64 (neg.f64 (*.f64 im 4)) 4)
(/.f64 (neg.f64 (*.f64 im 8)) 8)
(/.f64 (neg.f64 (*.f64 2 (*.f64 im 8))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8))) (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8)))) 64)
(/.f64 (+.f64 (neg.f64 (+.f64 im im)) (neg.f64 (+.f64 im im))) 4)
(/.f64 (+.f64 (neg.f64 (*.f64 im 4)) (neg.f64 (*.f64 im 4))) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 im 8)) (neg.f64 (*.f64 im 8))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 im 8))) (neg.f64 (*.f64 2 (*.f64 im 8)))) 32)
(neg.f64 im)
Outputs
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(-.f64 -1 (+.f64 -1 im))
(-.f64 1 (-.f64 im -1))
(-.f64 -1 (+.f64 -1 im))
(-.f64 (-.f64 1 im) 1)
(neg.f64 im)
(-.f64 (neg.f64 im) 0)
(neg.f64 im)
(-.f64 0 im)
(neg.f64 im)
(-.f64 -2 (+.f64 im -2))
(-.f64 (/.f64 im -2) (*.f64 im 1/2))
(neg.f64 im)
(*.f64 -1 im)
(neg.f64 im)
(*.f64 1 (neg.f64 im))
(neg.f64 im)
(*.f64 im -1)
(neg.f64 im)
(*.f64 (neg.f64 im) 1)
(neg.f64 im)
(*.f64 2 (/.f64 im -2))
(neg.f64 im)
(*.f64 4 (/.f64 im -4))
(neg.f64 im)
(*.f64 4 (*.f64 (/.f64 im -4) 1))
(neg.f64 im)
(*.f64 4 (*.f64 (/.f64 im -2) 1/2))
(neg.f64 im)
(*.f64 (*.f64 im -2) 1/2)
(neg.f64 im)
(*.f64 (*.f64 im -4) 1/4)
(neg.f64 im)
(*.f64 1/2 (*.f64 im -2))
(neg.f64 im)
(*.f64 (/.f64 im -2) 2)
(neg.f64 im)
(*.f64 1/4 (*.f64 im -4))
(neg.f64 im)
(*.f64 (/.f64 im -4) 4)
(neg.f64 im)
(/.f64 im -1)
(neg.f64 im)
(/.f64 (neg.f64 im) 1)
(neg.f64 im)
(/.f64 (+.f64 im im) -2)
(neg.f64 im)
(/.f64 (*.f64 im -2) 2)
(neg.f64 im)
(/.f64 (*.f64 im 4) -4)
(neg.f64 im)
(/.f64 (*.f64 im -4) 4)
(neg.f64 im)
(/.f64 (*.f64 (neg.f64 im) 8) 8)
(neg.f64 im)
(/.f64 (*.f64 im 8) -8)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 (neg.f64 im) 8)) 16)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 im 8)) -16)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im 8))) -32)
(neg.f64 im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8))) 32)
(neg.f64 im)
(/.f64 (neg.f64 (+.f64 im im)) 2)
(neg.f64 im)
(/.f64 (neg.f64 (*.f64 im 4)) 4)
(neg.f64 im)
(/.f64 (neg.f64 (*.f64 im 8)) 8)
(neg.f64 im)
(/.f64 (neg.f64 (*.f64 2 (*.f64 im 8))) 16)
(neg.f64 im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8))) (*.f64 2 (*.f64 2 (*.f64 (neg.f64 im) 8)))) 64)
(neg.f64 im)
(/.f64 (+.f64 (neg.f64 (+.f64 im im)) (neg.f64 (+.f64 im im))) 4)
(neg.f64 im)
(/.f64 (+.f64 (neg.f64 (*.f64 im 4)) (neg.f64 (*.f64 im 4))) 8)
(neg.f64 im)
(/.f64 (+.f64 (neg.f64 (*.f64 im 8)) (neg.f64 (*.f64 im 8))) 16)
(neg.f64 im)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 im 8))) (neg.f64 (*.f64 2 (*.f64 im 8)))) 32)
(neg.f64 im)
(neg.f64 im)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 im -1/24)
3.6b
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
7.2b
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
8.3b
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
Compiler

Compiled 63 to 48 computations (23.8% saved)

series7.0ms (0%)

Counts
4 → 84
Calls

21 calls:

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

rewrite106.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1812×bool.json-1
1812×bool.json-2
1152×rational.json-simplify-2
1094×rational.json-1
1094×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017100
117094
241894
380794
4163194
5373594
6717294
Stop Event
node limit
Counts
4 → 55
Calls
Call 1
Inputs
(*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 im -1/24)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 (pow.f64 re 2) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 1/2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (/.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (*.f64 2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) 2) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/48)) (*.f64 (pow.f64 re 4) (*.f64 im -1/48)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im (*.f64 (pow.f64 re 4) -1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im -1/24) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im -1/24))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im -1/48) (*.f64 im -1/48))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im -1/24) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -1/24) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -1/12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -1/6) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im -1/6)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im -1/6))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im -1/6))) (*.f64 2 (*.f64 2 (*.f64 im -1/6)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im -1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im -1/24) (*.f64 im -1/24))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im -1/24) (*.f64 im -1/24))))))

simplify340.0ms (1.9%)

Algorithm
egg-herbie
Rules
3114×rational.json-simplify-2
1746×rational.json-simplify-35
1466×rational.json-simplify-1
1398×rational.json-simplify-53
1276×rational.json-simplify-51
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01393853
13093689
27133641
319893641
444183625
551463625
654273625
756843625
858983625
960793625
1073843625
1178813625
1279653625
Stop Event
node limit
Counts
139 → 86
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 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/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(*.f64 -1/24 im)
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 0)
(+.f64 0 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(-.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 0)
(/.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 1)
(/.f64 (*.f64 im (+.f64 (pow.f64 re 2) -2)) 2)
(/.f64 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))) 4)
(/.f64 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2)))))) 32)
(-.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 0)
(*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))
(*.f64 1/2 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))
(*.f64 2 (*.f64 1/2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))
(*.f64 4 (/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 4))
(*.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 1)
(*.f64 1 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))
(*.f64 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 1/2)
(*.f64 (+.f64 im im) (*.f64 1/2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))
(*.f64 (+.f64 im im) (/.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) 2))
(*.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) im)
(*.f64 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 1/4)
(*.f64 (*.f64 2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (*.f64 im 1/2))
(*.f64 (*.f64 im 1/2) (*.f64 2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))
(*.f64 1/4 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))
(*.f64 (*.f64 1/2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 2)
(*.f64 (*.f64 1/2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (+.f64 im im))
(*.f64 (/.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) 2) (+.f64 im im))
(*.f64 (/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 4) 4)
(/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 1)
(/.f64 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 2)
(/.f64 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 4)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) 32)
(+.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 0)
(+.f64 0 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/48)) (*.f64 (pow.f64 re 4) (*.f64 im -1/48)))
(-.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 0)
(/.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 1)
(/.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/12)) 2)
(/.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6))))) 32)
(+.f64 (*.f64 im -1/24) 0)
(+.f64 0 (*.f64 im -1/24))
(+.f64 (*.f64 im -1/48) (*.f64 im -1/48))
(-.f64 (*.f64 im -1/24) 0)
(/.f64 (*.f64 im -1/24) 1)
(/.f64 (*.f64 im -1/12) 2)
(/.f64 (*.f64 im -1/6) 4)
(/.f64 (*.f64 2 (*.f64 im -1/6)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im -1/6))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im -1/6))) (*.f64 2 (*.f64 2 (*.f64 im -1/6)))) 32)
Outputs
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1) im)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))) 1) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) -1)) (*.f64 im -1))
(*.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1)))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (-.f64 1 (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) -1)) (*.f64 im -1))
(*.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1)))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (-.f64 1 (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) -1)) (*.f64 im -1))
(*.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1)))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (-.f64 1 (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1 (-.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) im))
(*.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) -1)) (*.f64 im -1))
(*.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (neg.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1)))))
(*.f64 im (neg.f64 (+.f64 (*.f64 (pow.f64 re 4) 1/24) (-.f64 1 (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) 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 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) (*.f64 -1/24 (*.f64 im (pow.f64 re 4))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) (*.f64 im (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) (*.f64 -1/24 (*.f64 im (pow.f64 re 4))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1 im) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 (*.f64 (pow.f64 re 4) im))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(*.f64 -1/24 im)
(*.f64 im -1/24)
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 0)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 0 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 2) -2) 4) (+.f64 im im))
(*.f64 (+.f64 (pow.f64 re 2) -2) (/.f64 im 2))
(*.f64 (+.f64 (pow.f64 re 2) -2) (*.f64 1/2 im))
(-.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 0)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(/.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) 1)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) im)
(/.f64 (*.f64 im (+.f64 (pow.f64 re 2) -2)) 2)
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 2) -2) 4) (+.f64 im im))
(*.f64 (+.f64 (pow.f64 re 2) -2) (/.f64 im 2))
(*.f64 (+.f64 (pow.f64 re 2) -2) (*.f64 1/2 im))
(/.f64 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))) 4)
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 2) -2) 4) (+.f64 im im))
(*.f64 (+.f64 (pow.f64 re 2) -2) (/.f64 im 2))
(*.f64 (+.f64 (pow.f64 re 2) -2) (*.f64 1/2 im))
(/.f64 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2)))) 8)
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 2) -2) 4) (+.f64 im im))
(*.f64 (+.f64 (pow.f64 re 2) -2) (/.f64 im 2))
(*.f64 (+.f64 (pow.f64 re 2) -2) (*.f64 1/2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))))) 16)
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 2) -2) 4) (+.f64 im im))
(*.f64 (+.f64 (pow.f64 re 2) -2) (/.f64 im 2))
(*.f64 (+.f64 (pow.f64 re 2) -2) (*.f64 1/2 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2))))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 2 (+.f64 (pow.f64 re 2) -2)))))) 32)
(+.f64 (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)) (*.f64 im (/.f64 (+.f64 (pow.f64 re 2) -2) 4)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 2) -2) 4) (+.f64 im im))
(*.f64 (+.f64 (pow.f64 re 2) -2) (/.f64 im 2))
(*.f64 (+.f64 (pow.f64 re 2) -2) (*.f64 1/2 im))
(-.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 0)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 1/2 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 2 (*.f64 1/2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 4 (/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 4))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 1)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 1 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 1/2)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (+.f64 im im) (*.f64 1/2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (+.f64 im im) (/.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) 2))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 1/4)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (*.f64 im 1/2))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 im 1/2) (*.f64 2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 1/4 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 1/2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 2)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (*.f64 1/2 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) (+.f64 im im))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (/.f64 (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))) 2) (+.f64 im im))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(*.f64 (/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 4) 4)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(/.f64 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))) 1)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(/.f64 (*.f64 2 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 2)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(/.f64 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))) 4)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))) 8)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) 16)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24))))))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 im (+.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) -1/24)))))))) 32)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/24 (pow.f64 re 4)) -1)))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) -1) (*.f64 -1/24 (pow.f64 re 4))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 0)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(+.f64 0 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(+.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/48)) (*.f64 (pow.f64 re 4) (*.f64 im -1/48)))
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(-.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 0)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(/.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) 1)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(/.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/12)) 2)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(/.f64 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)) 4)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6))) 8)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)))) 16)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6)))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 re 4) (*.f64 im -1/6))))) 32)
(*.f64 im (*.f64 -1/24 (pow.f64 re 4)))
(*.f64 -1/24 (*.f64 im (pow.f64 re 4)))
(*.f64 (pow.f64 re 4) (*.f64 im -1/24))
(+.f64 (*.f64 im -1/24) 0)
(*.f64 im -1/24)
(+.f64 0 (*.f64 im -1/24))
(*.f64 im -1/24)
(+.f64 (*.f64 im -1/48) (*.f64 im -1/48))
(*.f64 im -1/24)
(-.f64 (*.f64 im -1/24) 0)
(*.f64 im -1/24)
(/.f64 (*.f64 im -1/24) 1)
(*.f64 im -1/24)
(/.f64 (*.f64 im -1/12) 2)
(*.f64 im -1/24)
(/.f64 (*.f64 im -1/6) 4)
(*.f64 im -1/24)
(/.f64 (*.f64 2 (*.f64 im -1/6)) 8)
(*.f64 im -1/24)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im -1/6))) 16)
(*.f64 im -1/24)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im -1/6))) (*.f64 2 (*.f64 2 (*.f64 im -1/6)))) 32)
(*.f64 im -1/24)

eval80.0ms (0.5%)

Compiler

Compiled 3187 to 2591 computations (18.7% saved)

prune31.0ms (0.2%)

Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New1781179
Fresh000
Picked011
Done099
Total17811189
Error
0.1b
Counts
189 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
27.2b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
59.6b
(-.f64 1 (-.f64 im -1))
30.7b
(+.f64 (*.f64 im (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 4) (*.f64 im -1/24)))
58.9b
(+.f64 -1 (-.f64 1 (*.f64 im (cos.f64 re))))
59.6b
(+.f64 -1 (-.f64 1 im))
0.1b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
0.2b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
0.5b
(*.f64 (neg.f64 im) (cos.f64 re))
59.4b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.1b
(*.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))))))
27.3b
(neg.f64 im)
Compiler

Compiled 128 to 102 computations (20.3% saved)

regimes41.0ms (0.2%)

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

6 calls:

8.0ms
im
8.0ms
re
7.0ms
(cos.f64 re)
6.0ms
(*.f64 1/2 (cos.f64 re))
3.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.1b1re
0.1b1im
0.1b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.1b1(*.f64 1/2 (cos.f64 re))
0.1b1(cos.f64 re)
0.1b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 224 to 154 computations (31.3% saved)

regimes65.0ms (0.4%)

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

6 calls:

31.0ms
(cos.f64 re)
11.0ms
im
8.0ms
re
6.0ms
(*.f64 1/2 (cos.f64 re))
3.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
0.1b1re
0.1b1im
0.1b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.1b1(*.f64 1/2 (cos.f64 re))
0.1b1(cos.f64 re)
0.1b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 198 to 134 computations (32.3% saved)

regimes60.0ms (0.3%)

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

6 calls:

31.0ms
(cos.f64 re)
8.0ms
re
7.0ms
im
6.0ms
(*.f64 1/2 (cos.f64 re))
3.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.2b1re
0.2b1im
0.2b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.2b1(*.f64 1/2 (cos.f64 re))
0.2b1(cos.f64 re)
0.2b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 142 to 93 computations (34.5% saved)

regimes18.0ms (0.1%)

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

3 calls:

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

Compiled 52 to 35 computations (32.7% saved)

regimes8.0ms (0%)

Accuracy

Total -32.6b remaining (-119.3%)

Threshold costs -32.6b (-119.3%)

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

2 calls:

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

Compiled 20 to 15 computations (25% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 69 to 54 computations (21.7% saved)

soundness632.0ms (3.6%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 25 to 17 computations (32% saved)

end136.0ms (0.8%)

Compiler

Compiled 61 to 42 computations (31.1% saved)

Profiling

Loading profile data...