Details

Time bar (total: 7.3s)

analyze166.0ms (2.3%)

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.6s (49%)

Results
1.2s2057×body1024valid
831.0ms5111×body256valid
789.0ms2014×body1024infinite
311.0ms1084×body512valid
242.0ms1011×body512infinite
216.0ms1460×body256infinite
3.0msbody2048valid
Bogosity

preprocess101.0ms (1.4%)

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)

simplify80.0ms (1.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
(cos.f64 re)
0.0b
(*.f64 (cos.f64 re) (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 → 32
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@0
(*.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
re
@inf
(*.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))))

rewrite62.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
0926
118226
2217126
Stop Event
node limit
Counts
3 → 51
Calls
Call 1
Inputs
(/.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)
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 (*.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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (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 (*.f64 (cos.f64 re) (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 (*.f64 (cos.f64 re) (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 (*.f64 (cos.f64 re) (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 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 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 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 expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))

simplify60.0ms (0.8%)

Algorithm
egg-herbie
Rules
318×log-prod_binary64
310×distribute-lft-out_binary64
303×associate-+l+_binary64
298×fma-neg_binary64
263×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01711171
14581074
22124984
35764960
Stop Event
node limit
Counts
83 → 106
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)))))
(+.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))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(-.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 (*.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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 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)))
(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)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (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 1/4 im))))
(+.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 im -1/12) 1/4)))
(+.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 (*.f64 re re) 1) (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/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)))))
(fma.f64 -1/2 (*.f64 re (*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (fma.f64 1/24 (pow.f64 re 4) 1) (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))) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1)))
(+.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)))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (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/720 (pow.f64 re 6) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.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 (*.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)))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im 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/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 (*.f64 im im) (cos.f64 re)) (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 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (*.f64 1/720 (pow.f64 im 6)) (cos.f64 re))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (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 (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24)) (+.f64 (*.f64 1/720 (pow.f64 im 6)) 1)))
(*.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))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.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 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(-.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))))
(fabs.f64 (/.f64 1/2 (exp.f64 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 (*.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 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 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 (cos.f64 re) (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))))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 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 (cos.f64 re) (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))))
(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))))
(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))))
(expm1.f64 (log1p.f64 (*.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))))
(log1p.f64 (expm1.f64 (*.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))))
(exp.f64 (log.f64 (*.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))))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
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
1 → 24
Calls

6 calls:

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

rewrite24.0ms (0.3%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
121×add-sqr-sqrt_binary64
116×*-un-lft-identity_binary64
116×pow1_binary64
114×add-log-exp_binary64
112×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
676×associate-+l+_binary64
534×associate-*l*_binary64
483×associate-+r+_binary64
439×associate-*r*_binary64
327×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
077686
1223621
2795587
33931582
47777582
Stop Event
node limit
Counts
32 → 42
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)))))
(+.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))))))
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 (*.f64 -1/4 (*.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (*.f64 1/48 (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/48 (pow.f64 re 4) (*.f64 re (*.f64 -1/4 re)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(+.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (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 1/48 (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/48 (pow.f64 re 4) (*.f64 re (*.f64 -1/4 re))) (fma.f64 -1/1440 (pow.f64 re 6) 1/2)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 -1/1440 (pow.f64 re 6) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(*.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 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (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 (*.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 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 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))) (fma.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 1/2 (*.f64 im im)))))
(*.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))
(+.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))

eval49.0ms (0.7%)

Compiler

Compiled 3146 to 1649 computations (47.6% saved)

prune27.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1696175
Fresh000
Picked011
Done101
Total1707177
Error
0.0b
Counts
177 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
0.7b
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
29.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.1b
(cos.f64 re)
0.3b
(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)))
Compiler

Compiled 169 to 130 computations (23.1% saved)

localize19.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 49 to 29 computations (40.8% saved)

series5.0ms (0.1%)

Counts
2 → 12
Calls

9 calls:

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

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
625×log-prod_binary64
433×pow-prod-down_binary64
409×fma-def_binary64
321×pow2_binary64
224×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify59.0ms (0.8%)

