Details

Time bar (total: 15.1s)

analyze184.0ms (1.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
50%50%0.1%5
50%50%0.1%6
50%37.5%12.6%7
50%37.5%12.6%8
50%31.2%18.8%9
50%31.2%18.8%10
50%28.1%22%11
50%28.1%22%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample6.5s (42.9%)

Results
3.2s5045×body1024valid
910.0ms1967×body1024invalid
700.0ms1678×body512valid
477.0ms439×body2048valid
463.0ms1094×body256valid
348.0ms1498×body256invalid
334.0ms1014×body512invalid

preprocess86.0ms (0.6%)

Algorithm
egg-herbie
Rules
738×div-sub_binary64
692×fma-def_binary64
564×times-frac_binary64
463×associate-/r*_binary64
454×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
14036
29536
325536
454134
591534
6181934
7375134
8734934
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 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (fma.f64 (exp.f64 re) -1/2 (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify60.0ms (0.4%)

Algorithm
egg-herbie
Rules
626×associate-/l*_binary64
546×div-sub_binary64
462×times-frac_binary64
367×associate-/r*_binary64
358×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01218
12318
25218
313418
428217
547417
693117
7239117
8625817
Stop Event
node limit
Counts
1 → 2
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 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 25 to 16 computations (36% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
57.6b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
57.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 14 to 11 computations (21.4% saved)

localize24.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 40 to 24 computations (40% saved)

series12.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite316.0ms (2.1%)

Algorithm
egg-rewrite
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
557×pow1_binary64
523×add-log-exp_binary64
521×log1p-expm1-u_binary64
521×expm1-log1p-u_binary64
512×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01246
125246
2344546
0710
11518
222538
01218
125218
2344518
01218
033
1583
26733
374123
Stop Event
node limit
iter limit
node limit
node limit
node limit
Counts
3 → 90
Calls
Call 1
Inputs
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(cos.f64 re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 im) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 im) (*.f64 (neg.f64 (exp.f64 im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 im) (exp.f64 im)) (fma.f64 (neg.f64 (exp.f64 im)) 1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 im) (exp.f64 im)) (fma.f64 (neg.f64 (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 im) (exp.f64 im)) (fma.f64 (neg.f64 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 im) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))) (pow.f64 (cbrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))) 2) (cbrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 im) 2) (*.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) 2)) (/.f64 1 (+.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (exp.f64 im)) (sqrt.f64 (exp.f64 im))) (-.f64 (sqrt.f64 (exp.f64 im)) (sqrt.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 im) 2) (*.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 im)))) (-.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) 2) (*.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 im) 2) (*.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) 2))) (neg.f64 (+.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (neg.f64 (exp.f64 im)) 3)) (+.f64 (pow.f64 (exp.f64 im) 2) (-.f64 (*.f64 (neg.f64 (exp.f64 im)) (neg.f64 (exp.f64 im))) (*.f64 (exp.f64 im) (neg.f64 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) 2) (*.f64 (neg.f64 (exp.f64 im)) (neg.f64 (exp.f64 im)))) (-.f64 (exp.f64 im) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 im) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (exp.f64 im) (exp.f64 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (exp.f64 im) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (exp.f64 im) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (exp.f64 im) (exp.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 im) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (cbrt.f64 (exp.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 im)) (sqrt.f64 (exp.f64 im)) (neg.f64 (exp.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.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))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 re 1)) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/4) (*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))))))

simplify72.0ms (0.5%)

Algorithm
egg-herbie
Rules
470×unswap-sqr_binary64
408×distribute-rgt-in_binary64
405×*-commutative_binary64
394×fma-def_binary64
347×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083750
1210744
2577688
32099658
44945658
Stop Event
node limit
Counts
130 → 125
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 (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 (exp.f64 (neg.f64 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 (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))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))
(fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))
(fma.f64 -2 im (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5))))
(fma.f64 -1/3 (pow.f64 im 3) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -2 im)))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))
(fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -2 im (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5)))))
(fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -1/3 (pow.f64 im 3) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -2 im))))
(fma.f64 -2 im (fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5)))))
(-.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 (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 (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 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(fma.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.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)))))
(fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)))
(fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 re re) -1/4))))
(fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/4 (*.f64 re re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/4 (*.f64 re re)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (*.f64 re re)))))
(+.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))))))
(fma.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))
(fma.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 re re) -1/4)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (neg.f64 (*.f64 im (cos.f64 re))))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) 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)))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (fma.f64 -1 (*.f64 im (cos.f64 re)) (*.f64 (*.f64 -1/120 (cos.f64 re)) (pow.f64 im 5))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (fma.f64 (*.f64 (cos.f64 re) -1/120) (pow.f64 im 5) (*.f64 im (neg.f64 (cos.f64 re)))))
(fma.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)) im))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (fma.f64 -1 (*.f64 im (cos.f64 re)) (fma.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (cos.f64 re))))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (-.f64 (fma.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)) (*.f64 (pow.f64 im 7) (*.f64 (cos.f64 re) -1/5040))) (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 7) -1/5040))))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 3) -1/6))) im))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 (*.f64 re re) -1/2)))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (*.f64 re re) -1/2 1))
(fma.f64 re (*.f64 re -1/2) (fma.f64 (pow.f64 re 4) 1/24 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (fma.f64 (pow.f64 re 6) -1/720 (*.f64 (*.f64 re re) -1/2)) (fma.f64 (pow.f64 re 4) 1/24 1))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 re (*.f64 re -1/2) (fma.f64 (pow.f64 re 6) -1/720 1)))

eval93.0ms (0.6%)

Compiler

Compiled 2323 to 1257 computations (45.9% saved)

prune24.0ms (0.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1196125
Fresh000
Picked101
Done000
Total1206126
Error
0.1b
Counts
126 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
59.4b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
57.6b
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.2b
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
1.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)))))
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
Compiler

Compiled 160 to 126 computations (21.3% 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.0b
(*.f64 -1/60 (pow.f64 im 5))
0.1b
(*.f64 -1/3 (pow.f64 im 3))
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)))))
Compiler

Compiled 81 to 61 computations (24.7% saved)

series12.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 (*.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)))))

rewrite278.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
726×fma-def_binary64
372×fma-neg_binary64
354×expm1-udef_binary64
354×log1p-udef_binary64
208×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01954
142854
2545354
Stop Event
node limit
Counts
4 → 157
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 -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/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -2 im (*.f64 -1/60 (pow.f64 im 5))) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) 1) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 -2 im (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) 3) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) 3)) (fma.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im)))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 im 3) -8 (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 3)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (-.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 -2 im)) (*.f64 4 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 4 (*.f64 im im)) (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 2)) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 -2 im) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 3) -8 (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 3))) (fma.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (-.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 -2 im)) (*.f64 4 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (*.f64 4 (*.f64 im im)) (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 2))) (-.f64 (*.f64 -2 im) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 -2 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -2 im) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 -2 im (*.f64 -1/60 (pow.f64 im 5))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 im (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 -2 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 im) (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 2) (*.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -2 im)) 2) (*.f64 (cbrt.f64 (*.f64 -2 im)) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 -2 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -2 im)) (*.f64 (sqrt.f64 (*.f64 -2 im)) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 -2 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))) 1 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 -2 im (*.f64 -1/60 (pow.f64 im 5))) (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im)))) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im)))) (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 -2 im)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (sqrt.f64 (*.f64 -2 im)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (*.f64 -2 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (*.f64 -2 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -2 im) (cos.f64 re)) 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (cos.f64 re)) 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -2 im) 1/2) (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -2 im) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -2 im) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 1/2) (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) -2) im (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) im) -2 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (*.f64 -2 im)) 2)) (cbrt.f64 (*.f64 -2 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (*.f64 -2 im))) (sqrt.f64 (*.f64 -2 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 2)) (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 -2 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/3 (pow.f64 im 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (cbrt.f64 -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/3) (pow.f64 im 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 im 3) 3) -1/27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 6) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/3) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 3) 3) -1/27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 3 (log.f64 im) (log.f64 -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 3 (log.f64 im) (log.f64 -1/3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/60 (pow.f64 im 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/60 (pow.f64 im 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/60) (pow.f64 im 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/3600 (pow.f64 im 10)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/60) (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/60 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 5 (log.f64 im) (log.f64 -1/60)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 5 (log.f64 im) (log.f64 -1/60)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/3600 (pow.f64 im 10)) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 1/3 (pow.f64 im 3)))) (/.f64 (*.f64 (pow.f64 im 6) 1/9) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 2) (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/27 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3))) (/.f64 1 (-.f64 (fma.f64 1/3600 (pow.f64 im 10) (*.f64 (pow.f64 im 6) 1/9)) (*.f64 -1/60 (*.f64 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/3600 (pow.f64 im 10)) (*.f64 (pow.f64 im 6) 1/9)) (/.f64 1 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 1/3600 (pow.f64 im 10) (*.f64 (pow.f64 im 6) 1/9)) (*.f64 -1/60 (*.f64 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))) (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/27 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 1/3 (pow.f64 im 3))) (-.f64 (*.f64 1/3600 (pow.f64 im 10)) (*.f64 (pow.f64 im 6) 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/27 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3))) (-.f64 (fma.f64 1/3600 (pow.f64 im 10) (*.f64 (pow.f64 im 6) 1/9)) (*.f64 -1/60 (*.f64 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/27 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3))) (fma.f64 (pow.f64 im 6) 1/9 (-.f64 (*.f64 1/3600 (pow.f64 im 10)) (*.f64 -1/60 (*.f64 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/3600 (pow.f64 im 10)) (*.f64 (pow.f64 im 6) 1/9)) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/27 (*.f64 -1/216000 (pow.f64 (pow.f64 im 5) 3)))) (neg.f64 (-.f64 (fma.f64 1/3600 (pow.f64 im 10) (*.f64 (pow.f64 im 6) 1/9)) (*.f64 -1/60 (*.f64 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/3600 (pow.f64 im 10)) (*.f64 (pow.f64 im 6) 1/9))) (neg.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/9) (*.f64 1/3600 (pow.f64 im 10))) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/60 (pow.f64 im 5)))) (pow.f64 (exp.f64 -1/3) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/60) (pow.f64 im 5)) (+.f64 1 (expm1.f64 (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/60 (pow.f64 im 5)))) (+.f64 1 (expm1.f64 (*.f64 -1/3 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 (exp.f64 -1/60) (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/3) (pow.f64 im 3)) (+.f64 1 (expm1.f64 (*.f64 -1/60 (pow.f64 im 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1 (expm1.f64 (*.f64 -1/60 (pow.f64 im 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 (*.f64 im im) -1/3) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5) -1/60 (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/60 (pow.f64 im 5)) 1 (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3) -1/3 (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/3 (pow.f64 im 3)) 1 (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 im -1/3) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -1/60 (pow.f64 im 5))) (cbrt.f64 (*.f64 1/3600 (pow.f64 im 10))) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/3600 (pow.f64 im 10))) (cbrt.f64 (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 10)) (*.f64 (cbrt.f64 (pow.f64 im 5)) -1/60) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (cbrt.f64 -1/3)) (pow.f64 (*.f64 im (cbrt.f64 -1/3)) 2) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 im (cbrt.f64 -1/3)) 2) (*.f64 im (cbrt.f64 -1/3)) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/60) (pow.f64 im 5/2)) (*.f64 (sqrt.f64 -1/60) (pow.f64 im 5/2)) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/3) (pow.f64 im 3/2)) (*.f64 (sqrt.f64 -1/3) (pow.f64 im 3/2)) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3/2) (*.f64 (pow.f64 im 3/2) -1/3) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5/2) (*.f64 (pow.f64 im 5/2) -1/60) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/3 im) (*.f64 im im) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/3 (*.f64 im im)) im (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/3 (pow.f64 im 3/2)) (pow.f64 im 3/2) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/60 (cbrt.f64 (pow.f64 im 10))) (cbrt.f64 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/60 (pow.f64 im 5/2)) (pow.f64 im 5/2) (*.f64 -1/3 (pow.f64 im 3)))))))

simplify86.0ms (0.6%)

Algorithm
egg-herbie
Rules
529×distribute-rgt-in_binary64
515×distribute-lft-in_binary64
412×cancel-sign-sub-inv_binary64
343×fma-def_binary64
269×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054731
1150731
2543635
32787582
44951582
57790582
Stop Event
node limit
Counts
184 → 178
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))
Outputs
(*.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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))
(fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im))
(+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/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 -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))))
(fma.f64 1/2 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 -1/4 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re re))))
(fma.f64 1/2 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.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)))))
(fma.f64 1/2 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (fma.f64 -1/4 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re re)) (*.f64 1/48 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 4)))))
(fma.f64 1/2 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (fma.f64 -1/4 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re re)) (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/48 (pow.f64 re 4)) (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(*.f64 (fma.f64 -2 im (fma.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 (*.f64 re re)))))
(*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))) (+.f64 1/2 (*.f64 re (+.f64 (*.f64 -1/4 re) (*.f64 1/48 (pow.f64 re 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 (*.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))))))
(fma.f64 1/2 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (fma.f64 -1/4 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 4)) (*.f64 -1/1440 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (fma.f64 -1/4 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 4)) (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))) (+.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (neg.f64 (*.f64 im (cos.f64 re))))
(-.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re)) (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(*.f64 (cos.f64 re) (fma.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 1/2 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(+.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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.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))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))))
(fma.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)) (*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(+.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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.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))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re))))
(fma.f64 -1/120 (*.f64 (pow.f64 im 5) (cos.f64 re)) (*.f64 (*.f64 -1/6 (pow.f64 im 3)) (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(+.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 (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))) (neg.f64 im)) (cos.f64 re))
(*.f64 (+.f64 (fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
495×pow1_binary64
474×add-sqr-sqrt_binary64
454×add-log-exp_binary64
453×log1p-expm1-u_binary64
453×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11226
215436
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (neg.f64 im) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 im (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 im (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 im (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 im (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 im (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 im (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 im (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 im (cos.f64 re))))))))

simplify60.0ms (0.4%)

Algorithm
egg-herbie
Rules
494×cancel-sign-sub-inv_binary64
491×distribute-rgt-neg-in_binary64
455×distribute-lft-neg-in_binary64
438×fma-def_binary64
437×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
026235
166232
2173221
3581219
42538219
57251219
Stop Event
node limit
Counts
37 → 23
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))
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)))
(fma.f64 -1 im (*.f64 1/2 (*.f64 im (*.f64 re re))))
(-.f64 (*.f64 im (*.f64 1/2 (*.f64 re re))) im)
(*.f64 im (fma.f64 1/2 (*.f64 re re) -1))
(*.f64 im (fma.f64 re (*.f64 re 1/2) -1))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(fma.f64 -1/24 (*.f64 im (pow.f64 re 4)) (fma.f64 -1 im (*.f64 1/2 (*.f64 im (*.f64 re re)))))
(fma.f64 -1/24 (*.f64 im (pow.f64 re 4)) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 re re))) im))
(*.f64 im (+.f64 (*.f64 re (*.f64 re 1/2)) (fma.f64 -1/24 (pow.f64 re 4) -1)))
(*.f64 im (fma.f64 re (*.f64 re 1/2) (fma.f64 -1/24 (pow.f64 re 4) -1)))
(*.f64 im (fma.f64 1/2 (*.f64 re re) (fma.f64 -1/24 (pow.f64 re 4) -1)))
(+.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)))))
(fma.f64 1/720 (*.f64 im (pow.f64 re 6)) (fma.f64 -1/24 (*.f64 im (pow.f64 re 4)) (fma.f64 -1 im (*.f64 1/2 (*.f64 im (*.f64 re re))))))
(fma.f64 1/720 (*.f64 im (pow.f64 re 6)) (fma.f64 -1/24 (*.f64 im (pow.f64 re 4)) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 re re))) im)))
(*.f64 im (+.f64 (fma.f64 1/2 (*.f64 re re) -1) (fma.f64 1/720 (pow.f64 re 6) (*.f64 -1/24 (pow.f64 re 4)))))
(*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (fma.f64 re (*.f64 re 1/2) (fma.f64 -1/24 (pow.f64 re 4) -1))))
(*.f64 im (+.f64 (*.f64 1/720 (pow.f64 re 6)) (fma.f64 1/2 (*.f64 re re) (fma.f64 -1/24 (pow.f64 re 4) -1))))
(*.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))

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

