Details

Time bar (total: 7.3s)

analyze227.0ms (3.1%)

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

Compiled 14 to 11 computations (21.4% saved)

sample3.9s (54.3%)

Results
1.1s2048×body1024valid
970.0ms1962×body1024infinite
823.0ms5163×body256valid
427.0ms1040×body512valid
324.0ms1508×body256infinite
236.0ms992×body512infinite
8.0msbody2048valid
Bogosity

preprocess95.0ms (1.3%)

Algorithm
egg-herbie
Rules
748×times-frac_binary64
628×fma-def_binary64
384×sqr-pow_binary64
320×unswap-sqr_binary64
302×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01836
14936
213136
325534
437234
566934
6153134
7266034
8381234
9455834
10515234
11606034
12756734
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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify75.0ms (1%)

Algorithm
egg-herbie
Rules
573×fma-def_binary64
530×associate-/l*_binary64
430×unswap-sqr_binary64
374×times-frac_binary64
340×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01118
12818
27018
313217
419217
534617
678017
7135117
8396717
9449017
10546117
11602417
12705817
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0.0b
Counts
4 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 26 to 19 computations (26.9% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 32 to 16 computations (50% saved)

series8.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
873×pow1_binary64
804×add-log-exp_binary64
804×log1p-expm1-u_binary64
804×expm1-log1p-u_binary64
787×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0935
118235
2217135
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 1 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 im) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 1/2) im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) 1) (/.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.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/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.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/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))))))

simplify64.0ms (0.9%)

Algorithm
egg-herbie
Rules
440×fma-neg_binary64
343×log-prod_binary64
316×associate-+l+_binary64
267×associate-+r+_binary64
254×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01891553
15181450
223501347
369761347
Stop Event
node limit
Counts
97 → 115
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 -1/2 (/.f64 1 (neg.f64 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(sqrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(exp.f64 (-.f64 (log.f64 1/2) im))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) 1) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 1)
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (*.f64 -1/2 im)))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 im (*.f64 im 1/4)))
(+.f64 1/2 (*.f64 im (+.f64 -1/2 (*.f64 im 1/4))))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 im) 1/4)))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4) (*.f64 (pow.f64 im 6) (*.f64 1/720 (cos.f64 re)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) 1)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 -1/2 (/.f64 1 (neg.f64 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(sqrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(sqrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(exp.f64 (-.f64 (log.f64 1/2) im))
(+.f64 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) 1) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (-.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (exp.f64 im) 1/4) (exp.f64 im))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (+.f64 -1/4 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 1/4 (exp.f64 (+.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (fma.f64 1/4 (exp.f64 (+.f64 im im)) -1/4)))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite48.0ms (0.7%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
121×add-sqr-sqrt_binary64
121×add-sqr-sqrt_binary64
116×*-un-lft-identity_binary64
116×pow1_binary64
116×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
123328
2378028
01118
123318
2378018
01118
0610
112610
2208210
0610
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 19
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (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 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))))))))

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
587×fma-def_binary64
554×times-frac_binary64
424×associate-/l*_binary64
336×unswap-sqr_binary64
296×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0118958
1354877
21389836
34944831
Stop Event
node limit
Counts
55 → 71
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(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))))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.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))))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.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)))))
(/.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)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(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))))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))) (fma.f64 -1/1440 (pow.f64 re 6) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720))))
(+.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 2 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(log.f64 (exp.f64 (*.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 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(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))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.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 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.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 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(exp.f64 (log.f64 (*.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 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.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))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.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)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (*.f64 im -2)) (+.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(/.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)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(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))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

eval53.0ms (0.7%)

Compiler

Compiled 3417 to 1806 computations (47.1% saved)

prune32.0ms (0.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1797186
Fresh000
Picked011
Done101
Total1808188
Error
0b
Counts
188 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
28.7b
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
0b
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
0.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
28.7b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.6b
(cos.f64 re)
Compiler

Compiled 179 to 128 computations (28.5% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 46 to 22 computations (52.2% saved)

series12.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

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

rewrite67.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
631×log-prod_binary64
448×fma-def_binary64
415×pow-prod-down_binary64
316×pow2_binary64
223×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01141
123939
2324836
Stop Event
node limit
Counts
3 → 126
Calls
Call 1
Inputs
(*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) 1) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (cos.f64 re)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) -1/2) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) im))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) im) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2)) (/.f64 1 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (+.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (*.f64 1/2 (*.f64 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))) (neg.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))) (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)) (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 1 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 1 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2) (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 1/2 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 (+.f64 im im)))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 (cos.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 im (log.f64 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 im (log.f64 (*.f64 1/2 (cos.f64 re)))) 1))))))

simplify97.0ms (1.3%)