Algorithm
egg-herbie
Rules
503×distribute-rgt-in_binary64
472×distribute-lft-in_binary64
450×times-frac_binary64
283×unswap-sqr_binary64
215×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02952209
18221809
225921714
Stop Event
node limit
Counts
111 → 165
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1 im))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 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)))))))
(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 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(+.f64 0 (exp.f64 (neg.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (neg.f64 im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (neg.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (exp.f64 (neg.f64 im)))) 1)
(*.f64 1 (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) 1)
(*.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 im) -2)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) -2)) (cbrt.f64 (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 (exp.f64 im) -1/2) (pow.f64 (exp.f64 im) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (exp.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) -2) (cbrt.f64 (exp.f64 (neg.f64 im))))
(pow.f64 (exp.f64 im) -1)
(pow.f64 (exp.f64 (neg.f64 im)) 1)
(pow.f64 (E.f64) (neg.f64 im))
(pow.f64 (E.f64) (*.f64 im -1))
(pow.f64 (pow.f64 (exp.f64 im) -2) 1/2)
(pow.f64 (pow.f64 (exp.f64 im) -3) 1/3)
(pow.f64 (pow.f64 (exp.f64 im) 2) -1/2)
(pow.f64 (pow.f64 (exp.f64 im) 3) -1/3)
(pow.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) 3)
(pow.f64 (cbrt.f64 (exp.f64 im)) -3)
(pow.f64 (pow.f64 (exp.f64 im) -1/2) 2)
(pow.f64 (sqrt.f64 (exp.f64 im)) -2)
(pow.f64 (exp.f64 (sqrt.f64 im)) (neg.f64 (sqrt.f64 im)))
(pow.f64 (exp.f64 (sqrt.f64 im)) (*.f64 (sqrt.f64 im) -1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 im) 2)) (neg.f64 (cbrt.f64 im)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 im) 2)) (*.f64 (cbrt.f64 im) -1))
(pow.f64 (neg.f64 (neg.f64 (exp.f64 im))) -1)
(sqrt.f64 (pow.f64 (exp.f64 im) -2))
(log.f64 (exp.f64 (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (exp.f64 (neg.f64 im)))))
(cbrt.f64 (pow.f64 (exp.f64 im) -3))
(expm1.f64 (log1p.f64 (exp.f64 (neg.f64 im))))
(log1p.f64 (expm1.f64 (exp.f64 (neg.f64 im))))
(exp.f64 (neg.f64 im))
(exp.f64 (*.f64 im -1))
(exp.f64 (*.f64 (neg.f64 im) 1))
(+.f64 0 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 1) (*.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (-.f64 (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 2)) (-.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (*.f64 1/8 (pow.f64 (exp.f64 im) -3))) (cos.f64 re)) (fma.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (*.f64 1/8 (pow.f64 (exp.f64 im) -3)))) (fma.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 2))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (exp.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))) 1))
(fma.f64 1 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 1 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (cos.f64 re) (*.f64 (exp.f64 im) 1/2) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (*.f64 (exp.f64 im) 1/2) (cos.f64 re) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (*.f64 (exp.f64 im) 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) (/.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 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.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 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (sqrt.f64 (*.f64 (exp.f64 im) 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) (/.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 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 1 (*.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 2) (cbrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 im) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im))) 1/2 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (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 (exp.f64 im) (*.f64 1/2 (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 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1/2 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 (exp.f64 im) 1/2))) (sqrt.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
Outputs
1
(+.f64 1 (*.f64 -1 im))
(+.f64 1 (neg.f64 im))
(-.f64 1 im)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im)))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (neg.f64 im)))
(+.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) im))
(+.f64 1 (*.f64 im (-.f64 (*.f64 im 1/2) 1)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1 im))))
(+.f64 1 (fma.f64 -1/6 (pow.f64 im 3) (fma.f64 1/2 (*.f64 im im) (neg.f64 im))))
(+.f64 (fma.f64 -1/6 (pow.f64 im 3) (*.f64 im (*.f64 im 1/2))) (-.f64 1 im))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 im -1/6) 1/2)) (-.f64 1 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 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (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/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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (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 (*.f64 1/24 (pow.f64 re 4)) 1)))
(+.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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 (*.f64 -1/720 (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 re (*.f64 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 (*.f64 1/24 (pow.f64 re 4)) 1) (*.f64 -1/720 (pow.f64 re 6)))))
(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))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 im (*.f64 im 1/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 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (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 im (*.f64 im 1/2)))))
(+.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 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 6) 1/720))))
(+.f64 (*.f64 (+.f64 1 (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) 1/720))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(+.f64 0 (exp.f64 (neg.f64 im)))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (neg.f64 im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (neg.f64 im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (neg.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (exp.f64 (neg.f64 im)))) 1)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(*.f64 1 (exp.f64 (neg.f64 im)))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) 1)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(*.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 im) -2)))
(*.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) (cbrt.f64 (exp.f64 (*.f64 im -2))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) -2)) (cbrt.f64 (exp.f64 (neg.f64 im))))
(*.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 im) -2)))
(*.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) (cbrt.f64 (exp.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (exp.f64 im) -1/2) (pow.f64 (exp.f64 im) -1/2))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(*.f64 -1 (/.f64 1 (neg.f64 (exp.f64 im))))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) -2) (cbrt.f64 (exp.f64 (neg.f64 im))))
(*.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) -2))
(pow.f64 (exp.f64 im) -1)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (exp.f64 (neg.f64 im)) 1)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (E.f64) (neg.f64 im))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (E.f64) (*.f64 im -1))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (pow.f64 (exp.f64 im) -2) 1/2)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (pow.f64 (exp.f64 im) -3) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 im) -3))
(pow.f64 (pow.f64 (exp.f64 im) 2) -1/2)
(pow.f64 (exp.f64 (+.f64 im im)) -1/2)
(pow.f64 (pow.f64 (exp.f64 im) 3) -1/3)
(*.f64 (pow.f64 (pow.f64 (exp.f64 im) 3) -1/6) (pow.f64 (pow.f64 (exp.f64 im) 3) -1/6))
(pow.f64 (cbrt.f64 (exp.f64 (neg.f64 im))) 3)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (cbrt.f64 (exp.f64 im)) -3)
(pow.f64 (pow.f64 (exp.f64 im) -1/2) 2)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(pow.f64 (sqrt.f64 (exp.f64 im)) -2)
(pow.f64 (exp.f64 (sqrt.f64 im)) (neg.f64 (sqrt.f64 im)))
(pow.f64 (exp.f64 (sqrt.f64 im)) (*.f64 (sqrt.f64 im) -1))
(pow.f64 (exp.f64 (sqrt.f64 im)) (neg.f64 (sqrt.f64 im)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 im) 2)) (neg.f64 (cbrt.f64 im)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 im) 2)) (*.f64 (cbrt.f64 im) -1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 im) 2)) (neg.f64 (cbrt.f64 im)))
(pow.f64 (neg.f64 (neg.f64 (exp.f64 im))) -1)
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(sqrt.f64 (pow.f64 (exp.f64 im) -2))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(log.f64 (exp.f64 (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(cbrt.f64 (pow.f64 (exp.f64 im) -3))
(expm1.f64 (log1p.f64 (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(log1p.f64 (expm1.f64 (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(exp.f64 (neg.f64 im))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (*.f64 im -1))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(exp.f64 (*.f64 (neg.f64 im) 1))
(*.f64 2 (/.f64 1/2 (exp.f64 im)))
(exp.f64 (neg.f64 im))
(+.f64 0 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(+.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 1) (*.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 1))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (/.f64 (cosh.f64 im) 1)))))
(*.f64 2 (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (cosh.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))))) 1)
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (-.f64 (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (-.f64 (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 2) (*.f64 (cos.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 (pow.f64 (exp.f64 im) 3) 1/8))) (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (cos.f64 re) (exp.f64 im))) 2) (*.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 2)) (-.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 2) (pow.f64 (*.f64 1/2 (*.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 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (*.f64 (exp.f64 (*.f64 im -2)) 1/4) (*.f64 (exp.f64 (+.f64 im im)) 1/4))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (*.f64 1/8 (pow.f64 (exp.f64 im) -3))) (cos.f64 re)) (fma.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (*.f64 (pow.f64 (exp.f64 im) -3) 1/8))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 1/8 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3)))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (*.f64 1/8 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im))))) (cos.f64 re))
(/.f64 (*.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)))
(/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (cos.f64 re) 1/2)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (*.f64 1/8 (pow.f64 (exp.f64 im) -3)))) (fma.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (*.f64 (pow.f64 (exp.f64 im) -3) 1/8))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 1/8 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3)))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (*.f64 1/8 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im))))) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)))
(/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (cos.f64 re) 1/2)))
(pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 2) 1/2)
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 3) 1/3)
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))) 3)
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))) 2)
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 2))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (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 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (/.f64 (cosh.f64 im) 1)))))
(*.f64 2 (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (cosh.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))))))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (exp.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))) 3))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re)))) 1))
(*.f64 1/2 (*.f64 2 (*.f64 (cosh.f64 im) (cos.f64 re))))
(*.f64 1 (*.f64 (cos.f64 re) (cosh.f64 im)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(fma.f64 1 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 1 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (cos.f64 re) (*.f64 (exp.f64 im) 1/2) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (exp.f64 im) 1/2) (cos.f64 re) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (*.f64 (exp.f64 im) 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 (exp.f64 (+.f64 im im)) 1/4))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (cbrt.f64 (*.f64 (exp.f64 (+.f64 im im)) 1/4)) (cbrt.f64 (*.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 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (sqrt.f64 (*.f64 (exp.f64 im) 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 1 (*.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))) 1))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) 2) (cbrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im)))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 im) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im))) 1/2 (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1/2 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 (exp.f64 (+.f64 im im)) 1/4))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (cbrt.f64 (*.f64 (exp.f64 (+.f64 im im)) 1/4)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 (exp.f64 im) 1/2))) (sqrt.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))
(fma.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (cos.f64 re)) (*.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))))

localize3.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
Compiler

Compiled 5 to 3 computations (40% saved)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 17 computations (48.5% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite50.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
613×associate-*l*_binary64
555×associate-*r*_binary64
449×log-prod_binary64
445×fma-def_binary64
209×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0114902
1316886
2983854
35265844
Stop Event
node limit
Counts
68 → 73
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/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 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(-.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 1)
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (cos.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im))
(*.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im))
(*.f64 im (*.f64 im (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 im (*.f64 1/2 im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re (*.f64 re (fma.f64 (*.f64 1/2 im) im 1))))))
(*.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 re (*.f64 re -1/2)) 1))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 (*.f64 1/2 im) im 1)) (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re (*.f64 re (fma.f64 (*.f64 1/2 im) im 1)))))))
(fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (*.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (fma.f64 im (*.f64 1/2 im) 1)))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 im im) 1)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 (*.f64 1/2 im) im 1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re (*.f64 re (fma.f64 (*.f64 1/2 im) im 1))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 (*.f64 1/2 im) im 1)))))))
(+.f64 (*.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (fma.f64 im (*.f64 1/2 im) 1)) (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(-.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1/3)
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (cos.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 im (*.f64 1/2 im))))) (fma.f64 1/8 (pow.f64 im 6) 1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 im im) 1))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 im im) 1))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 im (*.f64 1/2 im))))) (fma.f64 1/8 (pow.f64 im 6) 1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 im im) 1))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 -1/2 (*.f64 im im) 1))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))

localize9.0ms (0.1%)

Compiler

