Details

Time bar (total: 18.4s)

analyze447.0ms (2.4%)

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

Results
5.9s5016×body1024valid
1.5s2001×body1024infinite
936.0ms1765×body512valid
915.0ms405×body2048valid
648.0ms1503×body256infinite
419.0ms1033×body512infinite
366.0ms1070×body256valid
Bogosity

preprocess195.0ms (1.1%)

Algorithm
egg-herbie
Rules
1578×rational.json-simplify-64
1462×trig.json-simplify-41
770×rational.json-simplify-45
678×rational.json-simplify-1
632×rational.json-simplify-42
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
13770
26570
310370
414870
526670
660870
7226370
8479070
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 (*.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 1/2 (*.f64 (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)

simplify82.0ms (0.4%)

Algorithm
egg-herbie
Rules
1234×rational.json-simplify-1
1206×rational.json-simplify-64
878×rational.json-simplify-46
738×trig.json-simplify-41
658×trig.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
12535
24335
36435
48835
515335
634835
7125635
8316735
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)

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

Compiled 35 to 13 computations (62.9% saved)

series6.0ms (0%)

Counts
2 → 32
Calls

9 calls:

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

rewrite143.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
112054
242654
3169354
4763154
Stop Event
node limit
Counts
2 → 24
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 (-.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 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(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 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.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 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 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)) (*.f64 1/2 (cos.f64 re))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)))))

simplify190.0ms (1%)

Algorithm
egg-herbie
Rules
938×rational.json-simplify-111
890×rational.json-simplify-41
826×rational.json-simplify-1
716×rational.json-simplify-50
708×rational.json-simplify-54
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151984
12281912
24451824
39541790
427881790
567281790
Stop Event
node limit
Counts
56 → 77
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 (-.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 im) (exp.f64 (neg.f64 im)))))
(+.f64 (-.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)
(*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.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)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 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)) (*.f64 1/2 (cos.f64 re))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -2 im) (*.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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (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 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 2) -1/4))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 6) -1/1440)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/1440 (pow.f64 re 6))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6))))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (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) (neg.f64 im)) (+.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (cos.f64 re)))) (+.f64 (*.f64 (neg.f64 im) (cos.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (-.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 im) (exp.f64 (neg.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (-.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.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 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.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)) (cos.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(/.f64 (*.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)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(*.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (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))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(*.f64 (*.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)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re))))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))

eval105.0ms (0.6%)

Compiler

Compiled 1600 to 727 computations (54.6% saved)

prune18.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New71677
Fresh000
Picked011
Done000
Total71778
Error
0.1b
Counts
78 → 7
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)))
0.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
0.6b
(*.f64 (neg.f64 im) (cos.f64 re))
0.3b
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
0.4b
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 189 to 148 computations (21.7% saved)

localize37.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.1b
(*.f64 -1/60 (pow.f64 im 5))
0.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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 81 to 61 computations (24.7% saved)

series10.0ms (0.1%)

Counts
4 → 27
Calls

15 calls:

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

rewrite90.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
021116
1181116
2555116
32169116
Stop Event
node limit
Counts
4 → 29
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
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 -1/3 (pow.f64 im 3)) (/.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -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 -1/60 (pow.f64 im 5)) (/.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) (/.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)))))

simplify201.0ms (1.1%)