series1.0ms (0%)

Counts
1 → 8
Calls

3 calls:

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

rewrite40.0ms (0.3%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
68×add-sqr-sqrt_binary64
65×*-un-lft-identity_binary64
65×add-log-exp_binary64
65×pow1_binary64
63×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
112710
2211610
0610
Stop Event
iter limit
unsound
Counts
1 → 12
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.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))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))

simplify68.0ms (0.5%)

Algorithm
egg-herbie
Rules
676×unswap-sqr_binary64
664×fma-def_binary64
377×associate-/l/_binary64
323×associate-/l*_binary64
303×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02598
16398
214198
333698
470398
5157098
6248498
7396998
8546898
Stop Event
node limit
Counts
20 → 21
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))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(fma.f64 -2 im (*.f64 -1/3 (pow.f64 im 3)))
(fma.f64 -1/3 (pow.f64 im 3) (*.f64 -2 im))
(*.f64 im (fma.f64 im (*.f64 im -1/3) -2))
(*.f64 im (fma.f64 -1/3 (*.f64 im im) -2))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))
(fma.f64 -2 im (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5))))
(fma.f64 -1/3 (pow.f64 im 3) (fma.f64 -2 im (*.f64 -1/60 (pow.f64 im 5))))
(fma.f64 im (fma.f64 im (*.f64 im -1/3) -2) (*.f64 -1/60 (pow.f64 im 5)))
(fma.f64 im (fma.f64 -1/3 (*.f64 im im) -2) (*.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)))))
(fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3)))))
(fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -2 im (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5)))))
(fma.f64 -2 im (fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/60 (pow.f64 im 5)))))
(fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (fma.f64 -1/3 (pow.f64 im 3) (*.f64 -1/2520 (pow.f64 im 7)))))
(fma.f64 im (fma.f64 -1/3 (*.f64 im im) -2) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/2520 (pow.f64 im 7))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series11.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite103.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
646×prod-diff_binary64
478×log-prod_binary64
333×fma-def_binary64
310×pow-prod-down_binary64
266×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01032
121832
2264232
Stop Event
node limit
Counts
3 → 159
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(*.f64 (pow.f64 im 3) -1/6)
(-.f64 (*.f64 (pow.f64 im 3) -1/6) im)
Outputs
((#(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 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (cos.f64 re)) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.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 9) -1/216) (pow.f64 im 3))) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) (fma.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 pow.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 im 3) -1/6))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 im 3) -1/6)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 6) 1/36) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (cbrt.f64 -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 9) -1/216) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 6) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 9) -1/216))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 3) -1/6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 im (cbrt.f64 -1/6))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 9) -1/216)) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (fma.f64 -1 im im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 3) -1/6 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)) (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (pow.f64 im 3) -1/6 im) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (fma.f64 (pow.f64 im 3) -1/6 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3))) (neg.f64 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) (neg.f64 (fma.f64 (pow.f64 im 3) -1/6 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 im 9) -1/216 (pow.f64 (neg.f64 im) 3)) (fma.f64 (pow.f64 im 6) 1/36 (-.f64 (pow.f64 (neg.f64 im) 2) (*.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (pow.f64 (neg.f64 im) 2)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)) (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (pow.f64 im 3) -1/6 im) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 (pow.f64 im 3) -1/6)) (+.f64 1 (expm1.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))) (+.f64 1 (expm1.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 (*.f64 im im) -1/6) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 (*.f64 im im) -1/6) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3) -1/6 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3) -1/6 (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (pow.f64 im 3) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) 1 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) 1 (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 1 (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 1 (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 1 (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 im -1/6) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 im -1/6) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (cbrt.f64 -1/6)) (pow.f64 (*.f64 im (cbrt.f64 -1/6)) 2) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (cbrt.f64 -1/6)) (pow.f64 (*.f64 im (cbrt.f64 -1/6)) 2) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 im (cbrt.f64 -1/6)) 2) (*.f64 im (cbrt.f64 -1/6)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 im (cbrt.f64 -1/6)) 2) (*.f64 im (cbrt.f64 -1/6)) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 im) 2) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 3) -1/6 im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 3) -1/6 im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 3) -1/6 im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3/2) (*.f64 (pow.f64 im 3/2) -1/6) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3/2) (*.f64 (pow.f64 im 3/2) -1/6) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 im)) 2) (cbrt.f64 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 im) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (sqrt.f64 im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (sqrt.f64 im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (pow.f64 (cbrt.f64 im) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (sqrt.f64 im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 im) (*.f64 im im) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 im) (*.f64 im im) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (*.f64 im im)) im (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (*.f64 im im)) im (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 im 3/2)) (pow.f64 im 3/2) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 im 3/2)) (pow.f64 im 3/2) (*.f64 (neg.f64 im) 1))))))

simplify64.0ms (0.4%)

Algorithm
egg-herbie
Rules
855×cancel-sign-sub-inv_binary64
779×unsub-neg_binary64
633×associate-+r+_binary64
355×*-commutative_binary64
258×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042632
1114615
2361591
31947573
45124573
Stop Event
node limit
Counts
207 → 177
Calls
Call 1
Inputs
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) im)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) im)
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 -1/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 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
Outputs
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re re)) (*.f64 -1/6 (pow.f64 im 3))) im)
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (fma.f64 -1/2 (*.f64 re re) 1))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (fma.f64 -1/2 (*.f64 re re) 1))
(-.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 (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re re)) (fma.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 (fma.f64 -1/2 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 re re)) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 1/24 (pow.f64 re 4))))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4))))) im)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 re re) 1)))
(-.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 (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re re)) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/720 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 6)) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 4)))))) im)
(-.f64 (fma.f64 -1/2 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 re re)) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 -1/2 (*.f64 re re))))) im)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6)))))
(*.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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.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 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (*.f64 -1/6 (pow.f64 im 3)) (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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (*.f64 -1/6 (pow.f64 im 3)) (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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.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 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite38.0ms (0.2%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
118×add-sqr-sqrt_binary64
113×*-un-lft-identity_binary64
113×pow1_binary64
111×add-log-exp_binary64
109×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01118
122818
2352418
01118
Stop Event
iter limit
unsound
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
Outputs
((#(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)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))))))

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
470×unswap-sqr_binary64
408×distribute-rgt-in_binary64
335×distribute-lft-in_binary64
319×*-commutative_binary64
306×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059560
1155558
2427504
31649474
44374474
Stop Event
node limit
Counts
30 → 24
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.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)))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (neg.f64 (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (cos.f64 re) im)))
(fma.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (cos.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (fma.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)) (*.f64 -1/5040 (*.f64 (cos.f64 re) (pow.f64 im 7))))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (fma.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 7) -1/5040))) (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 -1/5040 (pow.f64 im 7) (neg.f64 im)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.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 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.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 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.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 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.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 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 -1/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))))
(fma.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(fma.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 re (*.f64 re -1/4))))
(+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 re re) -1/4))))
(fma.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 re (*.f64 re -1/4)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 (*.f64 re re) (+.f64 -1/4 (*.f64 (*.f64 re re) 1/48)))))
(+.f64 (*.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(fma.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(fma.f64 -1/1440 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 4)) (fma.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 re re) -1/4)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (+.f64 1/2 (*.f64 re (*.f64 re -1/4))) (+.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/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval580.0ms (3.8%)

Compiler

Compiled 11843 to 7481 computations (36.8% saved)

prune294.0ms (1.9%)

Pruning

33 alts after pruning (28 fresh and 5 done)

PrunedKeptTotal
New58428612
Fresh101
Picked011
Done044
Total58533618
Error
0.0b
Counts
618 → 33
Alt Table
Click to see full alt table
StatusErrorProgram
29.3b
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))
1.7b
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
17.3b
(*.f64 (neg.f64 im) (/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2)))
1.6b
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
1.2b
(*.f64 (expm1.f64 (log1p.f64 (cos.f64 re))) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
17.7b
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
60.2b
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
1.9b
(*.f64 (neg.f64 im) (/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1)))))
3.8b
(*.f64 (neg.f64 im) (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
2.1b
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
1.1b
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
32.2b
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
2.5b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
29.3b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
1.2b
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
29.5b
(neg.f64 im)
1.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
1.8b
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
17.8b
(fma.f64 (*.f64 (*.f64 -2 im) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
2.4b
(fma.f64 (*.f64 (*.f64 -2 im) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))
29.3b
(*.f64 (*.f64 im (fma.f64 -1/3 (*.f64 im im) -2)) 1/2)
1.4b
(*.f64 (-.f64 (+.f64 (cos.f64 re) 1) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
1.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)))))
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))))
1.8b
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
34.0b
(*.f64 (cos.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
28.5b
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.f64 (pow.f64 im 3) -1/6 im))
1.7b
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
1.9b
(*.f64 (neg.f64 im) (/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1)))
59.4b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
31.5b
(*.f64 (cos.f64 re) (pow.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))
Compiler

Compiled 922 to 708 computations (23.2% saved)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 62 to 45 computations (27.4% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite109.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
719×log-prod_binary64
699×fma-def_binary64
324×fma-neg_binary64
284×expm1-udef_binary64
284×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01541
133739
2427039
Stop Event
node limit
Counts
3 → 147
Calls
Call 1
Inputs
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.f64 (pow.f64 im 5) -1/120)
(-.f64 (*.f64 (pow.f64 im 5) -1/120) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re)) (*.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3)) (cos.f64 re)) (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36)) (cos.f64 re)) (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3))) (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36))) (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 3) (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re) (*.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5))) (cbrt.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 5) -1/120))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/14400 (pow.f64 im 10)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 5) -1/120)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))) (cbrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 5) -1/120 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10))) (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (pow.f64 im 5) -1/120 im) (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3)) (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im)) (fma.f64 (pow.f64 im 5) -1/120 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3))) (neg.f64 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im))) (neg.f64 (fma.f64 (pow.f64 im 5) -1/120 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3) (pow.f64 (neg.f64 im) 3)) (fma.f64 1/14400 (pow.f64 im 10) (-.f64 (*.f64 (neg.f64 im) (neg.f64 im)) (*.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 (neg.f64 im) (neg.f64 im))) (-.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)) (+.f64 1 (expm1.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))) (+.f64 1 (expm1.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)) (/.f64 1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))) (/.f64 1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 (exp.f64 -1/120) (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 im)) (pow.f64 (exp.f64 -1/120) (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5) -1/120 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5) -1/120 (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/120 (pow.f64 im 5) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 5) -1/120) 1 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 5) -1/120) 1 (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 1 (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 1 (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 1 (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 im im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 10)) (*.f64 (cbrt.f64 (pow.f64 im 5)) -1/120) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 10)) (*.f64 (cbrt.f64 (pow.f64 im 5)) -1/120) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10)))) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10)))) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10)))) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 5) -1/120 im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 5) -1/120 im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 5) -1/120 im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5/2) (*.f64 (pow.f64 im 5/2) -1/120) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5/2) (*.f64 (pow.f64 im 5/2) -1/120) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 im))) (cbrt.f64 (neg.f64 im)) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 im) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 im (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (sqrt.f64 im)) (fma.f64 (neg.f64 im) 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (sqrt.f64 im)) (fma.f64 (neg.f64 (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (sqrt.f64 im)) (+.f64 (neg.f64 im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (cbrt.f64 (pow.f64 im 10))) (cbrt.f64 (pow.f64 im 5)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (cbrt.f64 (pow.f64 im 10))) (cbrt.f64 (pow.f64 im 5)) (*.f64 (neg.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5/2)) (pow.f64 im 5/2) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5/2)) (pow.f64 im 5/2) (*.f64 (neg.f64 im) 1))))))

simplify142.0ms (0.9%)