Compiled 25 to 9 computations (64% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 62 to 41 computations (33.9% saved)

series7.0ms (0.1%)

Counts
2 → 24
Calls

9 calls:

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

rewrite73.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
705×log-prod_binary64
607×fma-def_binary64
337×fma-neg_binary64
269×pow1/3_binary64
264×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify88.0ms (1.2%)

Algorithm
egg-herbie
Rules
945×fma-neg_binary64
578×times-frac_binary64
342×associate-/l*_binary64
294×associate-+l+_binary64
280×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02832775
17272536
223602404
369682400
Stop Event
node limit
Counts
119 → 153
Calls
Call 1
Inputs
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 6))) (*.f64 1/24 (pow.f64 im 4)))))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (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)))))
(+.f64 0 (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))))
(-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 1)
(pow.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/24)) 2)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/576))
(log.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/24 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824))
(expm1.f64 (log1p.f64 (*.f64 1/24 (pow.f64 im 4))))
(expm1.f64 (*.f64 (log1p.f64 (*.f64 1/24 (pow.f64 im 4))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/24 (pow.f64 im 4))))
(exp.f64 (fma.f64 4 (log.f64 im) (log.f64 1/24)))
(exp.f64 (*.f64 (fma.f64 4 (log.f64 im) (log.f64 1/24)) 1))
(fma.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1) -1)
(fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 1 -1)
(fma.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2) (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) -1)
(fma.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) -1)
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 8) 1/576 1) (*.f64 1/24 (pow.f64 im 4)))) -1)
(fma.f64 (fma.f64 (pow.f64 im 8) 1/576 -1) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)) -1)
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(+.f64 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (cos.f64 re))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1) (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 1))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2)))) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 3) (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))) (-.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (cos.f64 re)) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) 2)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) (pow.f64 (cos.f64 re) 3)) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1))
(fma.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 1 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1 (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 1))
(fma.f64 (*.f64 im 1/2) (*.f64 im (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))) (cos.f64 re) (cos.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im im) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4))) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) im (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2)) (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
Outputs
(+.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))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 re re)) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 re re)) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 6))) (*.f64 1/24 (pow.f64 im 4)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 re re)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/720 (*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (pow.f64 re 6)) (*.f64 1/24 (pow.f64 im 4)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (pow.f64 re 6) -1/720)))))))
(+.f64 1 (+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (pow.f64 re 6) -1/720)))) (*.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4))))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 1/2 (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)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))
(+.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 im (*.f64 im (cos.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.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)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (cos.f64 re)))
(+.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 im (*.f64 im (cos.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.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)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.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 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 0 (*.f64 1/24 (pow.f64 im 4)))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))))
(*.f64 1/24 (pow.f64 im 4))
(-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 1)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 im 4))) 3)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/24)) 2)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/576))
(log.f64 (pow.f64 (exp.f64 1/24) (pow.f64 im 4)))
(*.f64 1/24 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 1/24 (pow.f64 im 4))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824))
(expm1.f64 (log1p.f64 (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (pow.f64 im 4))
(expm1.f64 (*.f64 (log1p.f64 (*.f64 1/24 (pow.f64 im 4))) 1))
(*.f64 1/24 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (pow.f64 im 4))
(exp.f64 (fma.f64 4 (log.f64 im) (log.f64 1/24)))
(*.f64 1/24 (pow.f64 im 4))
(exp.f64 (*.f64 (fma.f64 4 (log.f64 im) (log.f64 1/24)) 1))
(*.f64 1/24 (pow.f64 im 4))
(fma.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1) -1)
(*.f64 1/24 (pow.f64 im 4))
(fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 1 -1)
(*.f64 1/24 (pow.f64 im 4))
(fma.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2) -1)
(*.f64 1/24 (pow.f64 im 4))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2) (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) -1)
(*.f64 1/24 (pow.f64 im 4))
(fma.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) -1)
(*.f64 1/24 (pow.f64 im 4))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 8) 1/576 1) (*.f64 1/24 (pow.f64 im 4)))) -1)
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824 1) (/.f64 1 (+.f64 (fma.f64 (pow.f64 im 8) 1/576 1) (*.f64 -1/24 (pow.f64 im 4)))) -1)
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824 1) (/.f64 1 (+.f64 (fma.f64 (pow.f64 im 8) 1/576 1) (*.f64 (pow.f64 im 4) -1/24))) -1)
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824 1) (+.f64 (fma.f64 (pow.f64 im 8) 1/576 1) (*.f64 (pow.f64 im 4) -1/24))))
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/13824 1) (+.f64 1 (fma.f64 (pow.f64 im 8) 1/576 (*.f64 (pow.f64 im 4) -1/24)))))
(fma.f64 (fma.f64 (pow.f64 im 8) 1/576 -1) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)) -1)
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 im 8) 1/576 -1) (fma.f64 1/24 (pow.f64 im 4) -1)))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (cos.f64 re))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1) (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 1))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2)))) (cos.f64 re))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) 1)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))) 1)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 3) (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3) (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (-.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (fma.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 4) 1/4) (cos.f64 re)) (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (cos.f64 re)) (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cos.f64 re) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im -1/2))))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (cos.f64 re)) (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cos.f64 re) (+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))) (-.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (cos.f64 re) (/.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))))) (cos.f64 re))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im -1/2)))))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (cos.f64 re)) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (cos.f64 re) (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))))
(*.f64 (/.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))
(*.f64 (/.f64 (cos.f64 re) (+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 (pow.f64 im 4) -1/24)) -1)) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 (pow.f64 im 4) -1/24 -1))) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))))) (cos.f64 re))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im -1/2)))))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))) (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (cos.f64 re) (/.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))))
(*.f64 (/.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))
(*.f64 (/.f64 (cos.f64 re) (+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 (pow.f64 im 4) -1/24)) -1)) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 (pow.f64 im 4) -1/24 -1))) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 1)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 3) 1/3)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) 3)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) 2)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) 1/3)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(pow.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) (pow.f64 (cos.f64 re) 3)) 1/3)
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1))) 3))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) (pow.f64 (cos.f64 re) 3)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 1 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1 (*.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 1))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 im 1/2) (*.f64 im (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 im (*.f64 im 1/2))) (cos.f64 re) (cos.f64 re))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 im im) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4))) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) im (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) 2)) (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))

eval185.0ms (2.5%)

Compiler

Compiled 10454 to 6535 computations (37.5% saved)

prune90.0ms (1.2%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New5059514
Fresh101
Picked101
Done235
Total50912521
Error
0.0b
Counts
521 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
60.4b
(/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (cos.f64 re) 1/2)))
1.4b
(-.f64 (+.f64 1 (cos.f64 re)) 1)
32.8b
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
1.0b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (-.f64 (+.f64 1 (cos.f64 re)) 1))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
29.8b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) 1)
61.3b
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
0.0b
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
29.8b
(*.f64 1 (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
1.1b
(cos.f64 re)
29.9b
1
Compiler

Compiled 245 to 187 computations (23.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

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

rewrite36.0ms (0.5%)

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

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

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -1/2 (*.f64 re re))
Compiler

Compiled 20 to 11 computations (45% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite34.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
432×pow1_binary64
420×add-sqr-sqrt_binary64
411×*-un-lft-identity_binary64
401×add-log-exp_binary64
401×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11027
211487
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 re re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2 (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))) (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -1/2 (*.f64 re re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))))))

simplify41.0ms (0.6%)

Algorithm
egg-herbie
Rules
1079×log-prod_binary64
420×associate-*l*_binary64
379×associate-*r*_binary64
325×associate-+l+_binary64
306×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046216
1102206
2359191
33009191
46280191
Stop Event
node limit
Counts
26 → 18
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 0 (*.f64 -1/2 (*.f64 re re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))) (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 re re))) 1)
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
Outputs
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(+.f64 0 (*.f64 -1/2 (*.f64 re re)))
(*.f64 -1/2 (*.f64 re re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))) (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))))
(*.f64 -1/2 (*.f64 re re))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 re re))) 1)
(*.f64 -1/2 (*.f64 re re))
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(*.f64 -1/2 (*.f64 re re))
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(*.f64 -1/2 (*.f64 re re))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(*.f64 -1/2 (*.f64 re re))
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(*.f64 -1/2 (*.f64 re re))
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(*.f64 -1/2 (*.f64 re re))
(log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))
(*.f64 -1/2 (*.f64 re re))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(*.f64 -1/2 (*.f64 re re))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.3b
(-.f64 (+.f64 1 (cos.f64 re)) 1)
0.3b
(+.f64 1 (cos.f64 re))
Compiler

Compiled 16 to 10 computations (37.5% saved)

series2.0ms (0%)

Counts
2 → 16
Calls

6 calls:

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

rewrite42.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
649×pow1_binary64
608×add-log-exp_binary64
608×log1p-expm1-u_binary64
608×expm1-log1p-u_binary64
598×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify39.0ms (0.5%)