Algorithm
egg-herbie
Rules
453×unswap-sqr_binary64
325×cancel-sign-sub-inv_binary64
236×fma-def_binary64
221×fma-neg_binary64
212×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03854101
110513687
234843553
Stop Event
node limit
Counts
198 → 237
Calls
Call 1
Inputs
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (*.f64 (cos.f64 re) im))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re)))) (+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 1/6 (cos.f64 re)))) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 -1/1440 (/.f64 (pow.f64 re 6) (exp.f64 im))))))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) im))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) im) (*.f64 (+.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 -1/2 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))))) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) im) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 -1/2 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))))) (pow.f64 im 2)) (*.f64 (+.f64 (*.f64 1/12 (cos.f64 re)) (*.f64 -1/2 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re)))) (+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 1/6 (cos.f64 re)))))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/4 (exp.f64 im)) (*.f64 1/4 (/.f64 1 (exp.f64 im)))) (pow.f64 re 2))))
(+.f64 (*.f64 (+.f64 (*.f64 1/48 (/.f64 1 (exp.f64 im))) (*.f64 1/48 (exp.f64 im))) (pow.f64 re 4)) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/4 (exp.f64 im)) (*.f64 1/4 (/.f64 1 (exp.f64 im)))) (pow.f64 re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/48 (/.f64 1 (exp.f64 im))) (*.f64 1/48 (exp.f64 im))) (pow.f64 re 4)) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 (-.f64 (*.f64 -1/1440 (exp.f64 im)) (*.f64 1/1440 (/.f64 1 (exp.f64 im)))) (pow.f64 re 6)) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/4 (exp.f64 im)) (*.f64 1/4 (/.f64 1 (exp.f64 im)))) (pow.f64 re 2))))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (cos.f64 re)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(+.f64 0 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) 1)
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))
(/.f64 1 (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (neg.f64 (exp.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) 1) (exp.f64 im))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (exp.f64 im)))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(/.f64 (*.f64 -1/2 (cos.f64 re)) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (cos.f64 re) -1/2) (neg.f64 (exp.f64 im)))
(pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 1)
(pow.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) 1/2)
(pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 3)
(pow.f64 (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2)
(pow.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3) 1/3)
(pow.f64 (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) -1)
(sqrt.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))
(cbrt.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))
(expm1.f64 (log1p.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))
(log1p.f64 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))
(exp.f64 (-.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) im))
(exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))) 1)
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)
(*.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2)) (/.f64 1 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (cos.f64 re))
(/.f64 1 (/.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (+.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (*.f64 1/2 (*.f64 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))) (neg.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))) (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2)
(pow.f64 (/.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))) -1)
(pow.f64 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))) -1)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)) (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 1))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 1 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 1 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 1 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 1 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2) (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 1/2 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 (+.f64 im im)))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 (cos.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(+.f64 0 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 1)
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) 1/2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2)
(pow.f64 (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))
(exp.f64 (+.f64 im (log.f64 (*.f64 1/2 (cos.f64 re)))))
(exp.f64 (*.f64 (+.f64 im (log.f64 (*.f64 1/2 (cos.f64 re)))) 1))
Outputs
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (cos.f64 re) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 -1/2 im)))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 -1/2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (*.f64 (cos.f64 re) im))))
(fma.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 (cos.f64 re) -1/2)) (fma.f64 1/2 (cos.f64 re) (*.f64 -1/2 (*.f64 (cos.f64 re) im))))
(fma.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im) (fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 -1/2 im))))
(fma.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im) (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 -1/2 im))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re)))) (+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 1/6 (cos.f64 re)))) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))))
(fma.f64 -1/2 (*.f64 (fma.f64 -1 (*.f64 (cos.f64 re) -1/2) (*.f64 (cos.f64 re) -1/3)) (pow.f64 im 3)) (fma.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 (cos.f64 re) -1/2)) (fma.f64 1/2 (cos.f64 re) (*.f64 -1/2 (*.f64 (cos.f64 re) im)))))
(fma.f64 (+.f64 0 (*.f64 (*.f64 (cos.f64 re) 1/6) -1/2)) (pow.f64 im 3) (fma.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im) (fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 -1/2 im)))))
(fma.f64 (*.f64 (cos.f64 re) -1/12) (pow.f64 im 3) (fma.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im) (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 -1/2 im)))))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 -1/4 (/.f64 (*.f64 re re) (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 -1/4 (/.f64 re (/.f64 (exp.f64 im) re)) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(fma.f64 -1/4 (/.f64 (*.f64 re re) (exp.f64 im)) (fma.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(fma.f64 -1/4 (/.f64 re (/.f64 (exp.f64 im) re)) (fma.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 -1/1440 (/.f64 (pow.f64 re 6) (exp.f64 im))))))
(fma.f64 -1/4 (/.f64 (*.f64 re re) (exp.f64 im)) (+.f64 (fma.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (*.f64 -1/1440 (/.f64 (pow.f64 re 6) (exp.f64 im)))))
(fma.f64 -1/4 (/.f64 re (/.f64 (exp.f64 im) re)) (fma.f64 1/48 (/.f64 (pow.f64 re 4) (exp.f64 im)) (fma.f64 -1/1440 (/.f64 (pow.f64 re 6) (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) im))
(cos.f64 re)
(+.f64 (cos.f64 re) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) im) (*.f64 (+.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 -1/2 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))))) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (fma.f64 (*.f64 (cos.f64 re) 0) im (*.f64 (*.f64 im im) (fma.f64 1/4 (cos.f64 re) (*.f64 -1/2 (*.f64 (cos.f64 re) -1/2))))))
(+.f64 (cos.f64 re) (fma.f64 im 0 (*.f64 (*.f64 im im) (fma.f64 (cos.f64 re) 1/4 (*.f64 (cos.f64 re) 1/4)))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) im) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 -1/2 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re))))) (pow.f64 im 2)) (*.f64 (+.f64 (*.f64 1/12 (cos.f64 re)) (*.f64 -1/2 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 -1 (cos.f64 re)))) (+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 1/6 (cos.f64 re)))))) (pow.f64 im 3)))))
(+.f64 (cos.f64 re) (fma.f64 (*.f64 (cos.f64 re) 0) im (fma.f64 (fma.f64 1/4 (cos.f64 re) (*.f64 -1/2 (*.f64 (cos.f64 re) -1/2))) (*.f64 im im) (*.f64 (pow.f64 im 3) (fma.f64 1/12 (cos.f64 re) (*.f64 -1/2 (fma.f64 -1 (*.f64 (cos.f64 re) -1/2) (*.f64 (cos.f64 re) -1/3))))))))
(+.f64 (cos.f64 re) (fma.f64 im 0 (fma.f64 (*.f64 im im) (fma.f64 (cos.f64 re) 1/4 (*.f64 (cos.f64 re) 1/4)) (*.f64 (pow.f64 im 3) (fma.f64 (cos.f64 re) 1/12 (+.f64 0 (*.f64 (*.f64 (cos.f64 re) 1/6) -1/2)))))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (fma.f64 (cos.f64 re) 1/12 (*.f64 (cos.f64 re) -1/12)) im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/4 (exp.f64 im)) (*.f64 1/4 (/.f64 1 (exp.f64 im)))) (pow.f64 re 2))))
(fma.f64 1/2 (exp.f64 im) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (*.f64 re re) (-.f64 (*.f64 (exp.f64 im) -1/4) (/.f64 1/4 (exp.f64 im))))))
(fma.f64 1/2 (exp.f64 im) (fma.f64 (*.f64 re re) (fma.f64 (exp.f64 im) -1/4 (/.f64 -1/4 (exp.f64 im))) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/48 (/.f64 1 (exp.f64 im))) (*.f64 1/48 (exp.f64 im))) (pow.f64 re 4)) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/4 (exp.f64 im)) (*.f64 1/4 (/.f64 1 (exp.f64 im)))) (pow.f64 re 2)))))
(fma.f64 (*.f64 1/48 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (*.f64 re re) (-.f64 (*.f64 (exp.f64 im) -1/4) (/.f64 1/4 (exp.f64 im)))))))
(fma.f64 (pow.f64 re 4) (fma.f64 (exp.f64 im) 1/48 (/.f64 1/48 (exp.f64 im))) (fma.f64 1/2 (exp.f64 im) (fma.f64 (*.f64 re re) (fma.f64 (exp.f64 im) -1/4 (/.f64 -1/4 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) 1/2)) (*.f64 (*.f64 re re) (fma.f64 (exp.f64 im) -1/4 (/.f64 -1/4 (exp.f64 im)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/48 (/.f64 1 (exp.f64 im))) (*.f64 1/48 (exp.f64 im))) (pow.f64 re 4)) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 (-.f64 (*.f64 -1/1440 (exp.f64 im)) (*.f64 1/1440 (/.f64 1 (exp.f64 im)))) (pow.f64 re 6)) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 (-.f64 (*.f64 -1/4 (exp.f64 im)) (*.f64 1/4 (/.f64 1 (exp.f64 im)))) (pow.f64 re 2))))))
(fma.f64 (*.f64 1/48 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) (fma.f64 (-.f64 (*.f64 (exp.f64 im) -1/1440) (/.f64 1/1440 (exp.f64 im))) (pow.f64 re 6) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (*.f64 re re) (-.f64 (*.f64 (exp.f64 im) -1/4) (/.f64 1/4 (exp.f64 im))))))))
(fma.f64 (pow.f64 re 4) (fma.f64 (exp.f64 im) 1/48 (/.f64 1/48 (exp.f64 im))) (fma.f64 1/2 (exp.f64 im) (fma.f64 (pow.f64 re 6) (fma.f64 (exp.f64 im) -1/1440 (/.f64 -1/1440 (exp.f64 im))) (fma.f64 (*.f64 re re) (fma.f64 (exp.f64 im) -1/4 (/.f64 -1/4 (exp.f64 im))) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) 1/2)) (*.f64 (*.f64 re re) (fma.f64 (exp.f64 im) -1/4 (/.f64 -1/4 (exp.f64 im))))) (*.f64 (pow.f64 re 6) (fma.f64 (exp.f64 im) -1/1440 (/.f64 -1/1440 (exp.f64 im)))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 re) im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)))
(*.f64 1/2 (fma.f64 (cos.f64 re) im (cos.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (cos.f64 re))))
(fma.f64 1/4 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 1/2 (+.f64 (*.f64 (cos.f64 re) im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/4 (*.f64 im im))))
(fma.f64 1/2 (fma.f64 (cos.f64 re) im (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) im)) (*.f64 1/2 (cos.f64 re)))))
(fma.f64 1/4 (*.f64 (cos.f64 re) (*.f64 im im)) (fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 1/2 (+.f64 (*.f64 (cos.f64 re) im) (cos.f64 re)))))
(fma.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im) (fma.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (fma.f64 (cos.f64 re) im (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 3)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2))))
(fma.f64 1/2 (exp.f64 im) (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 re re))))
(fma.f64 1/2 (exp.f64 im) (*.f64 (exp.f64 im) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (exp.f64 im) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)))))
(fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (*.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 re re)))))
(fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (*.f64 (exp.f64 im) (*.f64 -1/4 (*.f64 re re)))))
(fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (*.f64 (exp.f64 im) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(+.f64 (*.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6))))))
(fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/4 (*.f64 (exp.f64 im) (*.f64 re re)) (*.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 -1/1440 (pow.f64 re 6)))) (*.f64 (exp.f64 im) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(+.f64 0 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) 1)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 1 (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (neg.f64 (*.f64 1/2 (cos.f64 re))) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) 1) (exp.f64 im))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (cbrt.f64 (exp.f64 im)) (cbrt.f64 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (exp.f64 2) im))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (exp.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 im) 2)))
(/.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (*.f64 -1/2 (cos.f64 re)) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) -1/2) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 1)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) 1/2)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 3)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3) 1/3)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (/.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) -1)
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(sqrt.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(expm1.f64 (log1p.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(log1p.f64 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (-.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) im))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) im) 1))
(/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)))
(/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))) 1)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (-.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) 8)) (fma.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 3)) (fma.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2)) (/.f64 1 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 1 (/.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (-.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) 8)) (fma.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 3)) (fma.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (-.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) 8)) (fma.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 3)) (fma.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3)) (+.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (*.f64 1/2 (*.f64 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))))))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (-.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) 8)) (fma.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 3)) (fma.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))) (neg.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))))
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (-.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) 8)) (fma.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 3)) (fma.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))) (neg.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) 1/2)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) 1/3)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 3)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2)
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (/.f64 (fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (-.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))) (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 3))) -1)
(*.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 3)) (/.f64 1 (fma.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (-.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (/.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) 8)) (fma.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 im)))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 3)) (fma.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2))))
(pow.f64 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 2))) -1)
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) 2)) (cos.f64 re)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)) (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))) (cos.f64 re))
(/.f64 (/.f64 (fma.f64 -1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2) (pow.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (cos.f64 re))) 2)) (cos.f64 re)) (*.f64 -1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 2 (cosh.f64 im)) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))))
(+.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (cos.f64 re) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im))))))
(fma.f64 (cos.f64 re) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (/.f64 1/2 (exp.f64 im)) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) (pow.f64 (exp.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)) (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))
(+.f64 (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))) (*.f64 (cos.f64 re) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im))))))
(fma.f64 (cos.f64 re) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (/.f64 1/2 (exp.f64 im)) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) (+.f64 1 (expm1.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 1))
(*.f64 (cos.f64 re) (*.f64 1 (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) 1 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 1 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) 2) (cbrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (sqrt.f64 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 1/2 (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 (+.f64 im im)))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 (+.f64 im im)))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(fma.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (exp.f64 2) im))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(fma.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (exp.f64 im) 2))) (/.f64 (cos.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(fma.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 (cos.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (cos.f64 re) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) (/.f64 (cos.f64 re) (*.f64 2 (exp.f64 im))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (/.f64 (cos.f64 re) (*.f64 (exp.f64 im) 2)))
(*.f64 1/2 (+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 0 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(*.f64 (cos.f64 re) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)) 1/2)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(pow.f64 (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)) 1/3)
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3)))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2)))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(*.f64 (cos.f64 re) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(exp.f64 (+.f64 im (log.f64 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(exp.f64 (*.f64 (+.f64 im (log.f64 (*.f64 1/2 (cos.f64 re)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))

localize7.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize18.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 30 to 15 computations (50% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
493×log-prod_binary64
373×exp-prod_binary64
337×pow-prod-down_binary64
332×prod-diff_binary64
270×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01015
121713
2278313
Stop Event
node limit
Counts
1 → 78
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 im 6))) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2)) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im)) (+.f64 1 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (cos.f64 re))) (cos.f64 re))))) (#(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))) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(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))) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(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 im im)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(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))) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(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))) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(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 im im)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (cos.f64 re)) 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (cos.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 1/2 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (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 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) im) im (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) 1/2) (cos.f64 re) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 1/2 (cos.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (cos.f64 re))))))

simplify60.0ms (0.8%)

Algorithm
egg-herbie
Rules
594×fma-def_binary64
282×*-commutative_binary64
264×log-prod_binary64
261×distribute-rgt-in_binary64
258×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02171660
15831633
215201584
351711558
Stop Event
node limit
Counts
102 → 131
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 im 6))) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2)) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1) 1))
(fma.f64 1/2 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 1/2 (*.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 im im)) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 im im)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (cos.f64 re))
(fma.f64 (*.f64 2 (cos.f64 re)) 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (*.f64 2 (cos.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 1/2 (cos.f64 re))
(fma.f64 (*.f64 2 (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 im im))))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) im) im (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (cos.f64 re) (cos.f64 re))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 1/2 (cos.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 -1/1440 (*.f64 (fma.f64 im im 2) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/1440 (*.f64 (fma.f64 im im 2) (pow.f64 re 6)) (*.f64 (fma.f64 im im 2) (*.f64 (*.f64 re re) -1/4)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(*.f64 (fma.f64 im im 2) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 im 6))) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 im 6))) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im im))))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 1/8) (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))) (cos.f64 re)))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) -1)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (+.f64 1 (*.f64 (pow.f64 im 6) 1/8))) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im -2)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2)) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 2)) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (cos.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/4) (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (*.f64 im (*.f64 im (cos.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re)))) 2)) (fma.f64 (*.f64 (*.f64 im im) -1/2) (cos.f64 re) (cos.f64 re)))
(/.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))) 1)
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (+.f64 (pow.f64 im 6) 8))
(*.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 im 6) 8)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (*.f64 im im))) (-.f64 4 (pow.f64 im 4)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 1/2 (/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (cos.f64 re))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (+.f64 (pow.f64 im 6) 8))
(*.f64 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 im 6) 8)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (*.f64 im im))) (-.f64 4 (pow.f64 im 4)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 1/2 (/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (cos.f64 re))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)) 1/2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))))))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))))
(*.f64 (fma.f64 im im 2) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 im im) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re))))) (log1p.f64 (expm1.f64 (cos.f64 re))))
(fma.f64 (*.f64 im im) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (cos.f64 re))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 im im) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re))))) (log1p.f64 (expm1.f64 (cos.f64 re))))
(fma.f64 (*.f64 im im) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1/3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im (cbrt.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 im im)) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 im im)) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 2 (cos.f64 re)) 1/2 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 2 (cos.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 1/2 (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 2 (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 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) im) im (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im (cbrt.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2))) 1))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (cos.f64 re) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 1/2 (cos.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 im) (exp.f64 (neg.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 im) (exp.f64 (neg.f64 im)))
0.0ms
im
@inf
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
0.0ms
im
@-inf
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