Algorithm
egg-herbie
Rules
1454×rational.json-simplify-47
1208×rational.json-simplify-2
1164×rational.json-simplify-49
782×rational.json-simplify-50
704×rational.json-simplify-54
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01032718
12202558
25492372
319702264
468762264
Stop Event
node limit
Counts
56 → 73
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -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/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))
(+.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 -1/3 (pow.f64 im 3)) (/.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3))))
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 0)
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1)
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1)
(+.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 -1/60 (pow.f64 im 5)) (/.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5))))
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(-.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 0)
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) 1))
(*.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) (/.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))))
(/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(pow.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
Outputs
(*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -2 im) (+.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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/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/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 -2 im) (+.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 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (+.f64 (*.f64 -2 im) (+.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/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 (*.f64 -2 im) (+.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 -2 im) (+.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/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (*.f64 im -1))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (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 (*.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 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120))
(+.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 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -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 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120))
(+.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 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -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 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.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 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))
(+.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 -1/3 (pow.f64 im 3)) (/.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3))))
(*.f64 -1/3 (pow.f64 im 3))
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2))))))
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (cos.f64 re))) (/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(/.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(*.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 im -2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (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 -1/60 (pow.f64 im 5)) (/.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5))))
(*.f64 -1/60 (pow.f64 im 5))
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 0)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) 1))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) (/.f64 (/.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(pow.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite111.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
766×rational.json-simplify-42
738×rational.json-simplify-47
716×rational.json-5
714×exponential.json-3
714×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
17915
230415
3120715
4578315
Stop Event
node limit
Counts
1 → 11
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 (*.f64 im (neg.f64 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 im (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 im (neg.f64 (cos.f64 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 (cos.f64 re))) (/.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 im (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (cos.f64 re)))))))

simplify95.0ms (0.5%)

Algorithm
egg-herbie
Rules
1088×rational.json-simplify-2
954×trig.json-simplify-41
920×rational.json-simplify-49
800×rational.json-simplify-42
772×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
048637
1107629
2229617
3600605
43084599
Stop Event
node limit
Counts
35 → 32
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(+.f64 0 (*.f64 im (neg.f64 (cos.f64 re))))
(-.f64 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(-.f64 0 (neg.f64 (*.f64 im (neg.f64 (cos.f64 re)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (neg.f64 (cos.f64 re))))) 1)
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) (/.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (cos.f64 re)))))
(/.f64 (*.f64 im (cos.f64 re)) -1)
(pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (neg.f64 (*.f64 im (neg.f64 (cos.f64 re)))))
(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 (neg.f64 im) (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 im (+.f64 -1 (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(+.f64 (*.f64 -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 (neg.f64 im) (+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 -1/24 (*.f64 im (pow.f64 re 4)))) (*.f64 1/720 (*.f64 im (pow.f64 re 6)))))
(+.f64 (*.f64 im (*.f64 1/2 (pow.f64 re 2))) (+.f64 (*.f64 im (+.f64 -1 (*.f64 -1/24 (pow.f64 re 4)))) (*.f64 im (*.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 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (+.f64 -1 (+.f64 (*.f64 -1/24 (pow.f64 re 4)) (*.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 (*.f64 im (neg.f64 (cos.f64 re))) 0)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 0 (neg.f64 (*.f64 im (neg.f64 (cos.f64 re)))))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (neg.f64 (cos.f64 re))))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(/.f64 (*.f64 im (neg.f64 (cos.f64 re))) (/.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 im (neg.f64 (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))
(pow.f64 (*.f64 im (neg.f64 (cos.f64 re))) 1)
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 (neg.f64 (*.f64 im (neg.f64 (cos.f64 re)))))
(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.3b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 25 to 9 computations (64% saved)

localize19.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 37 to 23 computations (37.8% saved)

series9.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite133.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
888×rational.json-simplify-1
860×rational.json-5
858×exponential.json-3
858×rational.json-1
858×rational.json-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01346
111946
240046
3153346
4704742
Stop Event
node limit
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.f64 (cos.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
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/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(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/6) (/.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.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) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))))

simplify115.0ms (0.6%)

Algorithm
egg-herbie
Rules
1058×rational.json-simplify-49
882×rational.json-simplify-1
794×rational.json-simplify-54
764×rational.json-simplify-43
700×rational.json-simplify-47
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0731418
11661416
23591416
39691368
438001344
Stop Event
node limit
Counts
54 → 46
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/6) 0)
(-.f64 0 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (pow.f64 im 3) -1/6))) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/6) (/.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6)))
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(neg.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))
(-.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 0)
(-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1)
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1)
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1)
(neg.f64 (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))
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 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.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 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4))) (*.f64 -1/6 (pow.f64 im 3)))) im)
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 2) -1/2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 -1/6 (pow.f64 im 3)))) im)
(-.f64 (+.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4)))) im)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.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/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/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4))) (*.f64 -1/6 (pow.f64 im 3))))) 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 2) -1/2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 6) -1/720))))) im)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/2 (pow.f64 re 2)))))) im)
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))) (*.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/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2)))))) 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 -1 (*.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 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 (*.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 (*.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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 (*.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 (*.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 (*.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/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 0 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (pow.f64 im 3) -1/6))) 1)
(*.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/6) (/.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(neg.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 0)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 0)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(neg.f64 (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 55 to 22 computations (60% saved)

series7.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite79.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01695
114895
251095
3201695
Stop Event
node limit
Counts
3 → 27
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)))))