Algorithm
egg-herbie
Rules
488×associate-/l*_binary64
476×cancel-sign-sub-inv_binary64
337×associate-/r*_binary64
319×fma-neg_binary64
304×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0166860
1403787
21828787
Stop Event
node limit
Counts
88 → 107
Calls
Call 1
Inputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (+.f64 (cos.f64 re) 2) 1)
(-.f64 (/.f64 1 (-.f64 1 (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(*.f64 1 (+.f64 1 (cos.f64 re)))
(*.f64 (+.f64 1 (cos.f64 re)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2) (cbrt.f64 (+.f64 1 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 1))
(*.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) (sqrt.f64 (+.f64 1 (cos.f64 re))))
(*.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) (*.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1)))))
(*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (/.f64 1 (-.f64 1 (cos.f64 re))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 1 (cos.f64 re)) (*.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (sin.f64 re))) (neg.f64 (-.f64 1 (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1) (+.f64 (cos.f64 re) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) 1) (-.f64 1 (cos.f64 re)))
(pow.f64 (+.f64 1 (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 2)
(pow.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2))
(log.f64 (exp.f64 (+.f64 1 (cos.f64 re))))
(cbrt.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3))
(expm1.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(log1p.f64 (expm1.f64 (+.f64 1 (cos.f64 re))))
(exp.f64 (log1p.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) 1))
(+.f64 (cos.f64 re) 0)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 -1 (+.f64 1 (cos.f64 re)))
(+.f64 (+.f64 (cos.f64 re) -1) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cos.f64 re) 1)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(*.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1) (-.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (-.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) -1))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 1 (cos.f64 re)) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -1)) (+.f64 (cos.f64 re) -1))))
(/.f64 (-.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -1))) (-.f64 1 (+.f64 (cos.f64 re) -1)))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 1 (+.f64 1 (cos.f64 re)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2) (cbrt.f64 (+.f64 1 (cos.f64 re))) -1)
(fma.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) (sqrt.f64 (+.f64 1 (cos.f64 re))) -1)
Outputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 2 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 2)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 2 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 2))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 2 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 2)) (*.f64 -1/720 (pow.f64 re 6)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) 1))
(+.f64 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 re (*.f64 re -1/2))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) 1))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (+.f64 (cos.f64 re) 2) 1)
(+.f64 1 (cos.f64 re))
(-.f64 (/.f64 1 (-.f64 1 (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(-.f64 (/.f64 -1 (+.f64 (cos.f64 re) -1)) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(*.f64 1 (+.f64 1 (cos.f64 re)))
(+.f64 1 (cos.f64 re))
(*.f64 (+.f64 1 (cos.f64 re)) 1)
(+.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2))
(+.f64 1 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2) (cbrt.f64 (+.f64 1 (cos.f64 re))))
(+.f64 1 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 1))
(+.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) (sqrt.f64 (+.f64 1 (cos.f64 re))))
(+.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) (*.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1))
(+.f64 1 (cos.f64 re))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (/.f64 1 (-.f64 1 (cos.f64 re))))
(/.f64 (sin.f64 re) (/.f64 (-.f64 1 (cos.f64 re)) (sin.f64 re)))
(/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 1 (/.f64 (-.f64 1 (cos.f64 re)) (*.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (sin.f64 re) (/.f64 (-.f64 1 (cos.f64 re)) (sin.f64 re)))
(/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 1 (cos.f64 re)) (sin.f64 re)))
(/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (sin.f64 re))) (neg.f64 (-.f64 1 (cos.f64 re))))
(/.f64 (sin.f64 re) (/.f64 (-.f64 1 (cos.f64 re)) (sin.f64 re)))
(/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1) (+.f64 (cos.f64 re) -1))
(/.f64 (sin.f64 re) (/.f64 (-.f64 1 (cos.f64 re)) (sin.f64 re)))
(/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) 1) (-.f64 1 (cos.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 1 (cos.f64 re)) (sin.f64 re)))
(/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2)))
(pow.f64 (+.f64 1 (cos.f64 re)) 1)
(+.f64 1 (cos.f64 re))
(pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 3)
(+.f64 1 (cos.f64 re))
(pow.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 2)
(+.f64 1 (cos.f64 re))
(pow.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) 1/3)
(+.f64 1 (cos.f64 re))
(sqrt.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2))
(+.f64 1 (cos.f64 re))
(log.f64 (exp.f64 (+.f64 1 (cos.f64 re))))
(+.f64 1 (cos.f64 re))
(cbrt.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3))
(+.f64 1 (cos.f64 re))
(expm1.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(expm1.f64 (log.f64 (+.f64 2 (cos.f64 re))))
(expm1.f64 (log1p.f64 (+.f64 1 (cos.f64 re))))
(log1p.f64 (expm1.f64 (+.f64 1 (cos.f64 re))))
(+.f64 1 (cos.f64 re))
(exp.f64 (log1p.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(+.f64 1 (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 1 (cos.f64 re))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) 1))
(cos.f64 re)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(cos.f64 re)
(+.f64 -1 (+.f64 1 (cos.f64 re)))
(cos.f64 re)
(+.f64 (+.f64 (cos.f64 re) -1) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 -1 (*.f64 (+.f64 1 (cos.f64 re)) (-.f64 -2 (cos.f64 re)))))
(*.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(cos.f64 re)
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1) (-.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1))
(cos.f64 re)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 -1 (*.f64 (+.f64 1 (cos.f64 re)) (-.f64 -2 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 -1 (*.f64 (+.f64 1 (cos.f64 re)) (-.f64 -2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (-.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) -1))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 -1 (*.f64 (+.f64 1 (cos.f64 re)) (-.f64 -2 (cos.f64 re)))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(cos.f64 re)
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 1 (cos.f64 re)) -1))
(cos.f64 re)
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (+.f64 2 (cos.f64 re)) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 -1 (*.f64 (+.f64 1 (cos.f64 re)) (-.f64 -2 (cos.f64 re)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))
(cos.f64 re)
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -1)) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (-.f64 (+.f64 (cos.f64 re) -1) 1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 -1 (+.f64 (cos.f64 re) -1)))))
(/.f64 (-.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -1))) (-.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 (-.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -1))) (-.f64 2 (cos.f64 re)))
(/.f64 (+.f64 1 (*.f64 (-.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) -1))) (-.f64 2 (cos.f64 re)))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 1 (+.f64 1 (cos.f64 re)) -1)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (cos.f64 re))) 2) (cbrt.f64 (+.f64 1 (cos.f64 re))) -1)
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) (sqrt.f64 (+.f64 1 (cos.f64 re))) -1)
(cos.f64 re)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 47 to 27 computations (42.6% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
542×log-prod_binary64
539×prod-diff_binary64
453×fma-def_binary64
307×pow2_binary64
252×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify64.0ms (0.9%)

Algorithm
egg-herbie
Rules
733×fma-def_binary64
467×distribute-rgt-in_binary64
453×distribute-lft-in_binary64
359×fma-neg_binary64
314×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02112182
15412137
214772069
359212069
Stop Event
node limit
Counts
102 → 135
Calls
Call 1
Inputs
(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 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 0 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)))
(+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 -1 (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 1 (cos.f64 re))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) -1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (*.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (+.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (cos.f64 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/2 (*.f64 im im) 1)) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (fma.f64 1/2 (*.f64 im im) 1)) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 2)
(pow.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (cos.f64 re) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 1))
(fma.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) 1 (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 1 (cos.f64 re)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) -1))
(fma.f64 (+.f64 1 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1) (*.f64 -1 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.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 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
Outputs
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1)))))
(+.f64 (*.f64 (*.f64 re re) (*.f64 -1/2 (fma.f64 1/2 (*.f64 im im) 1))) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (*.f64 -1/2 (fma.f64 1/2 (*.f64 im im) 1))))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 im im) 1)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (pow.f64 re 6) -1/720))))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 0 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 -1 (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 1 (cos.f64 re))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) -1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (*.f64 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2))))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) -1)) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2)))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2))) (fma.f64 1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))) (+.f64 (cos.f64 re) 2)))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(*.f64 (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (*.f64 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1)) (+.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (+.f64 (cos.f64 re) 2)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (*.f64 (+.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (*.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (*.f64 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2))))))
(/.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(*.f64 (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (*.f64 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1)) (+.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) -1)) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2)))))
(*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2))) (fma.f64 1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (+.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (*.f64 (+.f64 (cos.f64 re) 2) (fma.f64 1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (cos.f64 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (cos.f64 re)))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (fma.f64 1/2 (*.f64 im im) 1)) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))
(*.f64 (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2))) (fma.f64 1/2 (*.f64 im im) 1)))
(/.f64 (*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (fma.f64 1/2 (*.f64 im im) 1)) (+.f64 (cos.f64 re) 2))
(/.f64 (fma.f64 1/2 (*.f64 im im) 1) (/.f64 (+.f64 (cos.f64 re) 2) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))))
(*.f64 (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re))))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))
(*.f64 (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2))) (fma.f64 1/2 (*.f64 im im) 1)))
(/.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))) (+.f64 (cos.f64 re) 2))
(/.f64 (fma.f64 1/2 (*.f64 im im) 1) (/.f64 (+.f64 (cos.f64 re) 2) (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re))))))
(*.f64 (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(*.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (cos.f64 re)))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (cos.f64 re) 3)) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) 1 (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 1 (cos.f64 re)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) -1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (+.f64 1 (cos.f64 re)) (fma.f64 1/2 (*.f64 im im) 1) (*.f64 -1 (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2)))))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 (cos.f64 re) 1) 2)))))
(fma.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (/.f64 1 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1))))
(fma.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1) (/.f64 1 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/4 (pow.f64 im 4) 1))))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (/.f64 1 (+.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 (cos.f64 re) 2)))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 (+.f64 (cos.f64 re) -1) (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1)))
(fma.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (cos.f64 re) -1) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(fma.f64 (+.f64 1 (sqrt.f64 (+.f64 (cos.f64 re) 1))) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (+.f64 (sqrt.f64 (+.f64 1 (cos.f64 re))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (+.f64 1 (sqrt.f64 (+.f64 (cos.f64 re) 1))) (expm1.f64 (*.f64 1/2 (log1p.f64 (cos.f64 re)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))

localize30.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 94 to 35 computations (62.8% saved)

series15.0ms (0.2%)

Counts
4 → 56
Calls

15 calls:

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

rewrite136.0ms (1.9%)

Algorithm
egg-rewrite
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
629×unpow-prod-down_binary64
602×pow1_binary64
569×add-log-exp_binary64
568×log1p-expm1-u_binary64
568×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019100
1432100
27914100
0920
120318
2279818
0610
112710
2211610
0610
01940
143240
2791440
01940
069
11349
217719
Stop Event
node limit
iter limit
unsound
iter limit
unsound
node limit
unsound
Counts
4 → 112
Calls
Call 1
Inputs
(+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (cos.f64 re) 1/2)))
(/.f64 1/4 (exp.f64 (+.f64 im im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)) (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (/.f64 1 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (pow.f64 (/.f64 1 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (/.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (pow.f64 (/.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4))) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 5/2) 1/3) (cbrt.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 2) 3) (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))) (neg.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))) (neg.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (-.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))) (pow.f64 (exp.f64 (pow.f64 (exp.f64 2) im)) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 (exp.f64 2) im)) -1/4) (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 2) im))) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 im) (*.f64 (exp.f64 im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) im)) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 im) -2) 1/4 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (exp.f64 im)) (exp.f64 im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (pow.f64 (exp.f64 2) im)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (sqrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)) (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (exp.f64 (neg.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 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 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 (+.f64 im im))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (exp.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (exp.f64 2) im) 4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 1/4) (+.f64 im im)))))))