rewrite21.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
066
11296
221506
066
Stop Event
iter limit
unsound
Counts
1 → 12
Calls
Call 1
Inputs
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (cosh.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (cosh.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))))))

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
541×associate-*l/_binary64
512×associate-*r/_binary64
385×fma-def_binary64
324×fma-neg_binary64
295×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059240
1155226
2485219
31831157
47462157
Stop Event
node limit
Counts
20 → 32
Calls
Call 1
Inputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 2 (cosh.f64 im))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
Outputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/360 (pow.f64 im 6) 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (fma.f64 (exp.f64 im) (exp.f64 im) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (exp.f64 (*.f64 im -3))) (+.f64 (pow.f64 (exp.f64 2) im) (expm1.f64 (*.f64 im -2))))
(/.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 im) -3)) (+.f64 (pow.f64 (exp.f64 im) 2) (expm1.f64 (*.f64 im -2))))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))

localize23.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.1b
(*.f64 (pow.f64 im 4) 1/12)
Compiler

Compiled 57 to 35 computations (38.6% saved)

series6.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite70.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
725×log-prod_binary64
511×fma-def_binary64
275×expm1-udef_binary64
275×log1p-udef_binary64
255×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01547
133439
2434439
Stop Event
node limit
Counts
3 → 161
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (neg.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (*.f64 1/2 (cos.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 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 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(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 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(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 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(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 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(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 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (cos.f64 re)) 1/2 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 1/2 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) 1/2) (cos.f64 re) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 4)) 1/12 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 1/12) (pow.f64 im 4) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8)))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1/2) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 1/144 (pow.f64 im 8)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 1/144 (pow.f64 im 8) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (exp.f64 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)) (+.f64 1 (expm1.f64 (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (+.f64 1 (expm1.f64 (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))) (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 im im 2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im im (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 4) 1/12) 1 (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) 1 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 im im 2) 1 (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 im im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))) (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 im im 2))))))