simplify289.0ms (1.6%)

Algorithm
egg-herbie
Rules
1292×rational.json-simplify-47
1010×rational.json-simplify-1
938×rational.json-simplify-111
906×rational.json-simplify-2
748×rational.json-simplify-49
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01533035
13352937
28142801
318972755
453282743
579622743
Stop Event
node limit
Counts
75 → 106
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 6) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 4/3 (cos.f64 re)) (+.f64 (*.f64 1/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 -2/3 (cos.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1)) 1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 0)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 1)
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)) -1/4)))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)) -1/4)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)) 1/48))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))))))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))) -1/4)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (*.f64 1/2 (exp.f64 (neg.f64 im))))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 4) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 2) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 6) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)) 1/48)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6)) -1/1440)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)) -1/4)))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/1440 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/1440 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6))) (*.f64 1/2 (exp.f64 (neg.f64 im))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))))))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (exp.f64 (neg.f64 im))) (*.f64 -1/1440 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 4))) (*.f64 1/2 (exp.f64 (neg.f64 im))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (cos.f64 re) -1))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 2/3))) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 0)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (*.f64 (cos.f64 re) -1/3) (*.f64 (pow.f64 im 3) 1/2)) 0))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 4/3 (cos.f64 re)) (+.f64 (*.f64 1/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 -2/3 (cos.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 -1 (cos.f64 re)) (*.f64 2 (cos.f64 re)))) (pow.f64 im 3))))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (+.f64 (*.f64 -2 (cos.f64 re)) (*.f64 2 (cos.f64 re))) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (+.f64 (*.f64 -4/3 (cos.f64 re)) (+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (cos.f64 re) -1))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 2/3))) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 0)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (+.f64 (*.f64 (*.f64 (cos.f64 re) -1/3) (*.f64 (pow.f64 im 3) 1/2)) 0))
(+.f64 (*.f64 im (neg.f64 (cos.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (cos.f64 re) -1/3))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (cos.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 -1/2520 (pow.f64 im 7)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/2520 (pow.f64 im 7)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (exp.f64 (neg.f64 im)))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1)) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 0)
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 0)
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (*.f64 (cos.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (cos.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re)))) (/.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re)))) (/.f64 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))

eval392.0ms (2.1%)

Compiler

Compiled 6544 to 4286 computations (34.5% saved)