simplify98.0ms (1.3%)

Algorithm
egg-herbie
Rules
526×unswap-sqr_binary64
411×distribute-rgt-in_binary64
390×distribute-lft-in_binary64
220×associate-*r*_binary64
209×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03974351
110694239
237353977
Stop Event
node limit
Counts
168 → 220
Calls
Call 1
Inputs
(*.f64 -1 im)
(+.f64 (*.f64 -2/3 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -2/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/15 (pow.f64 im 5)) (*.f64 -1 im)))
(+.f64 (*.f64 -2/3 (pow.f64 im 3)) (+.f64 (*.f64 -4/315 (pow.f64 im 7)) (+.f64 (*.f64 -2/15 (pow.f64 im 5)) (*.f64 -1 im))))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re))) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re))) (pow.f64 im 2))) (*.f64 2 (*.f64 (-.f64 (*.f64 1/15 (cos.f64 re)) (+.f64 (*.f64 1/240 (cos.f64 re)) (*.f64 1/6 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))))) (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/15 (cos.f64 re)) (+.f64 (*.f64 1/240 (cos.f64 re)) (*.f64 1/6 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))))) (pow.f64 im 4))) (*.f64 2 (*.f64 (-.f64 (*.f64 2/315 (cos.f64 re)) (+.f64 (*.f64 1/10080 (cos.f64 re)) (+.f64 (*.f64 1/120 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))) (*.f64 1/6 (-.f64 (*.f64 1/15 (cos.f64 re)) (+.f64 (*.f64 1/240 (cos.f64 re)) (*.f64 1/6 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))))))))) (pow.f64 im 6))))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(+.f64 (*.f64 -1/360 (/.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1/4
(+.f64 1/4 (*.f64 -1/2 im))
(+.f64 1/4 (+.f64 (*.f64 -1/2 im) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1/4 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/3 (pow.f64 im 3)))))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 1)
(-.f64 (/.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 1)
(*.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)) (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(*.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (/.f64 1 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (pow.f64 (/.f64 1 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))) 1))
(*.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (/.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))
(*.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (pow.f64 (/.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4))) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 5/2) 1/3) (cbrt.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 2) 3) (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3))
(/.f64 1 (/.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 1 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))) (neg.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))
(/.f64 (neg.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))) (neg.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (-.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 1)
(pow.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 3)
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (/.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))) -1)
(pow.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))) -1)
(sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4))
(log.f64 (exp.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))) (pow.f64 (exp.f64 (pow.f64 (exp.f64 2) im)) -1/4)))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 (exp.f64 2) im)) -1/4) (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6))
(expm1.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(log1p.f64 (expm1.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(exp.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 1) 1))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 2) im))) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 1 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (exp.f64 im) (*.f64 (exp.f64 im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) im)) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) -2) 1/4 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (*.f64 -1/4 (exp.f64 im)) (exp.f64 im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (pow.f64 (exp.f64 2) im)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (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))))
(*.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))))
(*.f64 1 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (sqrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))
(pow.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)) 1)
(log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)) (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(exp.f64 (log.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(-.f64 (+.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) 1)
(*.f64 1/4 (exp.f64 (neg.f64 (+.f64 im im))))
(*.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1)
(*.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))))
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(*.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 2) im))))
(*.f64 (exp.f64 (neg.f64 (+.f64 im im))) 1/4)
(pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1)
(pow.f64 (pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) 3)
(pow.f64 (/.f64 1/2 (exp.f64 im)) 2)
(pow.f64 (*.f64 (pow.f64 (exp.f64 2) im) 4) -1)
(sqrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2)))
(log.f64 (exp.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(cbrt.f64 (pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 3))
(expm1.f64 (log1p.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(log1p.f64 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(exp.f64 (-.f64 (log.f64 1/4) (+.f64 im im)))
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -2/3 (pow.f64 im 3)) (*.f64 -1 im))
(fma.f64 -2/3 (pow.f64 im 3) (neg.f64 im))
(-.f64 (*.f64 -2/3 (pow.f64 im 3)) im)
(+.f64 (*.f64 -2/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/15 (pow.f64 im 5)) (*.f64 -1 im)))
(fma.f64 -2/3 (pow.f64 im 3) (fma.f64 -2/15 (pow.f64 im 5) (neg.f64 im)))
(-.f64 (fma.f64 -2/3 (pow.f64 im 3) (*.f64 -2/15 (pow.f64 im 5))) im)
(+.f64 (*.f64 -2/3 (pow.f64 im 3)) (+.f64 (*.f64 -4/315 (pow.f64 im 7)) (+.f64 (*.f64 -2/15 (pow.f64 im 5)) (*.f64 -1 im))))
(fma.f64 -2/3 (pow.f64 im 3) (fma.f64 -4/315 (pow.f64 im 7) (fma.f64 -2/15 (pow.f64 im 5) (neg.f64 im))))
(fma.f64 -2/3 (pow.f64 im 3) (-.f64 (fma.f64 -4/315 (pow.f64 im 7) (*.f64 -2/15 (pow.f64 im 5))) im))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 -2 im)
(*.f64 im -2)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(fma.f64 -2 im (*.f64 (pow.f64 im 3) -1/3))
(fma.f64 im -2 (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 (pow.f64 im 3) -1/3)))
(fma.f64 im -2 (fma.f64 (pow.f64 im 3) -1/3 (*.f64 (pow.f64 im 5) -1/60)))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(fma.f64 -1/2520 (pow.f64 im 7) (fma.f64 -2 im (fma.f64 -1/60 (pow.f64 im 5) (*.f64 (pow.f64 im 3) -1/3))))
(fma.f64 (pow.f64 im 7) -1/2520 (fma.f64 im -2 (fma.f64 (pow.f64 im 3) -1/3 (*.f64 (pow.f64 im 5) -1/60))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re))) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 2 (*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im))))
(fma.f64 2 (*.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 1/4) (cos.f64 re))
(fma.f64 2 (*.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 im im)) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re))) (pow.f64 im 2))) (*.f64 2 (*.f64 (-.f64 (*.f64 1/15 (cos.f64 re)) (+.f64 (*.f64 1/240 (cos.f64 re)) (*.f64 1/6 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))))) (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (*.f64 2 (+.f64 (*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im)) (*.f64 (-.f64 (*.f64 (cos.f64 re) 1/15) (fma.f64 1/240 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) 1/4) 1/6))) (pow.f64 im 4)))))
(fma.f64 2 (fma.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 im im) (*.f64 (-.f64 (*.f64 (cos.f64 re) 1/16) (*.f64 (cos.f64 re) 1/24)) (pow.f64 im 4))) (cos.f64 re))
(fma.f64 2 (fma.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 im im) (*.f64 (*.f64 (cos.f64 re) 1/48) (pow.f64 im 4))) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/15 (cos.f64 re)) (+.f64 (*.f64 1/240 (cos.f64 re)) (*.f64 1/6 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))))) (pow.f64 im 4))) (*.f64 2 (*.f64 (-.f64 (*.f64 2/315 (cos.f64 re)) (+.f64 (*.f64 1/10080 (cos.f64 re)) (+.f64 (*.f64 1/120 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))) (*.f64 1/6 (-.f64 (*.f64 1/15 (cos.f64 re)) (+.f64 (*.f64 1/240 (cos.f64 re)) (*.f64 1/6 (-.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/12 (cos.f64 re)))))))))) (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (fma.f64 2 (*.f64 (*.f64 (cos.f64 re) 1/4) (*.f64 im im)) (*.f64 2 (+.f64 (*.f64 (-.f64 (*.f64 (cos.f64 re) 1/15) (fma.f64 1/240 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) 1/4) 1/6))) (pow.f64 im 4)) (*.f64 (-.f64 (*.f64 (cos.f64 re) 2/315) (fma.f64 1/10080 (cos.f64 re) (fma.f64 1/120 (*.f64 (cos.f64 re) 1/4) (*.f64 1/6 (-.f64 (*.f64 (cos.f64 re) 1/15) (fma.f64 1/240 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) 1/4) 1/6))))))) (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (*.f64 2 (+.f64 (fma.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 im im) (*.f64 (-.f64 (*.f64 (cos.f64 re) 1/16) (*.f64 (cos.f64 re) 1/24)) (pow.f64 im 4))) (*.f64 (-.f64 (*.f64 (cos.f64 re) 1/160) (fma.f64 1/6 (-.f64 (*.f64 (cos.f64 re) 1/16) (*.f64 (cos.f64 re) 1/24)) (*.f64 (cos.f64 re) 1/480))) (pow.f64 im 6)))))
(+.f64 (cos.f64 re) (*.f64 2 (+.f64 (*.f64 (*.f64 1/4 (cos.f64 re)) (*.f64 im im)) (fma.f64 (*.f64 (cos.f64 re) 1/48) (pow.f64 im 4) (*.f64 (+.f64 (*.f64 (cos.f64 re) 1/240) (*.f64 (*.f64 (cos.f64 re) 1/48) -1/6)) (pow.f64 im 6))))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 -1/4 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 1/4 (/.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(fma.f64 -1 (/.f64 (*.f64 re re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))) (*.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(fma.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (neg.f64 (*.f64 re re)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 2 (*.f64 re re)))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(fma.f64 1/12 (/.f64 (pow.f64 re 4) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))) (fma.f64 -1 (/.f64 (*.f64 re re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))) (*.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(fma.f64 1/12 (*.f64 (/.f64 (pow.f64 re 4) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (fma.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (neg.f64 (*.f64 re re)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))
(fma.f64 1/12 (*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (pow.f64 re 4) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 2 (*.f64 re re))))
(+.f64 (*.f64 -1/360 (/.f64 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(fma.f64 -1/360 (/.f64 (pow.f64 re 6) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))) (fma.f64 1/12 (/.f64 (pow.f64 re 4) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))) (fma.f64 -1 (/.f64 (*.f64 re re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))) (*.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(fma.f64 -1/360 (*.f64 (/.f64 (pow.f64 re 6) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (fma.f64 1/12 (*.f64 (/.f64 (pow.f64 re 4) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (fma.f64 2 (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (neg.f64 (*.f64 re re)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))))
(fma.f64 -1/360 (*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (pow.f64 re 6) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (fma.f64 1/12 (*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (pow.f64 re 4) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 2 (*.f64 re re)))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (/.f64 1 (exp.f64 (*.f64 2 im)))) (*.f64 -1/4 (exp.f64 (*.f64 2 im))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1/4
(+.f64 1/4 (*.f64 -1/2 im))
(+.f64 1/4 (*.f64 im -1/2))
(fma.f64 im -1/2 1/4)
(+.f64 1/4 (+.f64 (*.f64 -1/2 im) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1/4 (fma.f64 -1/2 im (*.f64 (*.f64 im im) 1/2)))
(+.f64 1/4 (fma.f64 im -1/2 (*.f64 im (*.f64 im 1/2))))
(+.f64 1/4 (*.f64 im (+.f64 -1/2 (*.f64 1/2 im))))
(+.f64 1/4 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 1/4 (fma.f64 -1/2 im (fma.f64 1/2 (*.f64 im im) (*.f64 (pow.f64 im 3) -1/3))))
(+.f64 1/4 (fma.f64 im -1/2 (fma.f64 (pow.f64 im 3) -1/3 (*.f64 im (*.f64 im 1/2)))))
(+.f64 (fma.f64 im -1/2 1/4) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/3 im) 1/2)))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (*.f64 2 im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(/.f64 1/4 (exp.f64 (neg.f64 (*.f64 -2 im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 1)
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(-.f64 (/.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 1)
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 2) im)))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)) (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 2) im)))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))
(*.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (/.f64 1 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (pow.f64 (/.f64 1 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))) 1))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(*.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (/.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(*.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (pow.f64 (/.f64 1 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) 1))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(*.f64 (pow.f64 1 1/3) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6))) (cbrt.f64 (sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 3)) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4))) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))) (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))) (cbrt.f64 (cbrt.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4)))) (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 5/2) 1/3) (cbrt.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 2) im))) 5/2)) (cbrt.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 5/2)) (cbrt.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 5/2)) (cbrt.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 2) 3) (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(/.f64 1 (/.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(/.f64 1 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))) (neg.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4))))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(/.f64 (neg.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))) (neg.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im)))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (-.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) 1)
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(pow.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4) 1/2)
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6) 1/3)
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 3)
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (/.f64 (-.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (exp.f64 im)) 2) -1/4)) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))) -1)
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) 1/16)))
(pow.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) 1/16))) -1)
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(sqrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 4))
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(log.f64 (exp.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))) (pow.f64 (exp.f64 (pow.f64 (exp.f64 2) im)) -1/4)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 (exp.f64 2) im)) -1/4) (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) (+.f64 1 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(cbrt.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6))
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(expm1.f64 (log1p.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(log1p.f64 (expm1.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 1))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 6)) 1/3))
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4)))) 3))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im)))) 2))
(pow.f64 (hypot.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/2 (exp.f64 im))) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))) 1) 1))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 2) im))) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 1 (*.f64 (pow.f64 (exp.f64 2) im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (exp.f64 im) (*.f64 (exp.f64 im) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 2) im) -1/4)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) im)) -1/4) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 2) im))) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 2))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (pow.f64 (exp.f64 im) -2) 1/4 (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 -1/4 (exp.f64 im)) (exp.f64 im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (pow.f64 (exp.f64 2) im)) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 2) im))) (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 2))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (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 (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 (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 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (neg.f64 (+.f64 im 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 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 1 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.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 (-.f64 (exp.f64 (neg.f64 (+.f64 im im))) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.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))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (sqrt.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)) 1)
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2)) (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))) (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 (/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) 2))))
(*.f64 2 (/.f64 (cos.f64 re) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (fma.f64 -1/4 (pow.f64 (exp.f64 2) im) (/.f64 1/4 (pow.f64 (exp.f64 2) im))))))
(*.f64 (*.f64 2 (cos.f64 re)) (/.f64 (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (+.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) 1)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(*.f64 1/4 (exp.f64 (neg.f64 (+.f64 im im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(*.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(*.f64 1 (/.f64 1/4 (pow.f64 (exp.f64 2) im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))))
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2))))
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(*.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 2) im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(*.f64 (exp.f64 (neg.f64 (+.f64 im im))) 1/4)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 1)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(pow.f64 (pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 3) 1/3)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(pow.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) 3)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 2)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(pow.f64 (*.f64 (pow.f64 (exp.f64 2) im) 4) -1)
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(sqrt.f64 (/.f64 1/16 (pow.f64 (pow.f64 (exp.f64 2) im) 2)))
(sqrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))
(log.f64 (exp.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(cbrt.f64 (pow.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im)) 3))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(expm1.f64 (log1p.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(log1p.f64 (expm1.f64 (/.f64 1/4 (pow.f64 (exp.f64 2) im))))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))
(exp.f64 (-.f64 (log.f64 1/4) (+.f64 im im)))
(/.f64 1/4 (pow.f64 (exp.f64 2) im))
(*.f64 1/4 (pow.f64 (exp.f64 im) -2))