simplify115.0ms (1.6%)

Algorithm
egg-herbie
Rules
401×cancel-sign-sub-inv_binary64
358×associate-*l*_binary64
328×associate-*r*_binary64
319×distribute-rgt-neg-in_binary64
254×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04144535
110944139
240114091
Stop Event
node limit
Counts
209 → 242
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 -1/1440 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 0 (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)
(pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) 1/3)
(sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 1))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (neg.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (*.f64 1/2 (cos.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))
(fma.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 1 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (cos.f64 re)) 1/2 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 1/2 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) (cos.f64 re) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 4)) 1/12 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 1/12) (pow.f64 im 4) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8)))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1/2) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(-.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 1/144 (pow.f64 im 8)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 1)
(*.f64 1 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))))
(*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 1/144 (pow.f64 im 8) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 im im 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (neg.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 1)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) -1)
(pow.f64 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (exp.f64 (fma.f64 im im 2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)) (+.f64 1 (expm1.f64 (fma.f64 im im 2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (+.f64 1 (expm1.f64 (fma.f64 im im 2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))) (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))
(log.f64 (*.f64 (exp.f64 (fma.f64 im im 2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 1))
(fma.f64 im im (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) 1 (fma.f64 im im 2))
(fma.f64 (*.f64 im im) 1 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (fma.f64 im im 2))
(fma.f64 (fma.f64 im im 2) 1 (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 im im 2))
(fma.f64 1 (*.f64 im im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 1 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (fma.f64 im im 2))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (fma.f64 im im 2))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (fma.f64 im im 2))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 im im 2))
Outputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) -1/4)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 -1/1440 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 6))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4)) (fma.f64 1/2 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 -1/1440 (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (pow.f64 re 6)))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))
(fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 6) (*.f64 -1/1440 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 0 (*.f64 (pow.f64 im 4) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) 1/3)
(*.f64 1/12 (pow.f64 im 4))
(sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3))
(*.f64 1/12 (pow.f64 im 4))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (neg.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re))) 3)) (fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (+.f64 (*.f64 (pow.f64 im 8) (*.f64 (*.f64 1/24 (cos.f64 re)) (*.f64 1/24 (cos.f64 re)))) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (neg.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) 3)) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) 1/4) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (+.f64 (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (*.f64 (*.f64 1/2 (fma.f64 im im 2)) (neg.f64 (cos.f64 re)))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/13824 (pow.f64 (*.f64 (pow.f64 im 4) (cos.f64 re)) 3))) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) 1/4) (cos.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (+.f64 (*.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24)) (*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) -1/2))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))) (*.f64 (pow.f64 im 8) (*.f64 (*.f64 1/24 (cos.f64 re)) (*.f64 1/24 (cos.f64 re))))) (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1/4) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (pow.f64 im 8) (*.f64 1/576 (*.f64 (cos.f64 re) (cos.f64 re))))) (fma.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (*.f64 (pow.f64 im 4) (cos.f64 re)) -1/24)))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1)
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 1/2 (cos.f64 re))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(*.f64 (/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (*.f64 1/2 (cos.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(*.f64 (/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cos.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re))))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (cos.f64 re)) 1/2 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 1/2 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) (cos.f64 re) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 4)) 1/12 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 1/12) (pow.f64 im 4) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8)))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cos.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1/2) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sqrt.f64 (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 1/144 (pow.f64 im 8)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(*.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 1)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2)))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2)))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 1/144 (pow.f64 im 8) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 im im 2)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 1/144 (pow.f64 im 8) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 1/144 (pow.f64 im 8) (*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 1/144 (pow.f64 im 8) (*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (neg.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (-.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im -2)) 4))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 1)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) 1/3)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 3)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 2)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) -1)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)) (pow.f64 (fma.f64 im im 2) 2)))
(pow.f64 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) -1)
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (exp.f64 (fma.f64 im im 2))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)) (+.f64 1 (expm1.f64 (fma.f64 im im 2)))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (+.f64 1 (expm1.f64 (fma.f64 im im 2)))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))) (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (*.f64 (exp.f64 (fma.f64 im im 2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) 1))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 im im (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) 1 (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 im im) 1 (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (fma.f64 im im 2) 1 (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (*.f64 im im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) 2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) 2))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (fma.f64 im im 2))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(fma.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(fma.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (+.f64 2 (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (fma.f64 1/12 (pow.f64 im 4) 2))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (+.f64 2 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (fma.f64 im im 2))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (fma.f64 im im 2))

eval332.0ms (4.6%)

Compiler

Compiled 14919 to 8805 computations (41% saved)

prune173.0ms (2.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New6706676
Fresh202
Picked101
Done325
Total6768684
Error
0b
Counts
684 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (cos.f64 re))
1.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
29.3b
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
28.7b
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
29.6b
(*.f64 1/2 2)
1.6b
(cos.f64 re)
0.3b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3))
Compiler