prune62.0ms (0.3%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New2807287
Fresh101
Picked101
Done235
Total28410294
Error
0.1b
Counts
294 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
26.7b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
30.2b
(+.f64 (neg.f64 im) (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
0.4b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
30.2b
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.6b
(*.f64 (neg.f64 im) (cos.f64 re))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
26.6b
(*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
26.9b
(neg.f64 im)
Compiler

Compiled 290 to 227 computations (21.7% saved)

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
2 → 24
Calls

9 calls:

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

rewrite126.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
110642
236442
3144542
4664842
Stop Event
node limit
Counts
2 → 16
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
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 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))))) (#(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 -1/6 (pow.f64 im 3)) (/.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.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) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) (/.f64 (*.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 pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))))))

simplify250.0ms (1.4%)

Algorithm
egg-herbie
Rules
1064×rational.json-simplify-49
1010×rational.json-simplify-1
796×rational.json-simplify-54
764×rational.json-simplify-43
662×rational.json-simplify-47
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0651620
11321568
23001318
37641270
430141146
575381146
Stop Event
node limit
Counts
40 → 44
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(-.f64 0 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) (/.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3))))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(neg.f64 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(+.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) (cos.f64 re)) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))
(/.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) (cos.f64 re)) (/.f64 (*.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))))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))
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 (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 -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 (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 -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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
(+.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 (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 -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 (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 -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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6))
(+.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 (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 -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 (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 -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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.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 -1/6 (pow.f64 im 3)) (*.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)) (*.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/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 2))) (+.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))))) 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 2) -1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)))) im)
(-.f64 (+.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))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/24 (pow.f64 re 4))))) im)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.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/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 (*.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 -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 2) -1/2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 4) 1/24)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 6) -1/720))))) im)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.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)))))) im)
(-.f64 (+.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))) (*.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)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))) im)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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)) 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 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 0 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(*.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 -1/6 (pow.f64 im 3)) (/.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(neg.f64 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(+.f64 (*.f64 -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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 0)
(+.f64 (*.f64 -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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 0 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))
(+.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(+.f64 (*.f64 -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 (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)) (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))
(+.f64 (*.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) 1)
(+.f64 (*.f64 -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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(neg.f64 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))))
(+.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 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

localize6.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize9.0ms (0.1%)

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)

localize15.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.6b
(*.f64 im (*.f64 (pow.f64 re 2) 1/2))
Compiler

Compiled 33 to 22 computations (33.3% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite148.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17619
224219
388019
4348319
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 im (*.f64 (pow.f64 re 2) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (/.f64 (*.f64 im (pow.f64 re 2)) (*.f64 im (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 1)))))

simplify208.0ms (1.1%)

Algorithm
egg-herbie
Rules
1978×rational.json-simplify-79
1226×rational.json-simplify-43
950×rational.json-simplify-104
902×rational.json-simplify-73
806×rational.json-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
021606
139606
277606
3173600
4533600
52269600
63399600
74966600
86484600
Stop Event
node limit
Counts
30 → 11
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 0)
(+.f64 0 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
(-.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 0)
(/.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 1)
(/.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (/.f64 (*.f64 im (pow.f64 re 2)) (*.f64 im (pow.f64 re 2))))
(pow.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 1)
Outputs
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 0)
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(+.f64 0 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(-.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 0)
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(/.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 1)
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))
(/.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (/.f64 (*.f64 im (pow.f64 re 2)) (*.f64 im (pow.f64 re 2))))
(/.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 im)) (/.f64 (*.f64 (pow.f64 re 2) im) (*.f64 (pow.f64 re 2) im)))
(*.f64 (*.f64 (*.f64 (pow.f64 re 2) im) (*.f64 (pow.f64 re 2) im)) (/.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(*.f64 (*.f64 im (*.f64 im (pow.f64 (*.f64 re re) 2))) (/.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(pow.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) 1)
(*.f64 1/2 (*.f64 (pow.f64 re 2) im))
(*.f64 (pow.f64 re 2) (*.f64 1/2 im))

localize104.0ms (0.6%)

Local error

Found 2 expressions with local error:

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

Compiled 41 to 27 computations (34.1% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite128.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
948×rational.json-simplify-47
812×rational.json-simplify-58
768×rational.json-simplify-50
576×rational.json-5
574×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01454
112254
237554
3137054
4528854
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (/.f64 (*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) 1) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))) (/.f64 (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))))))

simplify402.0ms (2.2%)

Algorithm
egg-herbie
Rules
1274×rational.json-simplify-49
854×rational.json-simplify-41
812×rational.json-simplify-2
686×rational.json-simplify-1
678×rational.json-simplify-58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01261832
12561702
24691658
312191654
444661654
568671654
Stop Event
node limit
Counts
64 → 80
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(*.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(*.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1)))
(*.f64 1/4 (/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) 1))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(*.f64 (neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (exp.f64 (+.f64 im im)) -1))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2)
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (/.f64 (*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) 1) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))) (/.f64 (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1 im))))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (+.f64 (neg.f64 im) (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (neg.f64 im) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (*.f64 -1 im))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 1/4 (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2))
(*.f64 1/4 (*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1)))
(*.f64 1/4 (+.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 1/4 (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2))
(*.f64 1/4 (*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 1/4 (/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) 1))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 1/2)
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (/.f64 (*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) 1) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))) (/.f64 (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 0)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 0)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 0 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)))) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))) (/.f64 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))))) (/.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2)) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))