eval377.0ms (5.2%)

Compiler

Compiled 15746 to 9268 computations (41.1% saved)

prune221.0ms (3%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New7025707
Fresh134
Picked011
Done257
Total70514719
Error
0b
Counts
719 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
60.4b
(/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (cos.f64 re) 1/2)))
1.6b
(-.f64 (/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2))) 1)
32.8b
(-.f64 (+.f64 2 (*.f64 -1/2 (*.f64 re re))) 1)
1.4b
(+.f64 (+.f64 (cos.f64 re) -1) 1)
32.8b
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
1.0b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (-.f64 (+.f64 1 (cos.f64 re)) 1))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
29.8b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) 1)
61.3b
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
29.5b
(*.f64 1 (cosh.f64 im))
0.0b
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
1.1b
(cos.f64 re)
29.9b
1
Compiler

Compiled 220 to 170 computations (22.7% saved)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 43 to 21 computations (51.2% saved)

series32.0ms (0.4%)

Counts
1 → 8
Calls

6 calls:

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

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
990×pow1_binary64
919×add-log-exp_binary64
919×log1p-expm1-u_binary64
919×expm1-log1p-u_binary64
98×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
724×distribute-rgt-in_binary64
685×distribute-lft-in_binary64
480×fma-def_binary64
254×log-prod_binary64
211×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0123747
1363714
21226663
34449533
Stop Event
node limit
Counts
33 → 68
Calls
Call 1
Inputs
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (+.f64 (exp.f64 im) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2)))))
(+.f64 (/.f64 1 (exp.f64 im)) (+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(+.f64 (/.f64 1 (exp.f64 im)) (+.f64 (exp.f64 im) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))
(+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re))))
(+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 1/360 (*.f64 (cos.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))))
(+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im)))
(+.f64 (*.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im)))
(+.f64 (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 1) (*.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))))) 1)
(/.f64 (+.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3)) (+.f64 (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))))
(/.f64 (-.f64 (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 (*.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im)))) (-.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (cos.f64 re)) (+.f64 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3))) (+.f64 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2))
(log.f64 (pow.f64 (exp.f64 (*.f64 2 (cosh.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 2 (cosh.f64 im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))))
(fma.f64 (cos.f64 re) (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) (exp.f64 im)))
Outputs
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (+.f64 (exp.f64 im) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2)))))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re))))
(+.f64 (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (exp.f64 im)) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 2 (cosh.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4))))))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (*.f64 1/24 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 4))))
(+.f64 (+.f64 (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (exp.f64 im)) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/24))) (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (*.f64 2 (cosh.f64 im)) (+.f64 (*.f64 -1/2 (*.f64 re re)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) 1)))
(+.f64 (/.f64 1 (exp.f64 im)) (+.f64 (exp.f64 im) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 6))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) (pow.f64 re 4)))))))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/720 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (*.f64 1/24 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (pow.f64 re 4)))))
(+.f64 (exp.f64 im) (+.f64 (fma.f64 -1/720 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/24)))) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -1/720 (pow.f64 re 6)))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) 1) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 2 (cosh.f64 im)) (*.f64 (*.f64 2 (cosh.f64 im)) (+.f64 (*.f64 -1/2 (*.f64 re re)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6))))))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 im im) (*.f64 2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 2 (*.f64 im im)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re))))
(fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4)) (fma.f64 (cos.f64 re) (*.f64 im im) (*.f64 2 (cos.f64 re))))
(fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (+.f64 2 (*.f64 im im))))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4))) (+.f64 (*.f64 1/360 (*.f64 (cos.f64 re) (pow.f64 im 6))) (+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))))
(fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4)) (fma.f64 1/360 (*.f64 (cos.f64 re) (pow.f64 im 6)) (fma.f64 (cos.f64 re) (*.f64 im im) (*.f64 2 (cos.f64 re)))))
(fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 4)) (fma.f64 1/360 (*.f64 (cos.f64 re) (pow.f64 im 6)) (*.f64 (cos.f64 re) (+.f64 2 (*.f64 im im)))))
(fma.f64 (cos.f64 re) (*.f64 1/12 (pow.f64 im 4)) (*.f64 (cos.f64 re) (+.f64 (fma.f64 im im 2) (*.f64 1/360 (pow.f64 im 6)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (+.f64 (fma.f64 im im 2) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(+.f64 (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 1) (*.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))))) 1)
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(/.f64 (+.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 3)) (+.f64 (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))) (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)) (fma.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (*.f64 (exp.f64 im) (cos.f64 re)) (-.f64 (*.f64 (exp.f64 im) (cos.f64 re)) (/.f64 (cos.f64 re) (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)) (fma.f64 (exp.f64 im) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 (pow.f64 (exp.f64 im) -2) (*.f64 (cos.f64 re) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (cos.f64 re) (exp.f64 im)) 3) (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3)) (-.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (*.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (/.f64 (cos.f64 re) (exp.f64 im))) (*.f64 (*.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im)))) (-.f64 (/.f64 (cos.f64 re) (exp.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im))))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (cos.f64 re)) (+.f64 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) -1)) (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3))))
(*.f64 (/.f64 (cos.f64 re) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2)))) (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)))
(*.f64 (cos.f64 re) (/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (cos.f64 re) (/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (exp.f64 (*.f64 3 im))) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3))) (+.f64 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (pow.f64 (exp.f64 im) -2) (fma.f64 (exp.f64 im) (exp.f64 im) -1)) (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3))))
(*.f64 (/.f64 (cos.f64 re) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2)))) (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)))
(*.f64 (cos.f64 re) (/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (cos.f64 re) (/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (exp.f64 (*.f64 3 im))) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 1)
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 3) 1/3)
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))) 3)
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))) 2)
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 2))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(log.f64 (pow.f64 (exp.f64 (*.f64 2 (cosh.f64 im))) (cos.f64 re)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))))))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im))) 3))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 2 (cosh.f64 im)) 3)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 2 (cosh.f64 im)))))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(fma.f64 (cos.f64 re) (exp.f64 (neg.f64 im)) (*.f64 (cos.f64 re) (exp.f64 im)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))
(fma.f64 (exp.f64 (neg.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) (exp.f64 im)))
(fma.f64 (cos.f64 re) (exp.f64 im) (/.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (*.f64 2 (cosh.f64 im)) (cos.f64 re))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 29 to 17 computations (41.4% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 2 (*.f64 -1/2 (*.f64 re re))) 1)
0.2b
(*.f64 -1/2 (*.f64 re re))
Compiler