Compiled 128 to 100 computations (21.9% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
602×pow1_binary64
554×add-log-exp_binary64
553×log1p-expm1-u_binary64
553×expm1-log1p-u_binary64
541×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.5%)

Algorithm
egg-herbie
Rules
581×associate-*l/_binary64
519×distribute-rgt-in_binary64
508×distribute-lft-in_binary64
357×associate-*l*_binary64
324×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079776
1220774
2753701
33327399
Stop Event
node limit
Counts
37 → 51
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (cosh.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
Outputs
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (*.f64 2 (cosh.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (*.f64 re re) (fma.f64 (exp.f64 im) -1/4 (/.f64 -1/4 (exp.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (*.f64 2 (cosh.f64 im)) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (*.f64 re re)))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (*.f64 2 (cosh.f64 im)) (+.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1/3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (cosh.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (cosh.f64 im))

localize3.0ms (0%)

Compiler

Compiled 7 to 7 computations (0% saved)

localize26.0ms (0.4%)

Compiler

Compiled 20 to 11 computations (45% saved)

localize7.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize11.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 35 to 11 computations (68.6% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite40.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
553×pow1_binary64
525×add-sqr-sqrt_binary64
507×add-log-exp_binary64
507×log1p-expm1-u_binary64
507×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
11199
214319
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (*.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))))))

simplify35.0ms (0.5%)

Algorithm
egg-herbie
Rules
678×log-prod_binary64
569×distribute-rgt-in_binary64
556×distribute-lft-in_binary64
531×associate-*l*_binary64
466×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055379
1145367
2506353
33074350
Stop Event
node limit
Counts
35 → 30
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (*.f64 im im))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
Outputs
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im))
(*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 re 4))) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 re re) 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)) (*.f64 -1/720 (*.f64 (*.f64 im im) (pow.f64 re 6))))))
(fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 re 4))) (fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (*.f64 im im))) 1)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3) 1/3)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))

eval24.0ms (0.3%)

Compiler

Compiled 1400 to 691 computations (50.6% saved)