Algorithm
egg-herbie
Rules
523×fma-neg_binary64
465×cancel-sign-sub-inv_binary64
416×distribute-rgt-in_binary64
398×distribute-lft-in_binary64
359×*-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
052977
1146963
2476774
32196745
44881731
Stop Event
node limit
Counts
195 → 171
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1 im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.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)))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (neg.f64 (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.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))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(fma.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (fma.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)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.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))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(fma.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)) (*.f64 (pow.f64 im 3) (*.f64 (cos.f64 re) -1/6)))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (fma.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)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/2 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 re re))))) im)
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im))) (*.f64 -1/6 (pow.f64 im 3))) im))
(-.f64 (fma.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (*.f64 -1/2 (*.f64 re re)) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) im)
(*.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 re re)) (*.f64 1/24 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im))) (*.f64 (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 4) 1/24))))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 re (*.f64 re -1/2)) (*.f64 1/24 (pow.f64 re 4)))))) im)
(*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 1/24 (pow.f64 re 4))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(-.f64 (fma.f64 -1/720 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 re re)) (*.f64 1/24 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(-.f64 (fma.f64 -1/720 (*.f64 (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im) (pow.f64 re 6)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im))) (*.f64 (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 4) 1/24)))))) im)
(-.f64 (fma.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4))))))) im)
(+.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) (-.f64 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/720 (pow.f64 re 6)))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (pow.f64 im 5) (*.f64 (cos.f64 re) -1/120)) (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1 im))
(fma.f64 -1/120 (pow.f64 im 5) (neg.f64 im))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) im)

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 43 to 33 computations (23.3% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite87.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
675×fma-def_binary64
565×log-prod_binary64
335×pow2_binary64
310×fma-neg_binary64
230×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01219
127917
2355717
Stop Event
node limit
Counts
1 → 88
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 im (*.f64 1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3)))) (/.f64 (*.f64 (pow.f64 im 6) 1/36) (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) (pow.f64 (cbrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) 2) (cbrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) (sqrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36)) (/.f64 1 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2)) (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3))) (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3)) (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3)) (fma.f64 (pow.f64 im 6) 1/36 (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36)) (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36))) (neg.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3))) 3)) (fma.f64 1/14400 (pow.f64 im 10) (+.f64 (pow.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3))) 2) (*.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (pow.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3))) 2)) (fma.f64 (pow.f64 im 5) -1/120 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2)) (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 1/6 (pow.f64 im 3))) (-.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 2) (*.f64 (pow.f64 im 6) 1/36))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))) (exp.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 -1/120) (pow.f64 im 5)) (/.f64 (exp.f64 im) (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 5) -1/120))) (/.f64 (exp.f64 im) (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))) (pow.f64 (exp.f64 -1/6) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))) (exp.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)) (+.f64 1 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 3) -1/6))) (+.f64 1 (expm1.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (fma.f64 (pow.f64 im 3) -1/6 (*.f64 (pow.f64 im 5) -1/120)) im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 (*.f64 im im) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5) -1/120 (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5) -1/120 (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/120 (pow.f64 im 5) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 5) -1/120) 1 (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 5) -1/120) 1 (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) 1 (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3) -1/6 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (pow.f64 im 3) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) 1 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 5) -1/120) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 3) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 im -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (cbrt.f64 -1/6)) (cbrt.f64 (*.f64 (pow.f64 im 6) 1/36)) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 6) 1/36)) (*.f64 im (cbrt.f64 -1/6)) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/14400 (pow.f64 im 10))) (cbrt.f64 (*.f64 (pow.f64 im 5) -1/120)) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 10)) (*.f64 (cbrt.f64 (pow.f64 im 5)) -1/120) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 10)) (*.f64 (cbrt.f64 (pow.f64 im 5)) -1/120) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/1728000 (pow.f64 (pow.f64 im 5) 3)) (pow.f64 im 3)) (/.f64 1 (fma.f64 im (fma.f64 (pow.f64 im 5) -1/120 im) (*.f64 1/14400 (pow.f64 im 10)))) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/14400 (pow.f64 im 10)) (*.f64 im im)) (/.f64 1 (fma.f64 (pow.f64 im 5) -1/120 im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3/2) (*.f64 (pow.f64 im 3/2) -1/6) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5/2) (*.f64 (pow.f64 im 5/2) -1/120) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5/2) (*.f64 (pow.f64 im 5/2) -1/120) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2) (sqrt.f64 im)) (-.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 im) (*.f64 im im) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (*.f64 im im)) im (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 im 3/2)) (pow.f64 im 3/2) (-.f64 (*.f64 (pow.f64 im 5) -1/120) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (cbrt.f64 (pow.f64 im 10))) (cbrt.f64 (pow.f64 im 5)) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (cbrt.f64 (pow.f64 im 10))) (cbrt.f64 (pow.f64 im 5)) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5/2)) (pow.f64 im 5/2) (neg.f64 (+.f64 im (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5/2)) (pow.f64 im 5/2) (fma.f64 -1 im (*.f64 (pow.f64 im 3) -1/6)))))))

simplify136.0ms (0.9%)

Algorithm
egg-herbie
Rules
779×fma-neg_binary64
416×unswap-sqr_binary64
415×neg-mul-1_binary64
413×neg-sub0_binary64
326×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015157
138157
281157
3204157
4451157
51316157
63035157
74599157
85873157
97023157
107499157
117995157
Stop Event
node limit
Counts
100 → 97
Calls
Call 1
Inputs
(*.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 -1 im)))
(*.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 (*.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 -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 (*.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)))
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) (fma.f64 (pow.f64 im 5) 1/120 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) (fma.f64 (pow.f64 im 5) 1/120 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))
(fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) (fma.f64 (pow.f64 im 5) 1/120 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) (fma.f64 (pow.f64 im 5) 1/120 im))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))
(fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) (fma.f64 (pow.f64 im 5) 1/120 im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) (fma.f64 (pow.f64 im 5) 1/120 im))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.1b
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
0.2b
(log1p.f64 (expm1.f64 (cos.f64 re)))
0.6b
(expm1.f64 (cos.f64 re))
Compiler

Compiled 22 to 7 computations (68.2% saved)

series4.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite69.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
576×pow1_binary64
528×add-log-exp_binary64
528×expm1-log1p-u_binary64
527×log1p-expm1-u_binary64
516×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0816
114414
2175214
Stop Event
node limit
Counts
3 → 47
Calls
Call 1
Inputs
(expm1.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1) (+.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) (+.f64 1 (*.f64 (exp.f64 (cos.f64 re)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (+.f64 (exp.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) im)))))))

simplify130.0ms (0.9%)