Compiled 30 to 18 computations (40% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite44.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
978×pow1_binary64
917×add-log-exp_binary64
916×log1p-expm1-u_binary64
916×expm1-log1p-u_binary64
99×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0913
120010
2252410
Stop Event
node limit
Counts
1 → 38
Calls
Call 1
Inputs
(-.f64 (+.f64 2 (*.f64 -1/2 (*.f64 re re))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (fma.f64 -1/2 (*.f64 re re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 re re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 -1/2 (*.f64 re re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/2 (*.f64 re re) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2)) (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (/.f64 1 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 1) (-.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (-.f64 1 (*.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (-.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1)) (neg.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (fma.f64 -1/2 (*.f64 re re) -1) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -1)) (*.f64 2 (fma.f64 -1/2 (*.f64 re re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -1))) (-.f64 2 (fma.f64 -1/2 (*.f64 re re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (fma.f64 -1/2 (*.f64 re re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) -1)))))

simplify42.0ms (0.6%)

Algorithm
egg-herbie
Rules
477×fma-neg_binary64
472×cancel-sign-sub-inv_binary64
356×associate-*l*_binary64
341×div-sub_binary64
329×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
097613
1236595
2756590
34550580
Stop Event
node limit
Counts
50 → 53
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 2 (fma.f64 -1/2 (*.f64 re re) -1))
(+.f64 2 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) 1))
(+.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(+.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1)
(+.f64 -1 (fma.f64 -1/2 (*.f64 re re) 2))
(+.f64 (fma.f64 -1/2 (*.f64 re re) -1) 2)
(*.f64 1 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 1)
(*.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2)) (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(*.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))
(*.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (/.f64 1 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 1) (-.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1)))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (-.f64 1 (*.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (-.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1)) (neg.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 -1/2 (*.f64 re re) -1) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -1)) (*.f64 2 (fma.f64 -1/2 (*.f64 re re) -1)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -1))) (-.f64 2 (fma.f64 -1/2 (*.f64 re re) -1)))
(pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 1)
(pow.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2))
(log.f64 (exp.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))))
(cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 3))
(expm1.f64 (log.f64 (fma.f64 -1/2 (*.f64 re re) 2)))
(log1p.f64 (expm1.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(exp.f64 (log.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) -1)
(fma.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) -1)
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 2 (fma.f64 -1/2 (*.f64 re re) -1))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 2 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) 1))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1)
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 -1 (fma.f64 -1/2 (*.f64 re re) 2))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (fma.f64 -1/2 (*.f64 re re) -1) 2)
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 1 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 1)
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2)) (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 3 (fma.f64 -1/2 (*.f64 re re) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) 2) (fma.f64 -1/2 (*.f64 re re) 3) 1))
(*.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (/.f64 1 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))
(fma.f64 -1/2 (*.f64 re re) 1)
(*.f64 (+.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 1) (-.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 1))
(fma.f64 -1/2 (*.f64 re re) 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 3 (fma.f64 -1/2 (*.f64 re re) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) 2) (fma.f64 -1/2 (*.f64 re re) 3) 1))
(/.f64 1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1)))
(fma.f64 -1/2 (*.f64 re re) 1)
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 3 (fma.f64 -1/2 (*.f64 re re) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) 2) (fma.f64 -1/2 (*.f64 re re) 3) 1))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (-.f64 1 (*.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1))))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 3 (fma.f64 -1/2 (*.f64 re re) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) 2) (fma.f64 -1/2 (*.f64 re re) 3) 1))
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(fma.f64 -1/2 (*.f64 re re) 1)
(/.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1) (-.f64 (fma.f64 -1/2 (*.f64 re re) 2) -1))
(fma.f64 -1/2 (*.f64 re re) 1)
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))))
(*.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) (fma.f64 -1/2 (*.f64 re re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (+.f64 3 (fma.f64 -1/2 (*.f64 re re) (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) 2) (fma.f64 -1/2 (*.f64 re re) 3) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 re re) 2) 2) -1)) (neg.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3)))
(fma.f64 -1/2 (*.f64 re re) 1)
(/.f64 (+.f64 8 (pow.f64 (fma.f64 -1/2 (*.f64 re re) -1) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -1)) (*.f64 2 (fma.f64 -1/2 (*.f64 re re) -1)))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 -1/2 (*.f64 re re) -1) 3)) (+.f64 4 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (-.f64 (fma.f64 -1/2 (*.f64 re re) -1) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 -1/2 (*.f64 re re) -1) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) -1) (+.f64 (*.f64 -1/2 (*.f64 re re)) -3) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 -1/2 (*.f64 re re) -1) 3)) (fma.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -3) 4))
(/.f64 (-.f64 4 (*.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 -1/2 (*.f64 re re) -1))) (-.f64 2 (fma.f64 -1/2 (*.f64 re re) -1)))
(/.f64 (fma.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 (*.f64 re re) 1/2 1) 4) (+.f64 (*.f64 re (*.f64 re 1/2)) 3))
(/.f64 (fma.f64 (fma.f64 -1/2 (*.f64 re re) -1) (fma.f64 re (*.f64 re 1/2) 1) 4) (-.f64 3 (*.f64 re (*.f64 -1/2 re))))
(pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 1)
(fma.f64 -1/2 (*.f64 re re) 1)
(pow.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 3) 1/3)
(fma.f64 -1/2 (*.f64 re re) 1)
(pow.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) 3)
(fma.f64 -1/2 (*.f64 re re) 1)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)) 2)
(fma.f64 -1/2 (*.f64 re re) 1)
(sqrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 2))
(fma.f64 -1/2 (*.f64 re re) 1)
(log.f64 (exp.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(fma.f64 -1/2 (*.f64 re re) 1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))))
(fma.f64 -1/2 (*.f64 re re) 1)
(cbrt.f64 (pow.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) 3))
(fma.f64 -1/2 (*.f64 re re) 1)
(expm1.f64 (log.f64 (fma.f64 -1/2 (*.f64 re re) 2)))
(log1p.f64 (expm1.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(fma.f64 -1/2 (*.f64 re re) 1)
(exp.f64 (log.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1)))
(fma.f64 -1/2 (*.f64 re re) 1)
(fma.f64 1 (fma.f64 -1/2 (*.f64 re re) 2) -1)
(fma.f64 -1/2 (*.f64 re re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) -1)
(fma.f64 -1/2 (*.f64 re re) 1)
(fma.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) (sqrt.f64 (fma.f64 -1/2 (*.f64 re re) 2)) -1)
(fma.f64 -1/2 (*.f64 re re) 1)