prune14.0ms (0.2%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New78381
Fresh101
Picked101
Done066
Total80989
Error
0b
Counts
89 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
1.3b
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
1.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
29.3b
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
28.7b
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
29.6b
(*.f64 1/2 2)
1.6b
(cos.f64 re)
0.3b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
Compiler

Compiled 76 to 60 computations (21.1% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
0.3b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
0.4b
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
Compiler

Compiled 29 to 11 computations (62.1% saved)

series9.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
re
@0
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
1.0ms
im
@0
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
1.0ms
re
@-inf
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
1.0ms
re
@inf
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
1.0ms
im
@-inf
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
779×pow1_binary64
728×add-log-exp_binary64
727×log1p-expm1-u_binary64
727×expm1-log1p-u_binary64
708×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
680×distribute-rgt-in_binary64
675×distribute-lft-in_binary64
491×associate-+l+_binary64
243×associate-*l*_binary64
238×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02342323
16452072
225431795
Stop Event
node limit
Counts
104 → 119
Calls
Call 1
Inputs
(*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3))
(+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 1/192 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (pow.f64 re 4)) (*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3))))
(+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/96 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 -1/1440 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 -1/5760 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/192 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))))) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 1/192 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (pow.f64 re 4)) (*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(pow.f64 (cos.f64 re) 3)
(+.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/2 (pow.f64 (cos.f64 re) 3))) (pow.f64 im 2)) (pow.f64 (cos.f64 re) 3))
(+.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/2 (pow.f64 (cos.f64 re) 3))) (pow.f64 im 2)) (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 3)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 re) 2)) (*.f64 1/4 (pow.f64 (cos.f64 re) 2)))))) (pow.f64 im 4))))
(+.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/2 (pow.f64 (cos.f64 re) 3))) (pow.f64 im 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 2)) (*.f64 1/360 (pow.f64 (cos.f64 re) 2)))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 re) 2)) (*.f64 1/4 (pow.f64 (cos.f64 re) 2))))) (*.f64 1/720 (pow.f64 (cos.f64 re) 3))))) (pow.f64 im 6)) (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 3)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 re) 2)) (*.f64 1/4 (pow.f64 (cos.f64 re) 2)))))) (pow.f64 im 4)))))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) 1)
(*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (cosh.f64 im) (*.f64 (cos.f64 re) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1)
(*.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (cosh.f64 im) 3))
(*.f64 (pow.f64 (cosh.f64 im) 3) (pow.f64 (cos.f64 re) 3))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) 3) (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (cos.f64 re)) (cosh.f64 im))
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (cosh.f64 im)) (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1) (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)))
(exp.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cosh.f64 im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) (cos.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (cosh.f64 im)))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (cos.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (cosh.f64 im)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1/3) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2) 1/3))
(*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (cosh.f64 im)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
Outputs
(*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3))
(*.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3))
(+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(fma.f64 (*.f64 re re) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -3/16) (*.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3)))
(fma.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (*.f64 -3/16 (*.f64 re re))))
(*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (+.f64 1/8 (*.f64 -3/16 (*.f64 re re))))
(+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 1/192 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (pow.f64 re 4)) (*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3))))
(fma.f64 (*.f64 re re) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -3/16) (fma.f64 (fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/12)) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 13/192)) (pow.f64 re 4) (*.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3))))
(fma.f64 (*.f64 re re) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -3/16) (fma.f64 (fma.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 13/192 (*.f64 1/2 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 1/12))) (pow.f64 re 4) (*.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3))))
(+.f64 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (+.f64 1/8 (*.f64 -3/16 (*.f64 re re)))) (*.f64 (fma.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 13/192 (*.f64 1/2 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 1/12))) (pow.f64 re 4)))
(+.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/96 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 -1/1440 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 -1/5760 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/192 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))))) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 -1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/48 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2)) (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 2))) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 1/16 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)) (*.f64 1/192 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))) (pow.f64 re 4)) (*.f64 1/8 (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))))
(fma.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) -1/90)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/12)) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -31/5760))) (fma.f64 (*.f64 re re) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -3/16) (fma.f64 (fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/12)) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 13/192)) (pow.f64 re 4) (*.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3)))))
(fma.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -1/90) (fma.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -31/5760 (*.f64 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 1/12) -1/4))) (fma.f64 (*.f64 re re) (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -3/16) (fma.f64 (fma.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 13/192 (*.f64 1/2 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 1/12))) (pow.f64 re 4) (*.f64 1/8 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3)))))
(fma.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -1/90) (fma.f64 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 1/12) -1/4 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) -31/5760))) (+.f64 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (+.f64 1/8 (*.f64 -3/16 (*.f64 re re)))) (*.f64 (fma.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 13/192 (*.f64 1/2 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 1/12))) (pow.f64 re 4))))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(pow.f64 (cos.f64 re) 3)
(+.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/2 (pow.f64 (cos.f64 re) 3))) (pow.f64 im 2)) (pow.f64 (cos.f64 re) 3))
(fma.f64 (*.f64 3/2 (pow.f64 (cos.f64 re) 3)) (*.f64 im im) (pow.f64 (cos.f64 re) 3))
(fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 3/2) (*.f64 im im) (pow.f64 (cos.f64 re) 3))
(*.f64 (+.f64 (*.f64 (*.f64 im im) 3/2) 1) (pow.f64 (cos.f64 re) 3))
(+.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/2 (pow.f64 (cos.f64 re) 3))) (pow.f64 im 2)) (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 3)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 re) 2)) (*.f64 1/4 (pow.f64 (cos.f64 re) 2)))))) (pow.f64 im 4))))
(+.f64 (fma.f64 (*.f64 3/2 (pow.f64 (cos.f64 re) 3)) (*.f64 im im) (pow.f64 (cos.f64 re) 3)) (*.f64 (fma.f64 1/2 (pow.f64 (cos.f64 re) 3) (fma.f64 1/24 (pow.f64 (cos.f64 re) 3) (*.f64 (cos.f64 re) (*.f64 (pow.f64 (cos.f64 re) 2) 1/3)))) (pow.f64 im 4)))
(fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 3/2) (*.f64 im im) (fma.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 1/3) (*.f64 (pow.f64 (cos.f64 re) 3) 13/24)) (pow.f64 im 4) (pow.f64 (cos.f64 re) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 im im) 3/2) 1) (pow.f64 (cos.f64 re) 3)) (*.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 7/8) (pow.f64 im 4)))
(+.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/2 (pow.f64 (cos.f64 re) 3))) (pow.f64 im 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 2)) (*.f64 1/360 (pow.f64 (cos.f64 re) 2)))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 re) 2)) (*.f64 1/4 (pow.f64 (cos.f64 re) 2))))) (*.f64 1/720 (pow.f64 (cos.f64 re) 3))))) (pow.f64 im 6)) (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 re) 3)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 re) 2)) (*.f64 1/4 (pow.f64 (cos.f64 re) 2)))))) (pow.f64 im 4)))))
(fma.f64 (*.f64 3/2 (pow.f64 (cos.f64 re) 3)) (*.f64 im im) (fma.f64 (fma.f64 1/24 (pow.f64 (cos.f64 re) 3) (fma.f64 (cos.f64 re) (*.f64 (pow.f64 (cos.f64 re) 2) 2/45) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 (pow.f64 (cos.f64 re) 2) 1/3)) (*.f64 (pow.f64 (cos.f64 re) 3) 1/720)))) (pow.f64 im 6) (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (fma.f64 1/2 (pow.f64 (cos.f64 re) 3) (fma.f64 1/24 (pow.f64 (cos.f64 re) 3) (*.f64 (cos.f64 re) (*.f64 (pow.f64 (cos.f64 re) 2) 1/3)))) (pow.f64 im 4)))))
(fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 3/2) (*.f64 im im) (fma.f64 (fma.f64 (pow.f64 (cos.f64 re) 3) 1/24 (+.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 2/45) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 re) 3) 1/3) (*.f64 (pow.f64 (cos.f64 re) 3) 1/720)))) (pow.f64 im 6) (fma.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 1/3) (*.f64 (pow.f64 (cos.f64 re) 3) 13/24)) (pow.f64 im 4) (pow.f64 (cos.f64 re) 3))))
(fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 3/2) (*.f64 im im) (fma.f64 (+.f64 (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 re) 3) 1/3) (*.f64 (pow.f64 (cos.f64 re) 3) 1/720)) (*.f64 (pow.f64 (cos.f64 re) 3) 31/360)) (pow.f64 im 6) (fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 7/8) (pow.f64 im 4) (pow.f64 (cos.f64 re) 3))))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) 3)))
(*.f64 1/8 (*.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2)
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re))))
(fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)))))
(fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2 (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4))))))
(fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2 (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 (*.f64 (cos.f64 re) 1/24) (pow.f64 im 4) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) 1)
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (cosh.f64 im) (*.f64 (cos.f64 re) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1)
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (*.f64 (cos.f64 re) (cosh.f64 im)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (cosh.f64 im) 3))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (cosh.f64 im) 3) (pow.f64 (cos.f64 re) 3))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2) (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) 3) (*.f64 (cos.f64 re) (cosh.f64 im)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (cos.f64 re)) (cosh.f64 im))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (cosh.f64 im)) (cos.f64 re))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1) (*.f64 (cos.f64 re) (cosh.f64 im)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 6))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 3))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(exp.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(+.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) -1)
(+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 0)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cosh.f64 im) (cos.f64 re))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) (cos.f64 re)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1/3))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (cos.f64 re)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1/3) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 re) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3/2)))
(*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)) 2)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(*.f64 (cos.f64 re) (cosh.f64 im))