Algorithm
egg-herbie
Rules
750×distribute-rgt-neg-in_binary64
545×distribute-lft-neg-in_binary64
482×fma-neg_binary64
341×*-commutative_binary64
326×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
056443
1145428
2395409
31364405
42638402
55178401
67771401
Stop Event
node limit
Counts
95 → 73
Calls
Call 1
Inputs
(-.f64 (E.f64) 1)
(-.f64 (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)))) 1)
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4))) (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2))))) 1)
(-.f64 (+.f64 (*.f64 -31/720 (*.f64 (E.f64) (pow.f64 re 6))) (+.f64 (*.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4))) (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)))))) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.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))
Outputs
(-.f64 (E.f64) 1)
(+.f64 (E.f64) -1)
(expm1.f64 1)
(-.f64 (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)))) 1)
(+.f64 (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (*.f64 re re)))) -1)
(+.f64 (*.f64 (*.f64 re re) (*.f64 (E.f64) -1/2)) (expm1.f64 1))
(fma.f64 (*.f64 re re) (*.f64 (E.f64) -1/2) (expm1.f64 1))
(fma.f64 (fma.f64 -1/2 (*.f64 re re) 1) (E.f64) -1)
(fma.f64 (E.f64) (fma.f64 -1/2 (*.f64 re re) 1) -1)
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4))) (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2))))) 1)
(+.f64 (fma.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4)) (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (*.f64 re re))))) -1)
(fma.f64 (*.f64 (E.f64) 1/6) (pow.f64 re 4) (+.f64 (*.f64 (*.f64 re re) (*.f64 (E.f64) -1/2)) (expm1.f64 1)))
(fma.f64 (E.f64) (*.f64 1/6 (pow.f64 re 4)) (fma.f64 (*.f64 re re) (*.f64 (E.f64) -1/2) (expm1.f64 1)))
(+.f64 (*.f64 (E.f64) (+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/6 (pow.f64 re 4)))) -1)
(fma.f64 (E.f64) (+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/6 (pow.f64 re 4))) -1)
(-.f64 (+.f64 (*.f64 -31/720 (*.f64 (E.f64) (pow.f64 re 6))) (+.f64 (*.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4))) (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (pow.f64 re 2)))))) 1)
(+.f64 (fma.f64 -31/720 (*.f64 (E.f64) (pow.f64 re 6)) (fma.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4)) (+.f64 (E.f64) (*.f64 -1/2 (*.f64 (E.f64) (*.f64 re re)))))) -1)
(fma.f64 (*.f64 (E.f64) -31/720) (pow.f64 re 6) (fma.f64 (*.f64 (E.f64) 1/6) (pow.f64 re 4) (+.f64 (*.f64 (*.f64 re re) (*.f64 (E.f64) -1/2)) (expm1.f64 1))))
(fma.f64 (E.f64) (*.f64 -31/720 (pow.f64 re 6)) (fma.f64 (E.f64) (*.f64 1/6 (pow.f64 re 4)) (fma.f64 (*.f64 re re) (*.f64 (E.f64) -1/2) (expm1.f64 1))))
(+.f64 (expm1.f64 1) (*.f64 (E.f64) (+.f64 (*.f64 -1/2 (*.f64 re re)) (+.f64 (*.f64 -31/720 (pow.f64 re 6)) (*.f64 1/6 (pow.f64 re 4))))))
(fma.f64 (E.f64) (*.f64 -31/720 (pow.f64 re 6)) (fma.f64 (E.f64) (+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/6 (pow.f64 re 4))) -1))
(fma.f64 (E.f64) (+.f64 (*.f64 -1/2 (*.f64 re re)) (+.f64 (*.f64 -31/720 (pow.f64 re 6)) (*.f64 1/6 (pow.f64 re 4)))) (expm1.f64 1))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 1)
(fma.f64 re (*.f64 -1/2 re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 re (*.f64 -1/2 re) 1))
(fma.f64 -1/2 (*.f64 re re) (fma.f64 (pow.f64 re 4) 1/24 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720)) (fma.f64 (pow.f64 re 4) 1/24 1))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 6) -1/720 (fma.f64 re (*.f64 -1/2 re) 1)))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 6) -1/720 (fma.f64 -1/2 (*.f64 re re) 1)))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 -1/2 (*.f64 re re) (fma.f64 (pow.f64 re 6) -1/720 1)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(fma.f64 -1 im (*.f64 1/2 (*.f64 (*.f64 re re) im)))
(fma.f64 1/2 (*.f64 (*.f64 re re) im) (neg.f64 im))
(*.f64 im (fma.f64 (*.f64 re re) 1/2 -1))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(fma.f64 -1/24 (*.f64 (pow.f64 re 4) im) (fma.f64 -1 im (*.f64 1/2 (*.f64 (*.f64 re re) im))))
(fma.f64 -1/24 (*.f64 (pow.f64 re 4) im) (fma.f64 1/2 (*.f64 (*.f64 re re) im) (neg.f64 im)))
(*.f64 im (+.f64 (*.f64 re (*.f64 re 1/2)) (fma.f64 (pow.f64 re 4) -1/24 -1)))
(*.f64 im (-.f64 -1 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 -1/2 (*.f64 re re)))))
(+.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)))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) im) (fma.f64 -1/24 (*.f64 (pow.f64 re 4) im) (fma.f64 -1 im (*.f64 1/2 (*.f64 (*.f64 re re) im)))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) im) (fma.f64 -1/24 (*.f64 (pow.f64 re 4) im) (fma.f64 1/2 (*.f64 (*.f64 re re) im) (neg.f64 im))))
(*.f64 im (+.f64 (fma.f64 (pow.f64 re 6) 1/720 (*.f64 (pow.f64 re 4) -1/24)) (fma.f64 (*.f64 re re) 1/2 -1)))
(*.f64 im (+.f64 (fma.f64 (*.f64 re re) 1/2 -1) (fma.f64 (pow.f64 re 6) 1/720 (*.f64 (pow.f64 re 4) -1/24))))
(*.f64 im (-.f64 (fma.f64 (pow.f64 re 4) -1/24 -1) (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (cos.f64 re)))

localize57.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 38 computations (33.3% saved)

series49.0ms (0.3%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
15.0ms
im
@inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
9.0ms
re
@0
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
6.0ms
im
@-inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
5.0ms
re
@inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
5.0ms
re
@-inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)

rewrite221.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
646×prod-diff_binary64
536×log-prod_binary64
367×pow-prod-down_binary64
343×fma-def_binary64
286×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01232
126332
2293632
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
(cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))
Outputs
((#(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 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (cos.f64 re))))) (#(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 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (*.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) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2)) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2) 1) (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2) (cbrt.f64 (cos.f64 re))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2) (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6)) (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 9) -1/216) (pow.f64 im 3)) (cos.f64 re)) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.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 9) -1/216) (pow.f64 im 3))) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) (fma.f64 (pow.f64 im 3) -1/6 im))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6) (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.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/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1))))))

simplify89.0ms (0.6%)

Algorithm
egg-herbie
Rules
804×distribute-rgt-in_binary64
803×distribute-lft-in_binary64
292×fma-def_binary64
271×associate-*r*_binary64
238×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02632272
19352064
238311914
Stop Event
node limit
Counts
111 → 119
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (pow.f64 re 2)) (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3)))))) (pow.f64 re 4))))
(+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/216 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/3 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3))))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/216 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/3 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))))))))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3)))))) (pow.f64 re 4)))))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3)))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))) im) (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))) im) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))) im)) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 -4/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im))) (*.f64 2/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))) im) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))))) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 2))))) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 re)) 1/3) (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))))) (cbrt.f64 1/6)))) (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 7))))) (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))) (pow.f64 im 3)) (pow.f64 (*.f64 (cos.f64 re) 1) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))) (pow.f64 im 3)))) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im))) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))) im)) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 6))))) (*.f64 -4/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im)))))))))))
(*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3)))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (*.f64 -1 (*.f64 im (+.f64 (*.f64 1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1 (*.f64 im (+.f64 (*.f64 1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (+.f64 (*.f64 4/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))))) im))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))))) (pow.f64 (cbrt.f64 1/6) 2)))) (*.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 7)))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 re)) 1/3) (/.f64 (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))) (cbrt.f64 1/6))))) (cbrt.f64 1/6)) (pow.f64 (*.f64 (cos.f64 re) 1) 1/3))))) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1 (*.f64 im (+.f64 (*.f64 1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (+.f64 (*.f64 4/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))))) im)))))
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (pow.f64 re 2))) (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (pow.f64 re 2))) (+.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (pow.f64 re 2))) (+.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (pow.f64 re 4)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/216 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/3 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (pow.f64 re 6)))))))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im)))
(+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5))))) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 im (pow.f64 (cbrt.f64 1/6) 2)))))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2)) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))))) (*.f64 (pow.f64 im 5) (pow.f64 (cbrt.f64 1/6) 2))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5))))) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im))) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5)))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2)) 1/3) (/.f64 (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))) (*.f64 (pow.f64 im 5) (pow.f64 (cbrt.f64 1/6) 2))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5))))))))
Outputs
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (pow.f64 re 2)) (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(fma.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/2) (*.f64 re re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(fma.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/2) (*.f64 re re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3)))))) (pow.f64 re 4))))
(+.f64 (fma.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/2) (*.f64 re re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (*.f64 (fma.f64 1/18 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 (*.f64 1/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24)) (*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (fma.f64 2/3 (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))))))) (pow.f64 re 4)))
(fma.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/2) (*.f64 re re) (fma.f64 (fma.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/18 (fma.f64 1/3 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/24) (*.f64 (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/24 (cbrt.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))))))) (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (*.f64 (fma.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 1/18 (fma.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (fma.f64 2/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 -1/24 (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2)))) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/72))) (pow.f64 re 4)))
(+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/216 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/3 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3))))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/216 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/3 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))))))))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3)))))) (pow.f64 re 4)))))
(fma.f64 (pow.f64 re 6) (+.f64 (+.f64 (*.f64 -1/9 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24)) (*.f64 1/3 (-.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/720) (fma.f64 -1/216 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 -1/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24)))))) (fma.f64 -1/6 (*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (fma.f64 2/3 (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))))) (*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (fma.f64 -1/9 (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))) (*.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (-.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/720) (fma.f64 -1/216 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 -1/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24)))))))))) (+.f64 (fma.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/2) (*.f64 re re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (*.f64 (fma.f64 1/18 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 (*.f64 1/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24)) (*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (fma.f64 2/3 (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))))))) (pow.f64 re 4))))
(fma.f64 (pow.f64 re 6) (fma.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/24) -1/9 (fma.f64 1/3 (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 7/2160) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/72)) (fma.f64 -1/6 (*.f64 (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/24 (cbrt.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))))) (*.f64 (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 7/2160) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/72)) (*.f64 (cbrt.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 (*.f64 -1/9 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) -1/24))))))) (fma.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/2) (*.f64 re re) (fma.f64 (fma.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/18 (fma.f64 1/3 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/24) (*.f64 (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/24 (cbrt.f64 (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))))))) (pow.f64 re 4) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(fma.f64 (pow.f64 re 6) (fma.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) -1/9 (fma.f64 1/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -23/2160) (*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (+.f64 (*.f64 (fma.f64 2/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 -1/24 (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2)))) -1/6) (*.f64 (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (+.f64 (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) -1/9) (*.f64 2/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -23/2160)))))))) (+.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (*.f64 (fma.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 1/18 (fma.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (fma.f64 2/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 -1/24 (cbrt.f64 (/.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))) (*.f64 1/36 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2)))) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/72))) (pow.f64 re 4))))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (pow.f64 1 1/3))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3)))
(*.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)
(*.f64 (*.f64 -1/6 (cos.f64 re)) (pow.f64 im 3))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))) im) (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))) im) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))) im)) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 -4/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im))) (*.f64 2/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im)))))))
(fma.f64 (*.f64 (cos.f64 re) -1) im (fma.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (*.f64 (*.f64 (cbrt.f64 -1) (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (cbrt.f64 1/6) 4)) -1/9)) (cbrt.f64 1/6)) im) (fma.f64 -1/6 (*.f64 1 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 (/.f64 (cos.f64 re) im) -2/3))))
(fma.f64 im (*.f64 (cos.f64 re) -1) (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (/.f64 (cbrt.f64 -1) im) (*.f64 (cbrt.f64 1/6) (*.f64 -1/9 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 1/6 (cbrt.f64 1/6))))))) (fma.f64 (/.f64 (cos.f64 re) im) -2/3 (*.f64 (*.f64 -1/6 (cos.f64 re)) (pow.f64 im 3)))))
(-.f64 (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (/.f64 (cbrt.f64 -1) im) (*.f64 (cbrt.f64 1/6) (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 1/6 (cbrt.f64 1/6))) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9)))) (fma.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) -2/3) im))) (*.f64 im (cos.f64 re)))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))) im) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))))) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 2))))) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 re)) 1/3) (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))))) (cbrt.f64 1/6)))) (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 7))))) (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))) (pow.f64 im 3)) (pow.f64 (*.f64 (cos.f64 re) 1) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))) (pow.f64 im 3)))) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im))) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))) im)) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 6))))) (*.f64 -4/3 (*.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 re) im)))))))))))
(fma.f64 (*.f64 (cos.f64 re) -1) im (fma.f64 -1/6 (*.f64 1 (*.f64 (pow.f64 im 3) (cos.f64 re))) (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 -1) (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (cbrt.f64 1/6) 4)) -1/9))) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 2))) (fma.f64 (/.f64 (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (cos.f64 re))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (/.f64 (cbrt.f64 1/6) (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) -5/27)))) (*.f64 -2/27 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (cbrt.f64 1/6) 7)))) (/.f64 (pow.f64 im 3) (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6)))) (cbrt.f64 (cos.f64 re)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) -5/27) (pow.f64 im 3))) (fma.f64 2/3 (/.f64 (cos.f64 re) im) (fma.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (*.f64 (*.f64 (cbrt.f64 -1) (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (cbrt.f64 1/6) 4)) -1/9)) (cbrt.f64 1/6)) im) (fma.f64 2/27 (/.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -4/3 (/.f64 (cos.f64 re) im))))))))))
(+.f64 (fma.f64 1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (/.f64 (cbrt.f64 -1) (pow.f64 im 3)) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 1/6 (cbrt.f64 1/6)))) (/.f64 (pow.f64 (cbrt.f64 1/6) 2) -1/9)))) (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (/.f64 (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (cos.f64 re))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (/.f64 (cbrt.f64 1/6) (/.f64 (*.f64 (cos.f64 re) -5/27) 1/36)))) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 7)) -2/27))) (pow.f64 im 3)) (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))) (fma.f64 1/3 (/.f64 (/.f64 (*.f64 (cos.f64 re) -5/27) 1/36) (pow.f64 im 3)) (+.f64 (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (/.f64 (cbrt.f64 -1) im) (*.f64 (cbrt.f64 1/6) (*.f64 -1/9 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 1/6 (cbrt.f64 1/6))))))) (*.f64 2/27 (*.f64 (/.f64 (cos.f64 re) (pow.f64 im 3)) 36))) (*.f64 -2/3 (/.f64 (cos.f64 re) im)))))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(+.f64 (+.f64 (fma.f64 1/3 (/.f64 (*.f64 (/.f64 (cos.f64 re) 1/6) -10/9) (pow.f64 im 3)) (+.f64 (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (/.f64 (cbrt.f64 -1) im) (*.f64 (cbrt.f64 1/6) (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 1/6 (cbrt.f64 1/6))) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9)))) (*.f64 2/27 (*.f64 (/.f64 (cos.f64 re) (pow.f64 im 3)) 36))) (/.f64 (*.f64 (cos.f64 re) -2/3) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 1/6 (cbrt.f64 1/6))) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9)))) (*.f64 (/.f64 (fma.f64 -2/27 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 (cbrt.f64 1/6) 7))) (*.f64 (*.f64 -2/3 (*.f64 (/.f64 (pow.f64 (cbrt.f64 -1) 2) (/.f64 (cbrt.f64 1/6) (*.f64 36 (cos.f64 re)))) -5/27)) (cbrt.f64 (/.f64 1 (cos.f64 re))))) (pow.f64 im 3)) (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6)))))) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3)))
(*.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) 1)
(*.f64 (*.f64 -1/6 (cos.f64 re)) (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (*.f64 -1 (*.f64 im (+.f64 (*.f64 1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))))))
(*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1 (*.f64 im (+.f64 (*.f64 1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (+.f64 (*.f64 4/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))))) im))))
(fma.f64 -1/6 (*.f64 1 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) (/.f64 (fma.f64 -2/3 (cos.f64 re) (fma.f64 4/3 (cos.f64 re) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))) -1/9))))) im))))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) (/.f64 (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9) (*.f64 1/6 (cbrt.f64 1/6)))))) im))
(fma.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re) (/.f64 (neg.f64 (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9) (*.f64 1/6 (cbrt.f64 1/6))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6))))) im))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))))) (pow.f64 (cbrt.f64 1/6) 2)))) (*.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 7)))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 re)) 1/3) (/.f64 (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))) (cbrt.f64 1/6))))) (cbrt.f64 1/6)) (pow.f64 (*.f64 (cos.f64 re) 1) 1/3))))) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 3)) (pow.f64 1 1/3))) (+.f64 (*.f64 -1 (*.f64 im (+.f64 (*.f64 1/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3)))))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -2/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (+.f64 (*.f64 4/3 (*.f64 (cos.f64 re) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))))) (cbrt.f64 1/6))))) im)))))
(fma.f64 -1 (/.f64 (fma.f64 -2/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) -5/27)) (fma.f64 1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))) -1/9) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (fma.f64 -2/27 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 7))) (*.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 1 (cos.f64 re)))) (/.f64 (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) -5/27) (cbrt.f64 1/6)))) (*.f64 (cbrt.f64 1/6) (cbrt.f64 (cos.f64 re))))))) (pow.f64 im 3)) (fma.f64 -1/6 (*.f64 1 (*.f64 (pow.f64 im 3) (cos.f64 re))) (*.f64 -1 (+.f64 (*.f64 im (cos.f64 re)) (/.f64 (fma.f64 -2/3 (cos.f64 re) (fma.f64 4/3 (cos.f64 re) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (/.f64 1 (pow.f64 (cbrt.f64 1/6) 4))) -1/9))))) im)))))
(-.f64 (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)) (/.f64 (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9) (*.f64 1/6 (cbrt.f64 1/6)))))) im)) (/.f64 (fma.f64 (/.f64 (cos.f64 re) 1/36) -2/27 (fma.f64 -1/3 (/.f64 (*.f64 (cos.f64 re) -5/27) 1/36) (fma.f64 1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 1/6 (cbrt.f64 1/6))) (/.f64 (pow.f64 (cbrt.f64 1/6) 2) -1/9))) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (cos.f64 re))) (/.f64 (/.f64 (cos.f64 re) 1/36) (/.f64 (cbrt.f64 1/6) -5/27))) (*.f64 -2/27 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 1/6) 7))))))))) (pow.f64 im 3)))
(-.f64 (fma.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re) (/.f64 (neg.f64 (+.f64 (*.f64 2/3 (cos.f64 re)) (*.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1/9) (*.f64 1/6 (cbrt.f64 1/6))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6))))) im)) (/.f64 (fma.f64 (*.f64 36 (cos.f64 re)) -2/27 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 re) 1/6) -10/9) (*.f64 (cbrt.f64 (cos.f64 re)) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 1/6) 2)) 1/6) (/.f64 -1/9 (cbrt.f64 1/6)))) (*.f64 (cbrt.f64 1/6) (fma.f64 -2/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (cos.f64 re))) (cbrt.f64 1/6)) (*.f64 (/.f64 (cos.f64 re) 1/6) -10/9)) (/.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -2/27) (pow.f64 (cbrt.f64 1/6) 7)))))))) (pow.f64 im 3)))
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3)
(cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (pow.f64 re 2))) (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3))
(fma.f64 -1/6 (*.f64 (*.f64 re re) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(fma.f64 -1/6 (*.f64 (*.f64 re re) (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (+.f64 (*.f64 -1/6 (*.f64 re re)) 1) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (pow.f64 re 2))) (+.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (pow.f64 re 4))))))
(+.f64 (fma.f64 -1/6 (*.f64 (*.f64 re re) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))) (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (pow.f64 re 4)))))
(fma.f64 -1/6 (*.f64 (*.f64 re re) (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/24 (pow.f64 re 4)))) (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 re re)) 1) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))) (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (pow.f64 re 4)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3) (pow.f64 re 2))) (+.f64 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (pow.f64 re 4)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/720 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/216 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/3 (-.f64 (*.f64 1/24 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/12 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (pow.f64 re 6)))))))
(+.f64 (fma.f64 -1/6 (*.f64 (*.f64 re re) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (*.f64 1/3 (+.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))) (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (pow.f64 re 4))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/720) (fma.f64 -1/216 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (*.f64 -1/3 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24)))))))))
(fma.f64 -1/6 (*.f64 (*.f64 re re) (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/24 (pow.f64 re 4))) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 7/2160) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/72))))) (cbrt.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 re re)) 1) (cbrt.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) 2))) (+.f64 (*.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -1/24) (pow.f64 re 4)) (*.f64 (pow.f64 re 6) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) -23/2160))))))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1/3)
(cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))
(cbrt.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (cos.f64 re)))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im)))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 -1)) (*.f64 im (cbrt.f64 1/6)))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (*.f64 im (cbrt.f64 -1))))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 im (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))))
(+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 -1) (*.f64 im (cbrt.f64 1/6))) (*.f64 (*.f64 1/3 (cbrt.f64 (cos.f64 re))) (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (*.f64 im (cbrt.f64 -1)))))
(*.f64 (cbrt.f64 (cos.f64 re)) (+.f64 (*.f64 im (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))) (*.f64 1/3 (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2)))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5))))) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 im (pow.f64 (cbrt.f64 1/6) 2)))))))
(fma.f64 -1/9 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5))) (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 -1) (*.f64 im (cbrt.f64 1/6))) (*.f64 (*.f64 1/3 (cbrt.f64 (cos.f64 re))) (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2)))))
(fma.f64 -1/9 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5)))) (fma.f64 1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (*.f64 im (cbrt.f64 -1))))))
(fma.f64 -1/9 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5))) (*.f64 (cbrt.f64 (cos.f64 re)) (+.f64 (*.f64 im (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))) (*.f64 1/3 (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2))))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2)) 1/3) (/.f64 (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))))) (*.f64 (pow.f64 im 5) (pow.f64 (cbrt.f64 1/6) 2))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5))))) (+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 1/6) im))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 (cbrt.f64 -1) (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (cbrt.f64 -1) (pow.f64 im 5)) (/.f64 (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) -5/27) (pow.f64 (cbrt.f64 1/6) 2)))) (fma.f64 -1/9 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5))) (fma.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 -1) (*.f64 im (cbrt.f64 1/6))) (*.f64 (*.f64 1/3 (cbrt.f64 (cos.f64 re))) (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (cbrt.f64 1/6) 2) (pow.f64 im 5))) (/.f64 (*.f64 (cos.f64 re) -5/27) 1/36))) (fma.f64 -1/9 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (cbrt.f64 -1) (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5)))) (fma.f64 1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/6) (*.f64 im (cbrt.f64 -1)))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2))) (*.f64 (*.f64 (/.f64 (*.f64 36 (cos.f64 re)) (pow.f64 (cbrt.f64 1/6) 2)) (/.f64 -5/27 (pow.f64 im 5))) (cbrt.f64 -1))) (fma.f64 -1/9 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 -1) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5))) (*.f64 (cbrt.f64 (cos.f64 re)) (+.f64 (*.f64 im (*.f64 (cbrt.f64 -1) (cbrt.f64 1/6))) (*.f64 1/3 (/.f64 (/.f64 (cbrt.f64 -1) im) (pow.f64 (cbrt.f64 1/6) 2)))))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im)))
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6)) im))
(*.f64 (*.f64 im (cbrt.f64 1/6)) (neg.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 im (neg.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im))) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))))
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6)) im) (*.f64 (*.f64 -1/3 (cbrt.f64 (cos.f64 re))) (/.f64 (/.f64 1 im) (pow.f64 (cbrt.f64 1/6) 2))))
(-.f64 (*.f64 -1/3 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) im) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 im (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6))))
(*.f64 (cbrt.f64 (cos.f64 re)) (-.f64 (*.f64 (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))) -1/3) (*.f64 im (cbrt.f64 1/6))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5)))))))
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6)) im) (fma.f64 -1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 1 im) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (*.f64 1/9 (cbrt.f64 (cos.f64 re))) (/.f64 (/.f64 1 (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5)))))
(-.f64 (fma.f64 -1/3 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) im) (pow.f64 (cbrt.f64 1/6) 2)) (*.f64 1/9 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5)))) (*.f64 im (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6))))
(+.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (-.f64 (*.f64 (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))) -1/3) (*.f64 im (cbrt.f64 1/6)))) (*.f64 1/9 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2)) 1/3) (/.f64 (+.f64 (*.f64 1/27 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6))) (*.f64 -2/9 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)))) (*.f64 (pow.f64 im 5) (pow.f64 (cbrt.f64 1/6) 2))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (*.f64 (cbrt.f64 1/6) im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))))) (*.f64 1/9 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1) 1/3) (/.f64 1 (*.f64 (pow.f64 im 3) (pow.f64 (cbrt.f64 1/6) 5))))))))
(fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/6) 6)) -5/27)) (*.f64 (pow.f64 (cbrt.f64 1/6) 2) (pow.f64 im 5))) (fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6)) im) (fma.f64 -1/3 (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 (/.f64 1 im) (pow.f64 (cbrt.f64 1/6) 2))) (*.f64 (*.f64 1/9 (cbrt.f64 (cos.f64 re))) (/.f64 (/.f64 1 (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2))) (/.f64 (/.f64 (*.f64 (cos.f64 re) -5/27) 1/36) (*.f64 (pow.f64 (cbrt.f64 1/6) 2) (pow.f64 im 5)))) (-.f64 (fma.f64 -1/3 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) im) (pow.f64 (cbrt.f64 1/6) 2)) (*.f64 1/9 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5)))) (*.f64 im (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/6)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (*.f64 36 (cos.f64 re)) (pow.f64 (cbrt.f64 1/6) 2)) (/.f64 -5/27 (pow.f64 im 5)))) (+.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (-.f64 (*.f64 (/.f64 1 (*.f64 im (pow.f64 (cbrt.f64 1/6) 2))) -1/3) (*.f64 im (cbrt.f64 1/6)))) (*.f64 1/9 (/.f64 (/.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 im 3)) (pow.f64 (cbrt.f64 1/6) 5)))))