localize4.0ms (0.1%)

Compiler

Compiled 10 to 6 computations (40% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.3b
(+.f64 (+.f64 (cos.f64 re) -1) 1)
2.1b
(+.f64 (cos.f64 re) -1)
Compiler

Compiled 17 to 11 computations (35.3% saved)

series22.0ms (0.3%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
20.0ms
re
@-inf
(+.f64 (+.f64 (cos.f64 re) -1) 1)
0.0ms
re
@0
(+.f64 (cos.f64 re) -1)
0.0ms
re
@inf
(+.f64 (cos.f64 re) -1)
0.0ms
re
@-inf
(+.f64 (cos.f64 re) -1)
0.0ms
re
@0
(+.f64 (+.f64 (cos.f64 re) -1) 1)

rewrite45.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
692×pow1_binary64
647×add-log-exp_binary64
647×log1p-expm1-u_binary64
647×expm1-log1p-u_binary64
637×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify41.0ms (0.6%)

Algorithm
egg-herbie
Rules
640×fma-neg_binary64
506×cancel-sign-sub-inv_binary64
387×distribute-rgt-in_binary64
358×distribute-lft-in_binary64
348×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0173992
1414937
21662864
Stop Event
node limit
Counts
95 → 101
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/40320 (pow.f64 re 8)))))
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (cos.f64 re) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(*.f64 1 (+.f64 (cos.f64 re) -1))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) 1) (+.f64 (cos.f64 re) 1))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(expm1.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(fma.f64 1 (cos.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(-.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1)))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1)))))
(/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))) (neg.f64 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 0)
(fma.f64 1 (+.f64 (cos.f64 re) -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1)
Outputs
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/2 (*.f64 re re)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/40320 (pow.f64 re 8)))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 -1/2 (*.f64 re re) (*.f64 1/40320 (pow.f64 re 8)))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/40320 (pow.f64 re 8) (*.f64 -1/2 (*.f64 re re)))))
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (*.f64 -1/2 (*.f64 re re)) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 -1/2 (*.f64 re re))) 1))
(+.f64 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (fma.f64 (cos.f64 re) (cos.f64 re) 1) (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (fma.f64 (cos.f64 re) (cos.f64 re) 1) (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (fma.f64 (cos.f64 re) (cos.f64 re) 1) (cos.f64 re)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (fma.f64 (cos.f64 re) (cos.f64 re) 1) (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (fma.f64 (cos.f64 re) (cos.f64 re) 1) (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (fma.f64 (cos.f64 re) (cos.f64 re) 1) (cos.f64 re)))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) 1) (+.f64 (cos.f64 re) 1))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(expm1.f64 (log.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(fma.f64 1 (cos.f64 re) -1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(cos.f64 re)
(-.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (-.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -1 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)) (/.f64 1 (-.f64 2 (cos.f64 re))))
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (-.f64 (cos.f64 re) 1) 3)) (+.f64 (pow.f64 (-.f64 (cos.f64 re) 1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (fma.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2) 1))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(cos.f64 re)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (-.f64 (cos.f64 re) 1) 3)) (+.f64 (pow.f64 (-.f64 (cos.f64 re) 1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (fma.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2) 1))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(cos.f64 re)
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (-.f64 (cos.f64 re) 1) 3)) (+.f64 (pow.f64 (-.f64 (cos.f64 re) 1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (fma.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (-.f64 (cos.f64 re) 1) 3)) (+.f64 (pow.f64 (-.f64 (cos.f64 re) 1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (fma.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2) 1))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(cos.f64 re)
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 1 (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (-.f64 (cos.f64 re) 1) 3)) (+.f64 (pow.f64 (-.f64 (cos.f64 re) 1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (fma.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2) 1))
(/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))) (neg.f64 (+.f64 (cos.f64 re) -2)))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))
(cos.f64 re)
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (-.f64 (cos.f64 re) 1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))
(cos.f64 re)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 1 (cos.f64 re) 0)
(cos.f64 re)
(fma.f64 1 (+.f64 (cos.f64 re) -1) 1)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(cos.f64 re)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(cos.f64 re)

eval104.0ms (1.4%)

Compiler

Compiled 5582 to 3397 computations (39.1% saved)

prune110.0ms (1.5%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New3622364
Fresh033
Picked011
Done1910
Total36315378
Error
0b
Counts
378 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
1.6b
(-.f64 (/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2))) 1)
32.8b
(-.f64 (+.f64 2 (*.f64 -1/2 (*.f64 re re))) 1)
1.4b
(+.f64 (+.f64 (cos.f64 re) -1) 1)
32.8b
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
1.0b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (-.f64 (+.f64 1 (cos.f64 re)) 1))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
29.8b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) 1)
61.3b
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
0.0b
(*.f64 (cos.f64 re) (cosh.f64 im))
62.6b
(*.f64 re (*.f64 -1/2 re))
29.5b
(*.f64 1 (cosh.f64 im))
0.0b
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))))
0.3b
(*.f64 1/2 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) (pow.f64 (cos.f64 re) 3))))
1.1b
(cos.f64 re)
29.9b
1
Compiler

Compiled 145 to 115 computations (20.7% saved)

regimes96.0ms (1.3%)

Counts
24 → 1
Calls
Call 1
Inputs
1
(*.f64 re (*.f64 -1/2 re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) 1)
(-.f64 (+.f64 2 (*.f64 -1/2 (*.f64 re re))) 1)
(cos.f64 re)
(*.f64 1 (cosh.f64 im))
(+.f64 (+.f64 (cos.f64 re) -1) 1)
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (-.f64 (+.f64 1 (cos.f64 re)) 1))
(*.f64 1 (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(*.f64 (cos.f64 re) (cosh.f64 im))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (/.f64 (sin.f64 re) (tan.f64 (/.f64 re 2))) 1)
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (/.f64 1 (exp.f64 im)) (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 1/2 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) (pow.f64 (cos.f64 re) 3))))
(/.f64 (+.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) -1/4)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (cos.f64 re) 1/2)))
(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)))
Outputs
(*.f64 (cos.f64 re) (cosh.f64 im))
Calls

9 calls:

13.0ms
(*.f64 1/2 (cos.f64 re))
13.0ms
re
12.0ms
im
11.0ms
(cos.f64 re)
11.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 (*.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(*.f64 1/2 (cos.f64 re))
0.0b1(cos.f64 re)
0.0b1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 303 to 192 computations (36.6% saved)

regimes39.0ms (0.5%)

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

5 calls:

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

Compiled 120 to 81 computations (32.5% saved)

regimes34.0ms (0.5%)

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

5 calls:

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

Compiled 81 to 56 computations (30.9% saved)

regimes34.0ms (0.5%)

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

2 calls:

28.0ms
re
4.0ms
im
Results
ErrorSegmentsBranch
29.8b1re
29.8b1im
Compiler

Compiled 39 to 28 computations (28.2% saved)

regimes8.0ms (0.1%)

Accuracy

Total -33.0b remaining (-110.3%)

Threshold costs -33.0b (-110.3%)

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

2 calls:

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

Compiled 21 to 15 computations (28.6% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 35 to 27 computations (22.9% saved)

soundness210.0ms (2.9%)

Algorithm
egg-herbie
Rules
573×fma-def_binary64
530×associate-/l*_binary64
503×distribute-rgt-in_binary64
472×distribute-lft-in_binary64
450×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

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

Compiled 193 to 149 computations (22.8% saved)

end28.0ms (0.4%)

Compiler

Compiled 27 to 16 computations (40.7% saved)

Profiling

Loading profile data...