eval254.0ms (1.4%)

Compiler

Compiled 2766 to 1698 computations (38.6% saved)

prune108.0ms (0.6%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New1422144
Fresh112
Picked011
Done077
Total14311154
Error
0.1b
Counts
154 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
26.7b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
26.6b
(+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
30.2b
(+.f64 (neg.f64 im) (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
0.4b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
30.2b
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.4b
(*.f64 (*.f64 -2 im) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
0.6b
(*.f64 (neg.f64 im) (cos.f64 re))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
26.9b
(neg.f64 im)
Compiler

Compiled 168 to 131 computations (22% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 27 to 15 computations (44.4% saved)

series4.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite122.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1294×rational.json-simplify-58
1134×rational.json-simplify-47
962×rational.json-simplify-43
530×rational.json-5
528×exponential.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01127
19919
233419
3123819
4545619
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (*.f64 -2 im) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 im -1/2)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (exp.f64 (neg.f64 im))))))))

simplify143.0ms (0.8%)

Algorithm
egg-herbie
Rules
1048×rational.json-simplify-43
1044×rational.json-simplify-54
962×rational.json-simplify-1
862×rational.json-simplify-47
560×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051490
1105490
2236490
3652490
42610490
56301490
Stop Event
node limit
Counts
24 → 30
Calls
Call 1
Inputs
(*.f64 -1 im)
(+.f64 (pow.f64 im 2) (*.f64 -1 im))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (+.f64 (*.f64 1/6 (pow.f64 im 4)) (*.f64 -1 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(+.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 0)
(+.f64 0 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 im -1/2)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 im -1/2)))
(-.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 0)
(-.f64 0 (neg.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))))) 1)
(/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 1)
(/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))
(/.f64 (*.f64 im (exp.f64 (neg.f64 im))) -1)
(pow.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 1)
(neg.f64 (neg.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))
(neg.f64 (*.f64 im (exp.f64 (neg.f64 im))))
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (pow.f64 im 2) (*.f64 -1 im))
(+.f64 (neg.f64 im) (pow.f64 im 2))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (pow.f64 im 2) (+.f64 (neg.f64 im) (*.f64 -1/2 (pow.f64 im 3))))
(+.f64 (neg.f64 im) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 im 3))))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (+.f64 (*.f64 1/6 (pow.f64 im 4)) (*.f64 -1 im))))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (+.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 4)))))
(+.f64 (pow.f64 im 2) (+.f64 (neg.f64 im) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 1/6 (pow.f64 im 4)))))
(+.f64 (pow.f64 im 2) (+.f64 (+.f64 (neg.f64 im) (*.f64 -1/2 (pow.f64 im 3))) (*.f64 1/6 (pow.f64 im 4))))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (pow.f64 im 2) (*.f64 1/6 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 im 3))))
(+.f64 (neg.f64 im) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (+.f64 (pow.f64 im 2) (*.f64 1/6 (pow.f64 im 4)))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(*.f64 -1 (*.f64 (exp.f64 (*.f64 -1 im)) im))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(+.f64 0 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 im -1/2)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 im -1/2)))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(-.f64 0 (neg.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) (/.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(/.f64 (*.f64 im (exp.f64 (neg.f64 im))) -1)
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(pow.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im)))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(neg.f64 (neg.f64 (*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 im (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (neg.f64 im))
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 im (neg.f64 (exp.f64 (neg.f64 im))))

localize86.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/3 (pow.f64 im 3))
0.1b
(/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
0.2b
(*.f64 (cos.f64 re) (cos.f64 re))
29.9b
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
Compiler

Compiled 216 to 154 computations (28.7% saved)

series12.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite149.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
025249
1225249
2761249
33050249
Stop Event
node limit
Counts
3 → 36
Calls
Call 1
Inputs
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (/.f64 (cos.f64 re) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (cos.f64 (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (*.f64 (-.f64 (/.f64 (PI.f64) 2) re) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (+.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64))) (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (+.f64 (-.f64 re (neg.f64 (/.f64 (PI.f64) 2))) (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 re re)) (sin.f64 (+.f64 (neg.f64 re) (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 0) (sin.f64 (+.f64 re (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 0) (sin.f64 (+.f64 re (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 re re)) (sin.f64 (+.f64 (neg.f64 re) (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (cos.f64 re) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fabs.f64 (/.f64 (cos.f64 re) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (neg.f64 (/.f64 (cos.f64 re) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fabs.f64 (/.f64 (cos.f64 re) (cos.f64 re))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (/.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 1)))))

simplify392.0ms (2.1%)

Algorithm
egg-herbie
Rules
778×rational.json-simplify-2
778×rational.json-simplify-44
664×rational.json-simplify-46
642×rational.json-simplify-45
632×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02225776
14595610
29655424
325665304
475865304
Stop Event
node limit
Counts
96 → 128
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 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
1
(+.f64 1 (*.f64 -1 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 re 6)) (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2)))))
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(/.f64 -1/4 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (*.f64 -7/1440 (/.f64 (pow.f64 im 3) (cos.f64 re)))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (+.f64 (*.f64 1/2160 (/.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -7/1440 (/.f64 (pow.f64 im 3) (cos.f64 re))))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(/.f64 -30 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(-.f64 (+.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 96000 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 11))))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(/.f64 -30 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(-.f64 (+.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 96000 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 11))))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(/.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(+.f64 (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 61/1440 (/.f64 (pow.f64 re 6) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(+.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 0)
(+.f64 0 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(-.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 0)
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 1)
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))))
(pow.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 1)
(+.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 0)
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1)
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (/.f64 (cos.f64 re) (cos.f64 re)))
(/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) 2)
(/.f64 (-.f64 1 (cos.f64 (*.f64 (-.f64 (/.f64 (PI.f64) 2) re) 2))) 2)
(/.f64 (-.f64 1 (cos.f64 (+.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64))) (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)
(/.f64 (-.f64 1 (cos.f64 (+.f64 (-.f64 re (neg.f64 (/.f64 (PI.f64) 2))) (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (sin.f64 (+.f64 (neg.f64 re) (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)
(/.f64 (+.f64 (cos.f64 0) (sin.f64 (+.f64 re (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)
(/.f64 (+.f64 (cos.f64 0) (sin.f64 (+.f64 re (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (sin.f64 (+.f64 (neg.f64 re) (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)
(pow.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1)
(fabs.f64 (*.f64 (cos.f64 re) (cos.f64 re)))
(fabs.f64 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re))))
(fabs.f64 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fabs.f64 (/.f64 (cos.f64 re) (cos.f64 re)))))
(fabs.f64 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (neg.f64 (/.f64 (cos.f64 re) (cos.f64 re)))))
(fabs.f64 (-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re)))))
(fabs.f64 (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fabs.f64 (/.f64 (cos.f64 re) (cos.f64 re))))))
(+.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 0)
(+.f64 0 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(-.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 0)
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 1)
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(*.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(*.f64 (*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (/.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(*.f64 (/.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(pow.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 1)
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.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 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.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 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (cos.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (cos.f64 re))) (*.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 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 -2 im) (+.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/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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 6))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (pow.f64 re 4) 1/48)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 -1/1440 (pow.f64 re 6)))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (+.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
1
(+.f64 1 (*.f64 -1 (pow.f64 re 2)))
(+.f64 1 (neg.f64 (pow.f64 re 2)))
(-.f64 1 (pow.f64 re 2))
(+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/3)))
(+.f64 1 (+.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/3)))
(+.f64 (-.f64 1 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/3))
(+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 re 6)) (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/3)) (*.f64 (pow.f64 re 6) -2/45)))
(+.f64 (+.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/3)) (+.f64 (*.f64 (pow.f64 re 6) -2/45) 1))
(+.f64 1 (+.f64 (+.f64 (neg.f64 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/3)) (*.f64 (pow.f64 re 6) -2/45)))
(+.f64 (-.f64 1 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 4) 1/3) (*.f64 (pow.f64 re 6) -2/45)))
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(pow.f64 (cos.f64 re) 2)
(/.f64 -1/4 (*.f64 (cos.f64 re) im))
(-.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (*.f64 -7/1440 (/.f64 (pow.f64 im 3) (cos.f64 re)))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (+.f64 (*.f64 1/2160 (/.f64 (pow.f64 im 5) (cos.f64 re))) (*.f64 -7/1440 (/.f64 (pow.f64 im 3) (cos.f64 re))))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 im (cos.f64 re))) (+.f64 (*.f64 -7/1440 (/.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 1/2160 (/.f64 (pow.f64 im 5) (cos.f64 re))))) (*.f64 1/4 (/.f64 1 (*.f64 (cos.f64 re) im))))
(/.f64 -30 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(-.f64 (-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5))))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9)))))
(-.f64 (+.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 96000 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 11))))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(-.f64 (-.f64 (+.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 96000 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 11))))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5))))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9)))))
(/.f64 -30 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(-.f64 (-.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5))))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9)))))
(-.f64 (+.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 96000 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 11))))) (+.f64 (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5)))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9))))))
(-.f64 (-.f64 (+.f64 (*.f64 600 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 7)))) (*.f64 96000 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 11))))) (*.f64 30 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 5))))) (*.f64 8400 (/.f64 1 (*.f64 (cos.f64 re) (pow.f64 im 9)))))
(/.f64 1/2 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))
(/.f64 1/2 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))
(/.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))))
(+.f64 (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))) (+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))) (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(+.f64 (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 61/1440 (/.f64 (pow.f64 re 6) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))) (+.f64 (+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))) (*.f64 61/1440 (/.f64 (pow.f64 re 6) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))) (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 61/1440 (/.f64 (pow.f64 re 6) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 61/1440 (/.f64 (pow.f64 re 6) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 2) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (+.f64 (*.f64 5/48 (/.f64 (pow.f64 re 4) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (*.f64 61/1440 (/.f64 (pow.f64 re 6) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(+.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 0)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(+.f64 0 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(-.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 0)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 1)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(pow.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) 1)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
(+.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (cos.f64 re) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (/.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (-.f64 1 (cos.f64 (*.f64 (-.f64 (/.f64 (PI.f64) 2) re) 2))) 2)
(/.f64 (-.f64 1 (cos.f64 (*.f64 2 (-.f64 (/.f64 (PI.f64) 2) re)))) 2)
(/.f64 (-.f64 1 (cos.f64 (+.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64))) (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (-.f64 1 (cos.f64 (+.f64 (-.f64 re (neg.f64 (/.f64 (PI.f64) 2))) (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (sin.f64 (+.f64 (neg.f64 re) (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 0) (sin.f64 (+.f64 re (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (PI.f64)))))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 0) (sin.f64 (+.f64 re (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (sin.f64 (+.f64 (neg.f64 re) (-.f64 re (neg.f64 (/.f64 (PI.f64) 2)))))) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(fabs.f64 (*.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (cos.f64 re) (cos.f64 re))
(fabs.f64 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re))))
(*.f64 (cos.f64 re) (cos.f64 re))
(fabs.f64 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fabs.f64 (/.f64 (cos.f64 re) (cos.f64 re)))))
(*.f64 (cos.f64 re) (cos.f64 re))
(fabs.f64 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (neg.f64 (/.f64 (cos.f64 re) (cos.f64 re)))))
(*.f64 (cos.f64 re) (cos.f64 re))
(fabs.f64 (-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re)))))
(*.f64 (cos.f64 re) (cos.f64 re))
(fabs.f64 (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fabs.f64 (/.f64 (cos.f64 re) (cos.f64 re))))))
(*.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 0)
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(+.f64 0 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(-.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 0)
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 1)
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (/.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (/.f64 1 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))) (*.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(pow.f64 (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))) 1)
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))
(/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))