eval950.0ms (6.3%)

Compiler

Compiled 16551 to 11843 computations (28.4% saved)

prune170.0ms (1.1%)

Pruning

34 alts after pruning (27 fresh and 7 done)

PrunedKeptTotal
New73014744
Fresh101323
Picked101
Done279
Total74334777
Error
0.0b
Counts
777 → 34
Alt Table
Click to see full alt table
StatusErrorProgram
1.7b
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
2.7b
(*.f64 (neg.f64 im) (log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)))
60.4b
(*.f64 -1/120 (pow.f64 im 5))
31.5b
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))
29.3b
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))
1.7b
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
2.1b
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
1.1b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
17.3b
(*.f64 (neg.f64 im) (/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2)))
1.6b
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
1.9b
(*.f64 (neg.f64 im) (/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1)))))
1.2b
(*.f64 (expm1.f64 (log1p.f64 (cos.f64 re))) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
29.3b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
2.7b
(pow.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cbrt.f64 (cos.f64 re))) 3)
28.5b
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.f64 (pow.f64 im 3) -1/6 im))
2.4b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)))
1.2b
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
29.5b
(neg.f64 im)
1.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
1.8b
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
17.7b
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
1.4b
(*.f64 (-.f64 (+.f64 (cos.f64 re) 1) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
60.2b
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
1.8b
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
17.5b
(*.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))))
34.0b
(*.f64 (cos.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
2.9b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
1.9b
(*.f64 (neg.f64 im) (/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1)))
59.4b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
31.5b
(*.f64 (cos.f64 re) (pow.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))
32.2b
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
Compiler

Compiled 866 to 670 computations (22.6% saved)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 66 to 49 computations (25.8% saved)

series9.0ms (0.1%)

Counts
4 → 19
Calls

15 calls:

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

rewrite89.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
719×log-prod_binary64
697×fma-def_binary64
317×fma-neg_binary64
284×expm1-udef_binary64
284×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01550
133750
2429350
Stop Event
node limit
Counts
4 → 121
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.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)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/120 (pow.f64 im 5)) (cos.f64 re)) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 3) (pow.f64 im 3)) (cos.f64 re)) (fma.f64 im (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) im)) (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2) (*.f64 im im)) (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 3) (pow.f64 im 3))) (fma.f64 im (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) im)) (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2) (*.f64 im im))) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))) (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5)) (cos.f64 re) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)) (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (cos.f64 re) (neg.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 im 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (cbrt.f64 -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 im 3) 3) -1/216) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 6) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 3) 3) -1/216))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 3 (log.f64 im) (log.f64 -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 3 (log.f64 im) (log.f64 -1/6)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/120 (pow.f64 im 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/120 (pow.f64 im 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 10) 1/14400))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/120 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 5 (log.f64 im) (log.f64 -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 5 (log.f64 im) (log.f64 -1/120)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 10) 1/14400) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 1/6 (pow.f64 im 3)))) (/.f64 (*.f64 (pow.f64 im 6) 1/36) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))) (cbrt.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2)) (cbrt.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))) (sqrt.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 10) 1/14400 (*.f64 (pow.f64 im 6) 1/36)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 10) 1/14400) (*.f64 (pow.f64 im 6) 1/36)) (/.f64 1 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 im 10) 1/14400 (*.f64 (pow.f64 im 6) 1/36)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))))) (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 1/6 (pow.f64 im 3))) (-.f64 (*.f64 (pow.f64 im 10) 1/14400) (*.f64 (pow.f64 im 6) 1/36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000)) (-.f64 (fma.f64 (pow.f64 im 10) 1/14400 (*.f64 (pow.f64 im 6) 1/36)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000)) (fma.f64 (pow.f64 im 6) 1/36 (-.f64 (*.f64 (pow.f64 im 10) 1/14400) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 10) 1/14400) (*.f64 (pow.f64 im 6) 1/36)) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 3) 3) -1/216 (*.f64 (pow.f64 (pow.f64 im 5) 3) -1/1728000))) (neg.f64 (-.f64 (fma.f64 (pow.f64 im 10) 1/14400 (*.f64 (pow.f64 im 6) 1/36)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 10) 1/14400) (*.f64 (pow.f64 im 6) 1/36))) (neg.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 im 6) 1/36 (neg.f64 (*.f64 (pow.f64 im 10) 1/14400))) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/120 (pow.f64 im 5)))) (pow.f64 (exp.f64 -1/6) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/120 (pow.f64 im 5)))) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 im 3)))) (pow.f64 (exp.f64 (pow.f64 im 5)) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 im 3)) (+.f64 1 (expm1.f64 (*.f64 -1/120 (pow.f64 im 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 1 (expm1.f64 (*.f64 -1/120 (pow.f64 im 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 (*.f64 im im) -1/6) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5) -1/120 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5)) 1 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3) -1/6 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 im 3)) 1 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 im -1/6) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -1/120 (pow.f64 im 5))) (cbrt.f64 (*.f64 (pow.f64 im 10) 1/14400)) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 10) 1/14400)) (cbrt.f64 (*.f64 -1/120 (pow.f64 im 5))) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 10)) (*.f64 (cbrt.f64 (pow.f64 im 5)) -1/120) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (cbrt.f64 -1/6)) (pow.f64 (*.f64 im (cbrt.f64 -1/6)) 2) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 im (cbrt.f64 -1/6)) 2) (*.f64 im (cbrt.f64 -1/6)) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 (sqrt.f64 -1/120) (pow.f64 im 5/2)) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 im 3/2)) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 3/2) (*.f64 (pow.f64 im 3/2) -1/6) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 5/2) (*.f64 (pow.f64 im 5/2) -1/120) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (cbrt.f64 (pow.f64 im 10))) (cbrt.f64 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/120 (pow.f64 im 5/2)) (pow.f64 im 5/2) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 im) (*.f64 im im) (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (*.f64 im im)) im (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 im 3/2)) (pow.f64 im 3/2) (*.f64 -1/120 (pow.f64 im 5)))))))

simplify198.0ms (1.3%)

Algorithm
egg-herbie
Rules
527×fma-neg_binary64
465×cancel-sign-sub-inv_binary64
410×distribute-rgt-in_binary64
395×distribute-lft-in_binary64
364×*-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
049543
1137537
2461458
32154399
44838385
Stop Event
node limit
Counts
140 → 141
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
Outputs
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.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)))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (neg.f64 (*.f64 (cos.f64 re) im)))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 (cos.f64 re) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (fma.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)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (cos.f64 re) (fma.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)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 re) im)) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 -1 (*.f64 (cos.f64 re) im) (*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (-.f64 (*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (cos.f64 re) im)))
(-.f64 (*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (cos.f64 re) im))
(*.f64 (cos.f64 re) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im)
(fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/2 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 re re))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im))) (*.f64 -1/6 (pow.f64 im 3)))) im)
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 (fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 re (*.f64 re -1/2)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 re re)) (*.f64 1/24 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4)))))) im)
(-.f64 (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im))) (*.f64 (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 4) 1/24))))) im)
(fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (-.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 re (*.f64 re -1/2)))) im)))
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/120 (pow.f64 im 5) (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 re re) 1/24) -1/2))))) im)
(*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 1/24 (pow.f64 re 4))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(-.f64 (fma.f64 -1/720 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 6)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 re re)) (*.f64 1/24 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 4))))))) im)
(-.f64 (fma.f64 -1/720 (*.f64 (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im) (pow.f64 re 6)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im))) (*.f64 (-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 -1/120 (pow.f64 im 5))) im) (*.f64 (pow.f64 re 4) 1/24)))))) im)
(fma.f64 (fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 -1/120 (pow.f64 im 5) (fma.f64 -1/6 (pow.f64 im 3) (-.f64 (*.f64 (fma.f64 -1/120 (pow.f64 im 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 re (*.f64 re -1/2)))) im))))
(+.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) (-.f64 (*.f64 (-.f64 (fma.f64 -1/120 (pow.f64 im 5) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 re re) 1/24) -1/2)) (*.f64 -1/720 (pow.f64 re 6)))) im))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 10 computations (23.1% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 48 to 33 computations (31.3% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite100.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
832×prod-diff_binary64
581×fma-def_binary64
573×log-prod_binary64
271×fma-neg_binary64
225×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01330
129424
2385324
Stop Event
node limit
Counts
3 → 181
Calls
Call 1
Inputs
(+.f64 (cos.f64 re) 1)
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (-.f64 (+.f64 (cos.f64 re) 1) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (fma.f64 (cos.f64 re) (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 (cos.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) 1) (+.f64 (cos.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (cbrt.f64 (cos.f64 re)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 re) 2) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) (cbrt.f64 (+.f64 (cos.f64 re) 2))) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 re))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 re))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (cbrt.f64 (exp.f64 (cos.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (cbrt.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (neg.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 re) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (cbrt.f64 (cos.f64 re)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 0 (-.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)) (*.f64 (-.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 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re)) (*.f64 (neg.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 re) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 -1 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (cos.f64 re) 1)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (-.f64 (pow.f64 (*.f64 (pow.f64 im 3) -1/6) 3) (pow.f64 im 3))) (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (-.f64 (pow.f64 (*.f64 (pow.f64 im 3) -1/6) 3) (pow.f64 im 3))) (*.f64 (+.f64 (cos.f64 re) 2) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 3) -1/6 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) (*.f64 (+.f64 (cos.f64 re) 2) (fma.f64 (pow.f64 im 3) -1/6 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 3) -1/6) 3) (pow.f64 im 3)) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 (pow.f64 im 3) -1/6 im) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 3) -1/6) 3) (pow.f64 im 3)) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)) (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 (pow.f64 im 3) -1/6 im) (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (+.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 3) -1/6) 3) (pow.f64 im 3)) (cos.f64 re)) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.f64 (pow.f64 im 3) -1/6 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (*.f64 (pow.f64 im 3) -1/6) 3) (pow.f64 im 3))) (fma.f64 im (fma.f64 (pow.f64 im 3) -1/6 im) (*.f64 (pow.f64 im 6) 1/36)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im))) (fma.f64 (pow.f64 im 3) -1/6 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (+.f64 (cos.f64 re) 2))))) (#(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 pow.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 3) (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 3) -1/6) (*.f64 (cos.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cos.f64 re) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (*.f64 -1 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 3) -1/6) (cos.f64 re) (*.f64 (neg.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (cos.f64 re) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (cos.f64 re) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (cos.f64 re) 1) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1 (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 1 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 2)) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 2)) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (cbrt.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (cbrt.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2)) (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2)) (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 2))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 2))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (cbrt.f64 (pow.f64 (cos.f64 re) 2))) (cbrt.f64 (cos.f64 re)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (cbrt.f64 (pow.f64 (cos.f64 re) 2))) (cbrt.f64 (cos.f64 re)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 0 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) 0))))))

simplify135.0ms (0.9%)

Algorithm
egg-herbie
Rules
703×fma-neg_binary64
620×unsub-neg_binary64
613×cancel-sign-sub-inv_binary64
499×associate-+l+_binary64
359×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054617
1147590
2438560
32004542
44711542
Stop Event
node limit
Counts
229 → 211
Calls
Call 1
Inputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.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)))
Outputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 2 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 2)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 2 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 2))
(fma.f64 -1/2 (*.f64 re re) (fma.f64 1/24 (pow.f64 re 4) 2))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 2 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 2)) (*.f64 -1/720 (pow.f64 re 6)))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) (fma.f64 -1/720 (pow.f64 re 6) 2)))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(fma.f64 -1/2 (*.f64 re re) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 -1/2 re) (fma.f64 -1/720 (pow.f64 re 6) 1)))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) (fma.f64 -1/720 (pow.f64 re 6) 1)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/2 (*.f64 (*.f64 re re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/6 (pow.f64 im 3))) im)
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 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 (fma.f64 -1/2 (*.f64 (*.f64 re re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (fma.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 (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (fma.f64 (*.f64 1/24 (pow.f64 re 4)) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 im 3)))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (fma.f64 -1/2 (*.f64 re re) (*.f64 1/24 (pow.f64 re 4))))) im)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1)))
(-.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 (fma.f64 -1/2 (*.f64 (*.f64 re re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (fma.f64 -1/6 (pow.f64 im 3) (fma.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 (fma.f64 -1/2 (*.f64 re (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (fma.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/720 (pow.f64 re 6)))))) im)
(-.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))) im)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) (fma.f64 -1/720 (pow.f64 re 6) 1))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (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 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
(*.f64 (cos.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (cos.f64 re) im)))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (cos.f64 re) (fma.f64 -1/6 (pow.f64 im 3) (neg.f64 im)))