localize15.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 10 computations (56.5% saved)

series7.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
871×pow1_binary64
809×add-log-exp_binary64
809×log1p-expm1-u_binary64
809×expm1-log1p-u_binary64
791×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
117210
2224110
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))) (/.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (/.f64 1 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) (neg.f64 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 im im) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) 1/2 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 im) im (cos.f64 re))))))

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
772×fma-neg_binary64
542×associate-*l*_binary64
495×associate-*r*_binary64
383×fma-def_binary64
302×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0114941
1292914
2926861
35201861
Stop Event
node limit
Counts
60 → 62
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1)
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))) (/.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (/.f64 1 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) (neg.f64 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 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 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (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) (+.f64 (fma.f64 re (*.f64 re -1/2) (*.f64 1/2 (*.f64 im im))) (fma.f64 -1/720 (pow.f64 re 6) 1)))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1))) (*.f64 -1/720 (pow.f64 re 6)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(-.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))) (/.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (/.f64 1 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 1 (/.f64 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2))) (neg.f64 (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 im im) (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
0.3b
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
0.4b
(+.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
Compiler

Compiled 30 to 12 computations (60% saved)

series4.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
980×pow1_binary64
913×add-log-exp_binary64
911×log1p-expm1-u_binary64
911×expm1-log1p-u_binary64
104×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify90.0ms (1.2%)

Algorithm
egg-herbie
Rules
579×distribute-rgt-in_binary64
504×distribute-lft-in_binary64
493×cancel-sign-sub-inv_binary64
425×associate-/l*_binary64
356×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02392696
15822442
221452358
Stop Event
node limit
Counts
135 → 158
Calls
Call 1
Inputs
(+.f64 1 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(+.f64 1 (+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(+.f64 1 (+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 1 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(-.f64 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1)
(-.f64 (/.f64 1 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))) (/.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(*.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 1))
(*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 1)
(*.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2) (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1))
(*.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(*.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (*.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1))
(*.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (/.f64 1 (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(*.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (/.f64 1 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))) (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))) (neg.f64 (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))) (neg.f64 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) 1) (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) 1) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 3)
(pow.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2)
(pow.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))
(log.f64 (exp.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(cbrt.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(log1p.f64 (expm1.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(fma.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(fma.f64 (cosh.f64 im) (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 1))
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1)
(+.f64 -1 (fma.f64 (cos.f64 re) (cosh.f64 im) 1))
(+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 1)
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cosh.f64 im) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) (cos.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (cosh.f64 im)))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (cos.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (cosh.f64 im)))
(*.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))))
(*.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1) (/.f64 1 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1))
(*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1)))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (-.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1) (-.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1)) (neg.f64 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))))
(/.f64 (-.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))) (-.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(fma.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2) (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) -1)
(fma.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) -1)
Outputs
(+.f64 1 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2)))))
(+.f64 1 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)))))
(+.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4)))
(+.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(+.f64 1 (+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(+.f64 1 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4))))))
(+.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4))))
(+.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 1 (+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))))
(+.f64 1 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)))))))
(+.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4)))))
(+.f64 (+.f64 1 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) 1))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) 1)
(+.f64 1 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)))
(+.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 1 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (+.f64 1 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1) (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (*.f64 im im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (+.f64 1 (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (+.f64 (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1) (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))) (*.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im))))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))))
(+.f64 1 (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)) 1)
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 re re) -1/4)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (*.f64 im im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720))) (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(-.f64 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(-.f64 (/.f64 1 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))) (/.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 1))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2) (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (*.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(*.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (/.f64 1 (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (fma.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) 1))
(*.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (/.f64 1 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))) (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (fma.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) 1))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))) (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (fma.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) 1))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (fma.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) 1))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))) (neg.f64 (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (fma.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))) (neg.f64 (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) 1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) 1) (+.f64 1 (*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (+.f64 1 (*.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3)) (fma.f64 (cos.f64 re) (*.f64 (cosh.f64 im) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) 1))
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) 1) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (-.f64 1 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (-.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 3)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(pow.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(pow.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) 1/3)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(sqrt.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(log.f64 (exp.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(cbrt.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(expm1.f64 (log1p.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(log1p.f64 (expm1.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)))
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(fma.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(fma.f64 (cosh.f64 im) (cos.f64 re) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 1)
(fma.f64 (cos.f64 re) (cosh.f64 im) 1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 1))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 0)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 -1 (fma.f64 (cos.f64 re) (cosh.f64 im) 1))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cosh.f64 im) (cos.f64 re))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) (cos.f64 re)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (cosh.f64 im)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (cos.f64 re)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (cosh.f64 im)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (/.f64 1 (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(*.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1) (/.f64 1 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (/.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (fma.f64 (cos.f64 re) (cosh.f64 im) 2))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 1))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (/.f64 1 (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (/.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (fma.f64 (cos.f64 re) (cosh.f64 im) 2))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (/.f64 1 (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (-.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1))))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (/.f64 1 (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (/.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (fma.f64 (cos.f64 re) (cosh.f64 im) 2))
(/.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1) (-.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (/.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (fma.f64 (cos.f64 re) (cosh.f64 im) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (/.f64 1 (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 2) (fma.f64 (cos.f64 re) (cosh.f64 im) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2) -1)) (neg.f64 (+.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (/.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) 2)) (fma.f64 (cos.f64 re) (cosh.f64 im) 2))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1)) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) (-.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 1))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 3)) (+.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) (+.f64 -1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))))
(/.f64 (-.f64 1 (*.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) (fma.f64 (cos.f64 re) (cosh.f64 im) -1))) (-.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1)))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)) 2)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 3)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (cosh.f64 im))) 2)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3) 1/3)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 2))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) (cos.f64 re)))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im)))))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cosh.f64 im)) 3))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (cosh.f64 im))))
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(fma.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) 1) -1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) 2) (cbrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) -1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))
(fma.f64 (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) (sqrt.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) 1)) -1)
(+.f64 1 (fma.f64 (cos.f64 re) (cosh.f64 im) -1))
(*.f64 (cos.f64 re) (cosh.f64 im))