localize138.0ms (0.8%)

Local error

Found 3 expressions with local error:

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

Compiled 50 to 38 computations (24% saved)

series3.0ms (0%)

Counts
2 → 12
Calls

6 calls:

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

rewrite113.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
19744
227344
396044
4372544
Stop Event
node limit
Counts
2 → 17
Calls
Call 1
Inputs
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/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 -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 -1/120 (pow.f64 im 5)) (/.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))) (/.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)))))

simplify184.0ms (1%)

Algorithm
egg-herbie
Rules
1372×rational.json-simplify-47
1106×rational.json-simplify-49
966×rational.json-simplify-2
800×rational.json-simplify-111
780×rational.json-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040737
172737
2250737
31336737
45414737
Stop Event
node limit
Counts
29 → 20
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) (/.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5))))
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 0)
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) 1))
(*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))) (/.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(pow.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)
Outputs
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/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 -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 -1/120 (pow.f64 im 5)) (/.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/120 (pow.f64 im 5))
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) 1))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))) (/.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(pow.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))

eval580.0ms (3.2%)

Compiler

Compiled 9428 to 7010 computations (25.6% saved)

prune84.0ms (0.5%)

Pruning

15 alts after pruning (6 fresh and 9 done)

PrunedKeptTotal
New2006206
Fresh000
Picked011
Done2810
Total20215217
Error
0.0b
Counts
217 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
26.7b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
26.6b
(+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 -1/120 (pow.f64 im 5))))
30.2b
(+.f64 (neg.f64 im) (*.f64 im (*.f64 (pow.f64 re 2) 1/2)))
0.4b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
59.2b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) 1/2))
0.6b
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (cos.f64 re))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))))
30.3b
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) 2))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re))))
30.5b
(*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (cos.f64 re)))) (/.f64 -1/4 (*.f64 (cos.f64 re) im)))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.4b
(*.f64 (neg.f64 im) (exp.f64 (neg.f64 im)))
0.6b
(*.f64 (neg.f64 im) (cos.f64 re))
30.2b
(*.f64 (cos.f64 re) (*.f64 (*.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
0.4b
(*.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))))) (/.f64 (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))))
59.2b
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
26.9b
(neg.f64 im)
Compiler