localize55.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.1b
(*.f64 (cos.f64 re) (neg.f64 im))
0.6b
(cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im)))
0.8b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
Compiler

Compiled 28 to 9 computations (67.9% saved)

series28.0ms (0.2%)

Counts
3 → 48
Calls

18 calls:

TimeVariablePointExpression
12.0ms
re
@0
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
4.0ms
re
@inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
3.0ms
re
@-inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
1.0ms
im
@0
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
1.0ms
im
@inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)

rewrite78.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
671×pow1_binary64
628×add-log-exp_binary64
627×log1p-expm1-u_binary64
627×expm1-log1p-u_binary64
613×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0926
119120
2206820
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
(cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im)))
(*.f64 (cos.f64 re) (neg.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) (cbrt.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) (sqrt.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 re) im) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 re) im) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)) 3) (cbrt.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) im) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) im) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 re)) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (sqrt.f64 im)) (sqrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) -1) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) (cbrt.f64 (cos.f64 re))) (cbrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) (pow.f64 (*.f64 (cos.f64 re) im) 1/6)) (pow.f64 (*.f64 (cos.f64 re) im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 im) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 re) im) 1/6) (pow.f64 (*.f64 (cos.f64 re) im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) im) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) im) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) im)))))))

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
873×fma-def_binary64
402×*-commutative_binary64
303×distribute-rgt-in_binary64
302×distribute-lft-in_binary64
292×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0122926
1401891
21432788
35559772
Stop Event
node limit
Counts
123 → 90
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 1 1/3) im))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) im)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) im)) (*.f64 1/6 (*.f64 (pow.f64 1 1/3) im)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) im)) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 1 (pow.f64 im 2)) 1/3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) im)))) (pow.f64 re 4)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) im)) (*.f64 1/6 (*.f64 (pow.f64 1 1/3) im))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) im)) (+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 1 (pow.f64 im 2)) 1/3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im))))))))) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 -1/720 im) (+.f64 (*.f64 -1/216 im) (*.f64 -1/3 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 im) (+.f64 (*.f64 -1/216 im) (*.f64 -1/3 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im))))))))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 1 (pow.f64 im 2)) 1/3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) im)))) (pow.f64 re 4)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) im)) (*.f64 1/6 (*.f64 (pow.f64 1 1/3) im)))))))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (pow.f64 re 2)))) (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)) (pow.f64 re 4))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (pow.f64 re 2)))) (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)) (pow.f64 re 4))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/720 im) (+.f64 (*.f64 -1/216 im) (*.f64 -1/3 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im))))))))))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 -1 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) im)) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(*.f64 -1 (*.f64 (cos.f64 re) im))
Outputs
(*.f64 -1 (*.f64 (pow.f64 1 1/3) im))
(neg.f64 im)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) im)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) im)) (*.f64 1/6 (*.f64 (pow.f64 1 1/3) im)))))
(fma.f64 -1 im (*.f64 (*.f64 re re) (*.f64 im 1/2)))
(fma.f64 (*.f64 re re) (*.f64 im 1/2) (neg.f64 im))
(*.f64 im (fma.f64 (*.f64 re re) 1/2 -1))
(*.f64 im (fma.f64 re (*.f64 re 1/2) -1))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) im)) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 1 (pow.f64 im 2)) 1/3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) im)))) (pow.f64 re 4)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) im)) (*.f64 1/6 (*.f64 (pow.f64 1 1/3) im))))))
(fma.f64 -1 im (fma.f64 (+.f64 (fma.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 -1) (fma.f64 1/36 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 im))) (*.f64 (*.f64 im -1/24) (pow.f64 (cbrt.f64 -1) 2))))) (*.f64 im -1/18)) (*.f64 -1/3 (*.f64 im -1/24))) (pow.f64 re 4) (*.f64 (*.f64 re re) (*.f64 im 1/2))))
(-.f64 (fma.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 -1)) (fma.f64 1/36 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 im (*.f64 -1/24 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (cbrt.f64 (/.f64 1 im))))) (*.f64 im -1/18)) (*.f64 im 1/72)) (pow.f64 re 4) (*.f64 im (*.f64 (*.f64 re re) 1/2))) im)
(fma.f64 (fma.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (+.f64 (*.f64 1/36 (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 im))))))) (*.f64 im -1/24)) (pow.f64 re 4) (*.f64 im (fma.f64 (*.f64 re re) 1/2 -1)))
(fma.f64 (fma.f64 (cbrt.f64 im) (fma.f64 (cbrt.f64 -1) (*.f64 (*.f64 im -1/24) (*.f64 2/3 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (/.f64 1 im))))) (neg.f64 (*.f64 1/36 (cbrt.f64 (*.f64 im im))))) (*.f64 im -1/24)) (pow.f64 re 4) (*.f64 im (fma.f64 re (*.f64 re 1/2) -1)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) im)) (+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 1 (pow.f64 im 2)) 1/3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im))))))))) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 -1/720 im) (+.f64 (*.f64 -1/216 im) (*.f64 -1/3 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 im) (+.f64 (*.f64 -1/216 im) (*.f64 -1/3 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im))))))))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (*.f64 1 (pow.f64 im 2)) 1/3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 im) 1/3) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)))))))) (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) im)))) (pow.f64 re 4)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) im)) (*.f64 1/6 (*.f64 (pow.f64 1 1/3) im)))))))
(fma.f64 -1 im (fma.f64 (pow.f64 re 6) (fma.f64 -1/6 (*.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 -1)) (fma.f64 1/36 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 im))) (*.f64 (*.f64 im -1/24) (pow.f64 (cbrt.f64 -1) 2))))) (+.f64 (*.f64 1/9 (*.f64 im -1/24)) (fma.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 -1) (fma.f64 2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 im)) (pow.f64 (cbrt.f64 -1) 2)) (-.f64 (*.f64 im -1/720) (fma.f64 -1/216 im (*.f64 -1/3 (*.f64 im -1/24))))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 im)) (*.f64 (*.f64 im -1/24) (pow.f64 (cbrt.f64 -1) 2))) -1/9))) (*.f64 -1/3 (-.f64 (*.f64 im -1/720) (fma.f64 -1/216 im (*.f64 -1/3 (*.f64 im -1/24)))))))) (fma.f64 (+.f64 (fma.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 -1) (fma.f64 1/36 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 im))) (*.f64 (*.f64 im -1/24) (pow.f64 (cbrt.f64 -1) 2))))) (*.f64 im -1/18)) (*.f64 -1/3 (*.f64 im -1/24))) (pow.f64 re 4) (*.f64 (*.f64 re re) (*.f64 im 1/2)))))
(-.f64 (fma.f64 (pow.f64 re 6) (fma.f64 (*.f64 (cbrt.f64 -1) (*.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 im (*.f64 -1/24 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (cbrt.f64 (/.f64 1 im))))) (cbrt.f64 im))) -1/6 (fma.f64 (*.f64 im -1/24) 1/9 (fma.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 -1)) (fma.f64 2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 im)) (-.f64 (*.f64 im 7/2160) (*.f64 im 1/72))) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (cbrt.f64 (/.f64 1 im)) (*.f64 (*.f64 im (*.f64 -1/24 (pow.f64 (cbrt.f64 -1) 2))) -1/9))) (*.f64 -1/3 (-.f64 (*.f64 im 7/2160) (*.f64 im 1/72)))))) (fma.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 -1)) (fma.f64 1/36 (*.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (*.f64 im (*.f64 -1/24 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 2/3 (cbrt.f64 (/.f64 1 im))))) (*.f64 im -1/18)) (*.f64 im 1/72)) (pow.f64 re 4) (*.f64 im (*.f64 (*.f64 re re) 1/2)))) im)
(fma.f64 (pow.f64 re 6) (fma.f64 (*.f64 im -1/24) 1/9 (fma.f64 (*.f64 -1/6 (*.f64 (cbrt.f64 im) (cbrt.f64 -1))) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (+.f64 (*.f64 1/36 (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 im)))))) (fma.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (/.f64 1 im))) (+.f64 (*.f64 2/3 (*.f64 im -23/2160)) (*.f64 (*.f64 im -1/24) -1/9))) (*.f64 (cbrt.f64 im) (cbrt.f64 -1)) (*.f64 -1/3 (*.f64 im -23/2160))))) (fma.f64 (fma.f64 (cbrt.f64 im) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (+.f64 (*.f64 1/36 (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 im))))))) (*.f64 im -1/24)) (pow.f64 re 4) (*.f64 im (fma.f64 (*.f64 re re) 1/2 -1))))
(fma.f64 (pow.f64 re 6) (+.f64 (*.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 -1)) (+.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (+.f64 (*.f64 1/36 (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 im)))))) -1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (/.f64 1 im))) (+.f64 (*.f64 2/3 (*.f64 im -23/2160)) (*.f64 (*.f64 im -1/24) -1/9))))) (fma.f64 -1/3 (*.f64 im -23/2160) (*.f64 -1/24 (*.f64 im 1/9)))) (fma.f64 (fma.f64 (cbrt.f64 im) (fma.f64 (cbrt.f64 -1) (*.f64 (*.f64 im -1/24) (*.f64 2/3 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (/.f64 1 im))))) (neg.f64 (*.f64 1/36 (cbrt.f64 (*.f64 im im))))) (*.f64 im -1/24)) (pow.f64 re 4) (*.f64 im (fma.f64 re (*.f64 re 1/2) -1))))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (*.f64 (cos.f64 re) im) (pow.f64 1 1/3)))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 im) (cbrt.f64 -1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (pow.f64 re 2)))) (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1)))
(fma.f64 -1/6 (*.f64 (cbrt.f64 im) (*.f64 (*.f64 re re) (cbrt.f64 -1))) (*.f64 (cbrt.f64 im) (cbrt.f64 -1)))
(fma.f64 (cbrt.f64 im) (cbrt.f64 -1) (*.f64 (*.f64 (*.f64 (cbrt.f64 im) -1/6) (*.f64 re re)) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 im) (+.f64 (cbrt.f64 -1) (*.f64 -1/6 (*.f64 re (*.f64 re (cbrt.f64 -1))))))
(*.f64 (+.f64 (*.f64 (*.f64 re re) -1/6) 1) (*.f64 (cbrt.f64 im) (cbrt.f64 -1)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)) (pow.f64 re 4))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (pow.f64 re 2)))) (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 im -1/24) (pow.f64 re 4)))) (fma.f64 -1/6 (*.f64 (cbrt.f64 im) (*.f64 (*.f64 re re) (cbrt.f64 -1))) (*.f64 (cbrt.f64 im) (cbrt.f64 -1))))
(fma.f64 1/3 (*.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) (*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 (cbrt.f64 im) (cbrt.f64 -1) (*.f64 (*.f64 (*.f64 (cbrt.f64 im) -1/6) (*.f64 re re)) (cbrt.f64 -1))))
(fma.f64 1/3 (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (*.f64 im -1/24) (pow.f64 re 4)))) (*.f64 (cbrt.f64 im) (+.f64 (cbrt.f64 -1) (*.f64 -1/6 (*.f64 re (*.f64 re (cbrt.f64 -1)))))))
(*.f64 (cbrt.f64 -1) (+.f64 (cbrt.f64 im) (+.f64 (*.f64 (*.f64 re re) (*.f64 (cbrt.f64 im) -1/6)) (*.f64 (*.f64 (*.f64 im -1/24) (pow.f64 re 4)) (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 im im))))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im)) (pow.f64 re 4))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (*.f64 (cbrt.f64 -1) (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/720 im) (+.f64 (*.f64 -1/216 im) (*.f64 -1/3 (-.f64 (*.f64 1/24 im) (*.f64 1/12 im))))))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 im -1/24) (pow.f64 re 4)))) (fma.f64 -1/6 (*.f64 (cbrt.f64 im) (*.f64 (*.f64 re re) (cbrt.f64 -1))) (fma.f64 (cbrt.f64 im) (cbrt.f64 -1) (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (cbrt.f64 -1)) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 im -1/720) (fma.f64 -1/216 im (*.f64 -1/3 (*.f64 im -1/24))))))))))
(fma.f64 1/3 (*.f64 (*.f64 im (*.f64 (pow.f64 re 4) -1/24)) (*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 -1/6 (*.f64 (*.f64 re re) (*.f64 (cbrt.f64 im) (cbrt.f64 -1))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 im 7/2160) (*.f64 im 1/72))) (*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (*.f64 (cbrt.f64 im) (cbrt.f64 -1)))))
(+.f64 (*.f64 (cbrt.f64 im) (+.f64 (cbrt.f64 -1) (*.f64 -1/6 (*.f64 re (*.f64 re (cbrt.f64 -1)))))) (*.f64 (*.f64 1/3 (*.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (+.f64 (*.f64 (pow.f64 re 6) (*.f64 im -23/2160)) (*.f64 (*.f64 im -1/24) (pow.f64 re 4)))))
(*.f64 (cbrt.f64 -1) (+.f64 (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (pow.f64 re 6) (*.f64 im -23/2160)) (*.f64 (*.f64 im -1/24) (pow.f64 re 4)))) (+.f64 (*.f64 (*.f64 re re) (*.f64 (cbrt.f64 im) -1/6)) (cbrt.f64 im))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1 im)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 im (cos.f64 re))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(fma.f64 -1 im (*.f64 (*.f64 re re) (*.f64 im 1/2)))
(fma.f64 (*.f64 re re) (*.f64 im 1/2) (neg.f64 im))
(*.f64 im (fma.f64 (*.f64 re re) 1/2 -1))
(*.f64 im (fma.f64 re (*.f64 re 1/2) -1))
(+.f64 (*.f64 -1/24 (*.f64 (pow.f64 re 4) im)) (+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im))))
(fma.f64 -1/24 (*.f64 im (pow.f64 re 4)) (fma.f64 -1 im (*.f64 1/2 (*.f64 im (*.f64 re re)))))
(fma.f64 (*.f64 (pow.f64 re 4) -1/24) im (fma.f64 (*.f64 re re) (*.f64 im 1/2) (neg.f64 im)))
(*.f64 im (+.f64 (*.f64 (*.f64 re re) 1/2) (fma.f64 (pow.f64 re 4) -1/24 -1)))
(+.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)))))
(fma.f64 1/720 (*.f64 im (pow.f64 re 6)) (fma.f64 -1/24 (*.f64 im (pow.f64 re 4)) (fma.f64 -1 im (*.f64 1/2 (*.f64 im (*.f64 re re))))))
(fma.f64 1/720 (*.f64 im (pow.f64 re 6)) (fma.f64 (*.f64 (pow.f64 re 4) -1/24) im (fma.f64 (*.f64 re re) (*.f64 im 1/2) (neg.f64 im))))
(*.f64 im (+.f64 (fma.f64 (*.f64 re re) 1/2 -1) (fma.f64 (pow.f64 re 6) 1/720 (*.f64 (pow.f64 re 4) -1/24))))
(*.f64 im (+.f64 (fma.f64 re (*.f64 re 1/2) -1) (fma.f64 (pow.f64 re 6) 1/720 (*.f64 (pow.f64 re 4) -1/24))))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))
(*.f64 -1 (*.f64 (cos.f64 re) im))
(neg.f64 (*.f64 im (cos.f64 re)))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 im (neg.f64 (cos.f64 re)))

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3))
0.6b
(expm1.f64 (cos.f64 re))
0.8b
(cbrt.f64 (expm1.f64 (cos.f64 re)))
0.8b
(pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)
Compiler