eval190.0ms (2.6%)

Compiler

Compiled 8776 to 4459 computations (49.2% saved)

prune139.0ms (1.9%)

Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New4383441
Fresh000
Picked101
Done178
Total44010450
Error
0b
Counts
450 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
1.3b
(-.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))) 1)
0.3b
(+.f64 (fma.f64 (cos.f64 re) (cosh.f64 im) -1) 1)
1.3b
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
1.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
29.3b
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
61.5b
(*.f64 1/2 (*.f64 im im))
28.7b
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
29.6b
(*.f64 1/2 2)
1.6b
(cos.f64 re)
Compiler

Compiled 88 to 69 computations (21.6% saved)

regimes59.0ms (0.8%)

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

6 calls:

13.0ms
re
11.0ms
(cos.f64 re)
11.0ms
im
9.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
0b1re
0b1im
0b1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0b1(*.f64 1/2 (cos.f64 re))
0b1(cos.f64 re)
0b1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 226 to 126 computations (44.2% saved)

regimes53.0ms (0.7%)

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

6 calls:

10.0ms
re
10.0ms
im
9.0ms
(cos.f64 re)
9.0ms
(*.f64 1/2 (cos.f64 re))
8.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (cos.f64 re))
0.0b1(cos.f64 re)
0.0b1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 211 to 119 computations (43.6% saved)

regimes23.0ms (0.3%)

Counts
8 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))) 1)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

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

Compiled 73 to 47 computations (35.6% saved)

regimes24.0ms (0.3%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
Outputs
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
Calls

3 calls:

13.0ms
re
4.0ms
im
4.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.3b1re
1.3b1im
1.3b1(cos.f64 re)
Compiler

Compiled 43 to 28 computations (34.9% saved)

regimes27.0ms (0.4%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
Outputs
(cos.f64 re)
Calls

3 calls:

12.0ms
(cos.f64 re)
6.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
1.6b1re
1.6b1im
1.6b1(cos.f64 re)
Compiler

Compiled 35 to 25 computations (28.6% saved)

regimes31.0ms (0.4%)

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

2 calls:

27.0ms
re
3.0ms
im
Results
ErrorSegmentsBranch
29.3b1re
29.3b1im
Compiler

Compiled 23 to 16 computations (30.4% saved)

regimes7.0ms (0.1%)

Accuracy

Total -32.1b remaining (-108.3%)

Threshold costs -32.1b (-108.3%)

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

2 calls:

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

Compiled 16 to 12 computations (25% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02373
13673
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(cos.f64 re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 2)
Outputs
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 2)
1
Compiler

Compiled 62 to 45 computations (27.4% saved)

soundness142.0ms (2%)

Algorithm
egg-herbie
Rules
573×fma-def_binary64
530×associate-/l*_binary64
430×unswap-sqr_binary64
374×times-frac_binary64
340×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01118
12818
27018
313217
419217
534617
678017
7135117
8396717
9449017
10546117
11602417
12705817
Stop Event
node limit
Compiler

Compiled 124 to 94 computations (24.2% saved)

end39.0ms (0.5%)

Compiler

Compiled 50 to 27 computations (46% saved)

Profiling

Loading profile data...