Compiled 394 to 304 computations (22.8% saved)

regimes287.0ms (1.6%)

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

6 calls:

129.0ms
(*.f64 1/2 (cos.f64 re))
26.0ms
re
24.0ms
im
18.0ms
(cos.f64 re)
7.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.3b1re
0.3b1im
0.3b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.3b1(*.f64 1/2 (cos.f64 re))
0.3b1(cos.f64 re)
0.3b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 564 to 394 computations (30.1% saved)

regimes99.0ms (0.5%)

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

6 calls:

20.0ms
re
18.0ms
im
16.0ms
(cos.f64 re)
16.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
0.3b1re
0.3b1im
0.3b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.3b1(*.f64 1/2 (cos.f64 re))
0.3b1(cos.f64 re)
0.3b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 207 to 130 computations (37.2% saved)

regimes86.0ms (0.5%)

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

6 calls:

18.0ms
im
17.0ms
(*.f64 1/2 (cos.f64 re))
16.0ms
re
15.0ms
(cos.f64 re)
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.4b1re
0.4b1im
0.4b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.4b1(*.f64 1/2 (cos.f64 re))
0.4b1(cos.f64 re)
0.4b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 190 to 119 computations (37.4% saved)

regimes37.0ms (0.2%)

Accuracy

Total -60.4b remaining (-9527.4%)

Threshold costs -60.4b (-9527.4%)

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

3 calls:

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

Compiled 59 to 34 computations (42.4% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 64 to 50 computations (21.9% saved)

soundness119.0ms (0.7%)

Algorithm
egg-herbie
Rules
1234×rational.json-simplify-1
1206×rational.json-simplify-64
878×rational.json-simplify-46
738×trig.json-simplify-41
658×trig.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
12535
24335
36435
48835
515335
634835
7125635
8316735
Stop Event
node limit
Compiler

Compiled 25 to 17 computations (32% saved)

end258.0ms (1.4%)

Compiler

Compiled 56 to 37 computations (33.9% saved)

Profiling

Loading profile data...