Compiled 39 to 16 computations (59% saved)

series288.0ms (1.9%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
150.0ms
re
@inf
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3))
78.0ms
re
@-inf
(pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)
29.0ms
re
@-inf
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3))
11.0ms
re
@0
(pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)
9.0ms
re
@0
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3))

rewrite85.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
524×pow1_binary64
513×add-sqr-sqrt_binary64
494×add-log-exp_binary64
494×expm1-log1p-u_binary64
493×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
116515
2140615
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 1/6) (*.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 1/6) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 2) 3) (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 1/6) 3) (pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) 1) (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (pow.f64 (expm1.f64 (cos.f64 re)) 1/6)) (pow.f64 (expm1.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1) (+.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) (+.f64 1 (*.f64 (exp.f64 (cos.f64 re)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (+.f64 (exp.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) (pow.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 1/6) (pow.f64 (expm1.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) 1/3) (pow.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (cos.f64 re)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))

simplify214.0ms (1.4%)

Algorithm
egg-herbie
Rules
800×fma-def_binary64
589×distribute-rgt-in_binary64
583×distribute-lft-in_binary64
488×*-commutative_binary64
269×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01822619
16182049
220411779
379321769
Stop Event
node limit
Counts
93 → 85
Calls
Call 1
Inputs
(pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3)
(+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)))
(+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (pow.f64 re 4)) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2))))
(+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (pow.f64 re 4)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -31/720 (E.f64)) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))) (*.f64 -1/216 (/.f64 (pow.f64 (exp.f64 1) 3) (pow.f64 (-.f64 (E.f64) 1) 2))))) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (E.f64) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -31/720 (exp.f64 1)) (+.f64 (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (-.f64 (exp.f64 1) 1) 2))) (*.f64 -1/3 (*.f64 (*.f64 (E.f64) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3) (*.f64 (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (exp.f64 1))))))) (pow.f64 re 6)))))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(pow.f64 (-.f64 (exp.f64 1) 1) 1/3)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (pow.f64 re 2) (exp.f64 1)))) (pow.f64 (-.f64 (exp.f64 1) 1) 1/3))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (pow.f64 re 2) (exp.f64 1)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (pow.f64 re 4)))) (pow.f64 (-.f64 (exp.f64 1) 1) 1/3)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (pow.f64 re 2) (exp.f64 1)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (pow.f64 re 4)))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -31/720 (exp.f64 1)) (+.f64 (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (-.f64 (exp.f64 1) 1) 2))) (*.f64 -1/3 (*.f64 (*.f64 (E.f64) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3))))) (pow.f64 re 6)) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3))) (pow.f64 (-.f64 (exp.f64 1) 1) 1/3))))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)) (log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -12 (/.f64 (pow.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) 2) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 2))) (*.f64 24 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))) (pow.f64 re 4))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)) (log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1))))
(+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 720 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -31/720 (E.f64)) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))) (*.f64 -1/216 (/.f64 (pow.f64 (exp.f64 1) 3) (pow.f64 (-.f64 (E.f64) 1) 2))))) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (E.f64) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -31/720 (exp.f64 1)) (+.f64 (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (-.f64 (exp.f64 1) 1) 2))) (*.f64 -1/3 (*.f64 (*.f64 (E.f64) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3) (*.f64 (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (exp.f64 1))))))) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1))) (+.f64 (*.f64 -720 (/.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1))))) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 2))) (*.f64 240 (/.f64 (pow.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) 3) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 3))))) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -12 (/.f64 (pow.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) 2) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 2))) (*.f64 24 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))) (pow.f64 re 4))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)) (log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
Outputs
(pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3)
(cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))
(cbrt.f64 (pow.f64 (expm1.f64 1) 3))
(expm1.f64 1)
(+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)))
(+.f64 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (*.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) (*.f64 re re)))
(fma.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) (*.f64 re re) (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))
(fma.f64 (*.f64 (E.f64) -1/2) (*.f64 re re) (expm1.f64 1))
(+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (pow.f64 re 4)) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2))))
(+.f64 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (fma.f64 (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (expm1.f64 1)) (+.f64 (*.f64 1/3 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/18 (*.f64 (pow.f64 (E.f64) 2) (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (pow.f64 re 4) (*.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) (*.f64 re re))))
(+.f64 (fma.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) (*.f64 re re) (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) (*.f64 (fma.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (cbrt.f64 (expm1.f64 1)) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18)))) (pow.f64 re 4)))
(fma.f64 (*.f64 (E.f64) -1/2) (*.f64 re re) (fma.f64 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1))))) (pow.f64 re 4) (expm1.f64 1)))
(+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (pow.f64 re 4)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -31/720 (E.f64)) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))) (*.f64 -1/216 (/.f64 (pow.f64 (exp.f64 1) 3) (pow.f64 (-.f64 (E.f64) 1) 2))))) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (E.f64) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -31/720 (exp.f64 1)) (+.f64 (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (-.f64 (exp.f64 1) 1) 2))) (*.f64 -1/3 (*.f64 (*.f64 (E.f64) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3) (*.f64 (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (exp.f64 1))))))) (pow.f64 re 6)))))
(+.f64 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (fma.f64 (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (expm1.f64 1)) (+.f64 (*.f64 1/3 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/18 (*.f64 (pow.f64 (E.f64) 2) (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (pow.f64 re 4) (fma.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) (*.f64 re re) (*.f64 (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))))))) (fma.f64 -1/6 (*.f64 (E.f64) (*.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 (cbrt.f64 (expm1.f64 1)) (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))))))) (*.f64 (*.f64 -1/9 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))))) (*.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))))))))) (pow.f64 re 6)))))
(+.f64 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)) (fma.f64 (fma.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (cbrt.f64 (expm1.f64 1)) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18)))) (pow.f64 re 4) (fma.f64 (fma.f64 1/3 (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 (*.f64 (*.f64 (E.f64) -1/3) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2))))) (fma.f64 -1/6 (*.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (*.f64 (E.f64) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 (*.f64 (*.f64 (E.f64) -1/3) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)))))) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) -1/9))) (cbrt.f64 (expm1.f64 1)) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) -1/9))))) (pow.f64 re 6) (*.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) (*.f64 re re)))))
(+.f64 (expm1.f64 1) (fma.f64 (fma.f64 (E.f64) (*.f64 -1/6 (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 1/3 (+.f64 (*.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216)) (fma.f64 2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (+.f64 (*.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216))) (cbrt.f64 (expm1.f64 1))) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (+.f64 (*.f64 (cbrt.f64 (expm1.f64 1)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) -1/9)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) -1/9)))))) (pow.f64 re 6) (fma.f64 (*.f64 (E.f64) -1/2) (*.f64 re re) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1))))) (pow.f64 re 4)))))
(+.f64 (expm1.f64 1) (fma.f64 (fma.f64 (E.f64) (*.f64 -1/6 (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 1/3 (fma.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216)) (fma.f64 2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (fma.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216))) (cbrt.f64 (expm1.f64 1))) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (+.f64 (*.f64 (cbrt.f64 (expm1.f64 1)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) -1/9)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) -1/9)))))) (pow.f64 re 6) (fma.f64 (*.f64 (E.f64) -1/2) (*.f64 re re) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1))))) (pow.f64 re 4)))))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(pow.f64 (-.f64 (exp.f64 1) 1) 1/3)
(cbrt.f64 (expm1.f64 1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (pow.f64 re 2) (exp.f64 1)))) (pow.f64 (-.f64 (exp.f64 1) 1) 1/3))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (cbrt.f64 (expm1.f64 1)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (pow.f64 re 2) (exp.f64 1)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (pow.f64 re 4)))) (pow.f64 (-.f64 (exp.f64 1) 1) 1/3)))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (pow.f64 re 4))) (cbrt.f64 (expm1.f64 1))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (fma.f64 1/3 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (cbrt.f64 (expm1.f64 1))))
(+.f64 (cbrt.f64 (expm1.f64 1)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (*.f64 re re))) (*.f64 1/3 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (pow.f64 re 4))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (pow.f64 re 2) (exp.f64 1)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (pow.f64 re 4)))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -31/720 (exp.f64 1)) (+.f64 (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (-.f64 (exp.f64 1) 1) 2))) (*.f64 -1/3 (*.f64 (*.f64 (E.f64) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3))))) (pow.f64 re 6)) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3))) (pow.f64 (-.f64 (exp.f64 1) 1) 1/3))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (pow.f64 re 4))) (fma.f64 1/3 (*.f64 (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))))))) (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (cbrt.f64 (expm1.f64 1)))))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (fma.f64 1/3 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 1/3 (*.f64 (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 (*.f64 (*.f64 (E.f64) -1/3) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2))))) (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (cbrt.f64 (expm1.f64 1)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (pow.f64 re 4)) (*.f64 (+.f64 (*.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216)) (pow.f64 re 6)))) (fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (cbrt.f64 (expm1.f64 1))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (pow.f64 re 4)) (*.f64 (fma.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216)) (pow.f64 re 6)))) (fma.f64 -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))) (*.f64 (E.f64) (*.f64 re re))) (cbrt.f64 (expm1.f64 1))))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(pow.f64 (-.f64 (exp.f64 (cos.f64 re)) 1) 1/3)
(cbrt.f64 (expm1.f64 (cos.f64 re)))
(log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1))
(log.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))
(log1p.f64 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))
(log1p.f64 (expm1.f64 1))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)) (log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))
(+.f64 (log.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))))) (/.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) (/.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) (*.f64 re re))))
(+.f64 (log1p.f64 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) (/.f64 (*.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) (*.f64 re re)) (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))))
(fma.f64 (/.f64 (*.f64 (E.f64) -1/2) (+.f64 1 (expm1.f64 1))) (*.f64 re re) (log1p.f64 (expm1.f64 1)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -12 (/.f64 (pow.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) 2) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 2))) (*.f64 24 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))) (pow.f64 re 4))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)) (log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1))))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 -12 (/.f64 (pow.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) 2) (pow.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) 2)) (*.f64 24 (/.f64 (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (expm1.f64 1)) (+.f64 (*.f64 1/3 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/18 (*.f64 (pow.f64 (E.f64) 2) (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (+.f64 (log.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))))) (/.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) (/.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) (*.f64 re re)))))
(+.f64 (log1p.f64 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 -12 (/.f64 (pow.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) 2) (pow.f64 (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) 2)) (/.f64 (*.f64 (fma.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (cbrt.f64 (expm1.f64 1)) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18)))) 24) (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))))) (/.f64 (*.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) (*.f64 re re)) (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))))))
(fma.f64 (pow.f64 re 4) (+.f64 (/.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (expm1.f64 1)) 2) (pow.f64 (*.f64 (E.f64) -1/2) 2))) (/.f64 1 (/.f64 (+.f64 1 (expm1.f64 1)) (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1)))))))) (fma.f64 (/.f64 (*.f64 (E.f64) -1/2) (+.f64 1 (expm1.f64 1))) (*.f64 re re) (log1p.f64 (expm1.f64 1))))
(+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 720 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -31/720 (E.f64)) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))) (*.f64 -1/216 (/.f64 (pow.f64 (exp.f64 1) 3) (pow.f64 (-.f64 (E.f64) 1) 2))))) (pow.f64 1 1/3))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (E.f64) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 1 (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -31/720 (exp.f64 1)) (+.f64 (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (-.f64 (exp.f64 1) 1) 2))) (*.f64 -1/3 (*.f64 (*.f64 (E.f64) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3))))) (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (*.f64 (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))) (exp.f64 1)))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3) (*.f64 (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (exp.f64 1))))))) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1))) (+.f64 (*.f64 -720 (/.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1))))) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 2))) (*.f64 240 (/.f64 (pow.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) 3) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 3))))) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -12 (/.f64 (pow.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) 2) (pow.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1) 2))) (*.f64 24 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 2)) 1/3) (-.f64 (*.f64 1/6 (exp.f64 1)) (*.f64 1/12 (*.f64 (pow.f64 (E.f64) 2) (pow.f64 (/.f64 (*.f64 1 (-.f64 (E.f64) 1)) (pow.f64 (-.f64 (exp.f64 1) 1) 4)) 1/3)))))) (*.f64 1/36 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))) (pow.f64 (*.f64 1 (-.f64 (E.f64) 1)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/6 (E.f64)) (*.f64 1/12 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (pow.f64 (-.f64 (E.f64) 1) 4)) 1/3) (pow.f64 (exp.f64 1) 2)))))) (*.f64 1/18 (*.f64 (*.f64 (E.f64) (exp.f64 1)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 (E.f64) 1) 2) (-.f64 (exp.f64 1) 1))) 1/3))))) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))) (pow.f64 re 4))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (E.f64) (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 (*.f64 1 (-.f64 (exp.f64 1) 1)) (-.f64 (E.f64) 1)) 1/3) (exp.f64 1)))) (pow.f64 re 2)) (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)) (log.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (E.f64) 1) (pow.f64 (-.f64 (exp.f64 1) 1) 2)) 1/3) 1)))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 720 (/.f64 (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))))))) (fma.f64 -1/6 (*.f64 (E.f64) (*.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 (cbrt.f64 (expm1.f64 1)) (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))))))) (*.f64 (*.f64 -1/9 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))))) (*.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) (*.f64 (E.f64) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))))))))) (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))))) (fma.f64 -720 (/.f64 (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (expm1.f64 1)) (+.f64 (*.f64 1/3 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/18 (*.f64 (pow.f64 (E.f64) 2) (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (/.f64 (pow.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) 2) (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))))) (*.f64 240 (/.f64 (pow.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) 3) (pow.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) 3)))))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 -12 (/.f64 (pow.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) 2) (pow.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) 2)) (*.f64 24 (/.f64 (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))) (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2)))) (cbrt.f64 (expm1.f64 1)) (+.f64 (*.f64 1/3 (+.f64 (*.f64 (E.f64) 1/6) (*.f64 -1/12 (*.f64 (cbrt.f64 (/.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 4))) (pow.f64 (E.f64) 2))))) (*.f64 1/18 (*.f64 (pow.f64 (E.f64) 2) (cbrt.f64 (/.f64 1 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))))))) (+.f64 (log.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2))))) (/.f64 (fma.f64 -1/6 (*.f64 1 (E.f64)) (*.f64 -1/3 (*.f64 (E.f64) (cbrt.f64 (/.f64 (expm1.f64 1) (expm1.f64 1)))))) (/.f64 (+.f64 1 (cbrt.f64 (*.f64 (expm1.f64 1) (pow.f64 (expm1.f64 1) 2)))) (*.f64 re re))))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 720 (/.f64 (fma.f64 1/3 (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 (*.f64 (*.f64 (E.f64) -1/3) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2))))) (fma.f64 -1/6 (*.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (*.f64 (E.f64) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (-.f64 (*.f64 (E.f64) -31/720) (fma.f64 (*.f64 (*.f64 (E.f64) -1/3) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 -1/216 (/.f64 (pow.f64 (E.f64) 3) (pow.f64 (expm1.f64 1) 2)))))) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) -1/9))) (cbrt.f64 (expm1.f64 1)) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) -1/9))))) (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))) (fma.f64 -720 (*.f64 (/.f64 (fma.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (cbrt.f64 (expm1.f64 1)) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18)))) (pow.f64 (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) 2)) (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3))) (/.f64 (*.f64 240 (pow.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) 3)) (pow.f64 (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) 3))))) (+.f64 (log1p.f64 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 -12 (/.f64 (pow.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) 2) (pow.f64 (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3))) 2)) (/.f64 (*.f64 (fma.f64 (fma.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)) (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (expm1.f64 1)))))) (cbrt.f64 (expm1.f64 1)) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (*.f64 -1/12 (exp.f64 2)) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18)))) 24) (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))))) (/.f64 (*.f64 (fma.f64 (E.f64) -1/6 (*.f64 (E.f64) -1/3)) (*.f64 re re)) (+.f64 1 (cbrt.f64 (pow.f64 (expm1.f64 1) 3)))))))
(fma.f64 (pow.f64 re 4) (+.f64 (/.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (expm1.f64 1)) 2) (pow.f64 (*.f64 (E.f64) -1/2) 2))) (/.f64 1 (/.f64 (+.f64 1 (expm1.f64 1)) (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1)))))))) (fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 240 (pow.f64 (/.f64 (*.f64 (E.f64) -1/2) (+.f64 1 (expm1.f64 1))) 3) (fma.f64 -720 (*.f64 (*.f64 (E.f64) -1/2) (/.f64 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1))))) (pow.f64 (+.f64 1 (expm1.f64 1)) 2))) (*.f64 (/.f64 720 (+.f64 1 (expm1.f64 1))) (fma.f64 (E.f64) (*.f64 -1/6 (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 1/3 (+.f64 (*.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216)) (fma.f64 2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (+.f64 (*.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216))) (cbrt.f64 (expm1.f64 1))) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (+.f64 (*.f64 (cbrt.f64 (expm1.f64 1)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) -1/9)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) -1/9)))))))))) (fma.f64 (/.f64 (*.f64 (E.f64) -1/2) (+.f64 1 (expm1.f64 1))) (*.f64 re re) (log1p.f64 (expm1.f64 1)))))
(fma.f64 (pow.f64 re 4) (+.f64 (/.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (expm1.f64 1)) 2) (pow.f64 (*.f64 (E.f64) -1/2) 2))) (/.f64 1 (/.f64 (+.f64 1 (expm1.f64 1)) (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1)))))))) (fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 240 (pow.f64 (/.f64 (*.f64 (E.f64) -1/2) (+.f64 1 (expm1.f64 1))) 3) (fma.f64 -720 (*.f64 (*.f64 (E.f64) -1/2) (/.f64 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) 1/18) (fma.f64 1/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (expm1.f64 1))))) (pow.f64 (+.f64 1 (expm1.f64 1)) 2))) (*.f64 (/.f64 720 (+.f64 1 (expm1.f64 1))) (fma.f64 (E.f64) (*.f64 -1/6 (*.f64 (fma.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (*.f64 2/3 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (*.f64 1/36 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) (exp.f64 2)))) (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 2))))) (fma.f64 1/3 (fma.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216)) (fma.f64 2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (expm1.f64 1))) (fma.f64 (E.f64) (-.f64 -31/720 (*.f64 (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12))) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3)))))) (*.f64 (/.f64 (exp.f64 3) (pow.f64 (expm1.f64 1) 2)) 1/216))) (cbrt.f64 (expm1.f64 1))) (*.f64 (*.f64 (E.f64) (fma.f64 (E.f64) 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) (*.f64 (exp.f64 2) -1/12)))) (+.f64 (*.f64 (cbrt.f64 (expm1.f64 1)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 4))) -1/9)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (expm1.f64 1) 3))) -1/9)))))))))) (fma.f64 (/.f64 (*.f64 (E.f64) -1/2) (+.f64 1 (expm1.f64 1))) (*.f64 re re) (log1p.f64 (expm1.f64 1)))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 (cos.f64 re)) 1))))
(log1p.f64 (*.f64 1 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)

eval1.1s (7.5%)

Compiler

Compiled 14874 to 10633 computations (28.5% saved)

prune158.0ms (1%)

Pruning

35 alts after pruning (23 fresh and 12 done)

PrunedKeptTotal
New63512647
Fresh111122
Picked011
Done01111
Total64635681
Error
0.0b
Counts
681 → 35
Alt Table
Click to see full alt table
StatusErrorProgram
2.7b
(*.f64 (neg.f64 im) (log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)))
60.4b
(*.f64 -1/120 (pow.f64 im 5))
17.7b
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
29.3b
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))
1.1b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
1.7b
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
1.4b
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (+.f64 (cos.f64 re) 2))
17.3b
(*.f64 (neg.f64 im) (/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2)))
1.6b
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
1.6b
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
1.7b
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
29.3b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
2.7b
(pow.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cbrt.f64 (cos.f64 re))) 3)
1.8b
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
59.4b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
2.1b
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
28.5b
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.f64 (pow.f64 im 3) -1/6 im))
2.4b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)))
1.2b
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
29.5b
(neg.f64 im)
1.6b
(*.f64 (neg.f64 im) (cos.f64 re))
61.6b
(*.f64 (cos.f64 re) im)
34.6b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
60.2b
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
17.5b
(*.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
60.5b
(sqrt.f64 (*.f64 (pow.f64 im 10) 1/14400))
57.6b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))))
34.0b
(*.f64 (cos.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
2.9b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
1.9b
(*.f64 (neg.f64 im) (/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1)))
1.4b
(+.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (cos.f64 re) 1)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) -1))
32.2b
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
1.8b
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
1.4b
(*.f64 (-.f64 (+.f64 (cos.f64 re) 1) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
Compiler

Compiled 457 to 354 computations (22.5% saved)

regimes256.0ms (1.7%)

Counts
61 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(*.f64 (cos.f64 re) im)
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 (neg.f64 im) (cos.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
(*.f64 (*.f64 im (fma.f64 -1/3 (*.f64 im im) -2)) 1/2)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(sqrt.f64 (*.f64 (pow.f64 im 10) 1/14400))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(*.f64 (-.f64 (+.f64 (cos.f64 re) 1) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6)) (cos.f64 re))
(*.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 (neg.f64 im) (/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1)))
(+.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (+.f64 (cos.f64 re) 1)) (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) -1))
(*.f64 (expm1.f64 (log1p.f64 (cos.f64 re))) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 2)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) 3)
(*.f64 (cos.f64 re) (pow.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2))
(*.f64 (neg.f64 im) (/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.f64 (pow.f64 im 3) -1/6 im))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/36) (*.f64 im im)) (cos.f64 re)) (fma.f64 (pow.f64 im 3) -1/6 im))
(*.f64 (neg.f64 im) (log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))))
(pow.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cbrt.f64 (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 (sqrt.f64 im) (neg.f64 (sqrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (+.f64 (cos.f64 re) 2))
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)))
(*.f64 (neg.f64 im) (/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1)))))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) 2) (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/6) im)) (cos.f64 re)))
(*.f64 (neg.f64 im) (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(fma.f64 (*.f64 (*.f64 -2 im) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))
(fma.f64 (*.f64 (*.f64 -2 im) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 -1/60 (pow.f64 im 5) (*.f64 -1/3 (pow.f64 im 3))))))
Outputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
Calls

8 calls:

59.0ms
re
55.0ms
(*.f64 1/2 (cos.f64 re))
32.0ms
im
31.0ms
(*.f64 1/2 (cos.f64 re))
27.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.1b1re
1.1b1im
1.1b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.1b1(*.f64 1/2 (cos.f64 re))
1.1b1(*.f64 1/2 (cos.f64 re))
1.1b1(cos.f64 re)
1.1b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
1.1b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 794 to 475 computations (40.2% saved)

regimes269.0ms (1.8%)

Counts
36 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(*.f64 (cos.f64 re) im)
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 (neg.f64 im) (cos.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
(*.f64 (*.f64 im (fma.f64 -1/3 (*.f64 im im) -2)) 1/2)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(sqrt.f64 (*.f64 (pow.f64 im 10) 1/14400))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(+.f64 (-.f64 (*.f64 (pow.f64 im 5) -1/120) im) (*.f64 (pow.f64 im 3) -1/6))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(*.f64 (-.f64 (+.f64 (cos.f64 re) 1) 1) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (expm1.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log1p.f64 (expm1.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (exp.f64 (log.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (log.f64 (exp.f64 (cos.f64 re))))
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (neg.f64 im))) 3)
(*.f64 (neg.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 3))
(*.f64 (neg.f64 im) (cbrt.f64 (pow.f64 (cos.f64 re) 3)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
Calls

7 calls:

73.0ms
(*.f64 1/2 (cos.f64 re))
71.0ms
im
66.0ms
(*.f64 1/2 (cos.f64 re))
21.0ms
re
17.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.2b1re
1.2b1im
1.2b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.2b1(*.f64 1/2 (cos.f64 re))
1.2b1(*.f64 1/2 (cos.f64 re))
1.2b1(cos.f64 re)
1.2b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 340 to 186 computations (45.3% saved)

regimes53.0ms (0.3%)

Counts
15 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(*.f64 (cos.f64 re) im)
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 (neg.f64 im) (cos.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
(*.f64 (*.f64 im (fma.f64 -1/3 (*.f64 im im) -2)) 1/2)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(sqrt.f64 (*.f64 (pow.f64 im 10) 1/14400))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
Outputs
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
Calls

3 calls:

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

Compiled 120 to 78 computations (35% saved)

regimes48.0ms (0.3%)

Counts
14 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(*.f64 (cos.f64 re) im)
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 (neg.f64 im) (cos.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (neg.f64 im) (-.f64 (+.f64 (cos.f64 re) 1) 1))
(*.f64 (*.f64 im (fma.f64 -1/3 (*.f64 im im) -2)) 1/2)
(+.f64 (*.f64 -1 im) (*.f64 1/2 (*.f64 (pow.f64 re 2) im)))
(sqrt.f64 (*.f64 (pow.f64 im 10) 1/14400))
(*.f64 (cos.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)
Outputs
(*.f64 (neg.f64 im) (cos.f64 re))
Calls

3 calls:

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

Compiled 110 to 72 computations (34.5% saved)

regimes15.0ms (0.1%)

Accuracy

Total -32.1b remaining (-109.1%)

Threshold costs -32.1b (-109.1%)

Counts
3 → 1
Calls
Call 1
Inputs
(neg.f64 im)
(*.f64 (cos.f64 re) im)
(*.f64 -1/120 (pow.f64 im 5))
Outputs
(neg.f64 im)
Calls

3 calls:

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

Compiled 23 to 16 computations (30.4% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02265
13865
24965
35665
45965
56065
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (neg.f64 im) (cos.f64 re))
(neg.f64 im)
Outputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 3) -1/6) im))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im) (cos.f64 re))
(*.f64 (cos.f64 re) (-.f64 (*.f64 -1/120 (pow.f64 im 5)) im))
(*.f64 (neg.f64 im) (cos.f64 re))
(*.f64 (cos.f64 re) (neg.f64 im))
(neg.f64 im)
Compiler

Compiled 53 to 40 computations (24.5% saved)

soundness148.0ms (1%)

Algorithm
egg-herbie
Rules
529×distribute-rgt-in_binary64
515×distribute-lft-in_binary64
412×cancel-sign-sub-inv_binary64
343×fma-def_binary64
269×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054731
1150731
2543635
32787582
44951582
57790582
Stop Event
node limit
Compiler

Compiled 393 to 321 computations (18.3% saved)

end79.0ms (0.5%)

Compiler

Compiled 45 to 28 computations (37.8% saved)

Profiling

Loading profile data...