Details

Time bar (total: 7.8s)

analyze176.0ms (2.2%)

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)

sample4.1s (52%)

Results
1.1s2096×body1024valid
1.0s5128×body256valid
840.0ms2039×body1024infinite
417.0ms1047×body512infinite
414.0ms1025×body512valid
250.0ms1509×body256infinite
8.0msbody2048valid
Bogosity

preprocess112.0ms (1.4%)

Algorithm
egg-herbie
Rules
1424×times-frac
1136×fma-def
838×associate-*r*
824×sqr-pow
632×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
15170
212870
321766
441066
577166
6160566
7266266
8370066
9443666
10506366
11607166
12765266
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) (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)

simplify96.0ms (1.2%)

Algorithm
egg-herbie
Rules
1068×associate-/l*
904×unswap-sqr
890×fma-def
728×associate-*r/
712×associate-/r/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01335
13035
27035
311333
421233
539233
682333
7135733
8391833
9434833
10545333
11614433
12717233
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

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 1
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)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
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)))

rewrite72.0ms (0.9%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
282×add-sqr-sqrt
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
272×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
127354
2421154
01335
127335
2421135
01335
0819
116619
2254619
0819
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 19
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.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 +.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 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 exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x 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 *.f64 1 (+.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 (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 (-.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 /.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 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 exp.f64 (log.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))))))))

simplify64.0ms (0.8%)

Algorithm
egg-herbie
Rules
1192×unswap-sqr
1058×fma-def
990×associate-/l*
820×associate-*r/
684×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

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

eval19.0ms (0.2%)

Compiler

Compiled 1362 to 634 computations (53.5% saved)

prune18.0ms (0.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New65873
Fresh000
Picked011
Done000
Total65974
Error
0b
Counts
74 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
0.9b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
0.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.4b
(*.f64 (*.f64 1/2 (cos.f64 re)) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (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)))
30.0b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
0.1b
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
1.2b
(cos.f64 re)
Compiler

Compiled 207 to 156 computations (24.6% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 65 to 18 computations (72.3% saved)

series109.0ms (1.4%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
38.0ms
im
@-inf
(log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
28.0ms
re
@inf
(log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
22.0ms
re
@-inf
(log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
15.0ms
im
@inf
(log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
2.0ms
re
@0
(log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))

rewrite108.0ms (1.4%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
302×add-sqr-sqrt
302×add-sqr-sqrt
300×add-sqr-sqrt
292×*-un-lft-identity
292×*-un-lft-identity
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015109
1311109
24460109
01439
129239
2439739
01439
01535
131135
2446035
01535
01129
123029
2359529
01129
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 29
Calls
Call 1
Inputs
(log1p.f64 (*.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))))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (sqrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (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 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/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) (exp.f64 (neg.f64 im))) (*.f64 (cos.f64 re) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (exp.f64 im) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.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 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.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 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.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 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify114.0ms (1.5%)

Algorithm
egg-herbie
Rules
1830×fma-def
992×distribute-lft-in
964×*-commutative
912×distribute-rgt-in
804×associate-/r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02034995
15644665
222674493
378734493
Stop Event
node limit
Counts
101 → 123
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2))) (*.f64 1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (pow.f64 re 4))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (+.f64 (*.f64 -15/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 3))) (*.f64 15/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2))))))) (+.f64 (log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2))) (*.f64 1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (pow.f64 re 4))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 (cos.f64 re) 1))
(+.f64 (log.f64 (+.f64 (cos.f64 re) 1)) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 re) 1))))
(+.f64 (log.f64 (+.f64 (cos.f64 re) 1)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1)) (*.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 re) 1)))))
(+.f64 (log.f64 (+.f64 (cos.f64 re) 1)) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1)) (+.f64 (*.f64 -15 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))) (*.f64 30 (/.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (cos.f64 re) 1) 3))))) (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1)) (*.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 re) 1))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(*.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 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (exp.f64 (neg.f64 im))))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 1 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sqrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (sqrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(pow.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(log.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log.f64 (+.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(expm1.f64 (log1p.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(exp.f64 (log.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im))) (*.f64 (cos.f64 re) (exp.f64 im)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(log1p.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (log1p.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/4 (*.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) (*.f64 re re)) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2))) (*.f64 1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (pow.f64 re 4))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(+.f64 (log1p.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (fma.f64 1/24 (*.f64 (fma.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)) (*.f64 1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (pow.f64 re 4)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(+.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 -1/4 (*.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) (*.f64 re re)) (*.f64 (fma.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) (/.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (*.f64 1/24 (pow.f64 re 4)))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (fma.f64 (pow.f64 re 4) (+.f64 (/.f64 -1/32 (/.f64 (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2) (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) (/.f64 1/48 (/.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (fma.f64 (pow.f64 re 4) (+.f64 (*.f64 (/.f64 -1/32 (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (*.f64 (/.f64 1/48 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (+.f64 (*.f64 -15/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 3))) (*.f64 15/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2))))))) (+.f64 (log.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2))) (*.f64 1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (pow.f64 re 4))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 -1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (fma.f64 -15/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 3)) (*.f64 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)) 15/4)))) (+.f64 (log1p.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (fma.f64 1/24 (*.f64 (fma.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)) (*.f64 1/2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))) (pow.f64 re 4)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) (*.f64 re re)) (*.f64 (fma.f64 -3/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) (/.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) -1/2 (fma.f64 -15/4 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 3)) (*.f64 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) 15/4)))) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) 15/4 (fma.f64 -15/4 (pow.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) 3) (/.f64 (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (fma.f64 (pow.f64 re 4) (+.f64 (/.f64 -1/32 (/.f64 (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2) (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))) (/.f64 1/48 (/.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(fma.f64 1/720 (*.f64 (pow.f64 re 6) (fma.f64 (/.f64 (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) 15/4 (fma.f64 -15/4 (pow.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) 3) (/.f64 (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1))) (fma.f64 (pow.f64 re 4) (+.f64 (*.f64 (/.f64 -1/32 (pow.f64 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1) 2)) (pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (*.f64 (/.f64 1/48 (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 (cos.f64 re) 1))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(+.f64 (log.f64 (+.f64 (cos.f64 re) 1)) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 re) 1))))
(+.f64 (log.f64 (+.f64 1 (cos.f64 re))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (*.f64 im im)) (+.f64 1 (cos.f64 re)))))
(fma.f64 1/2 (*.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (*.f64 im im)) (log1p.f64 (cos.f64 re)))
(fma.f64 1/2 (*.f64 (*.f64 im im) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (log1p.f64 (cos.f64 re)))
(+.f64 (log.f64 (+.f64 (cos.f64 re) 1)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1)) (*.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 re) 1)))))
(+.f64 (log.f64 (+.f64 1 (cos.f64 re))) (fma.f64 1/24 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (*.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))) (pow.f64 im 4)) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (*.f64 im im)) (+.f64 1 (cos.f64 re))))))
(+.f64 (log1p.f64 (cos.f64 re)) (fma.f64 1/2 (*.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (*.f64 im im)) (*.f64 1/24 (*.f64 (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (pow.f64 im 4)))))
(fma.f64 (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (*.f64 1/24 (pow.f64 im 4)) (fma.f64 1/2 (*.f64 (*.f64 im im) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (log1p.f64 (cos.f64 re))))
(+.f64 (log.f64 (+.f64 (cos.f64 re) 1)) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1)) (+.f64 (*.f64 -15 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))) (*.f64 30 (/.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 (cos.f64 re) 1) 3))))) (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1)) (*.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 re) 1))))))
(+.f64 (log.f64 (+.f64 1 (cos.f64 re))) (fma.f64 1/720 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (fma.f64 -15 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) (*.f64 30 (/.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 1 (cos.f64 re)) 3))))) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (+.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (*.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)))) (pow.f64 im 4)) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (*.f64 im im)) (+.f64 1 (cos.f64 re)))))))
(+.f64 (fma.f64 (*.f64 1/720 (+.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (fma.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) -15 (*.f64 30 (/.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 1 (cos.f64 re)) 3)))))) (pow.f64 im 6) (*.f64 1/24 (*.f64 (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (pow.f64 im 4)))) (fma.f64 1/2 (*.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) (*.f64 im im)) (log1p.f64 (cos.f64 re))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) -15 (fma.f64 30 (pow.f64 (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))) 3) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re))))) (*.f64 1/720 (pow.f64 im 6)) (fma.f64 (fma.f64 -3 (/.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (+.f64 1 (cos.f64 re)) 2)) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (*.f64 1/24 (pow.f64 im 4)) (fma.f64 1/2 (*.f64 (*.f64 im im) (/.f64 (cos.f64 re) (+.f64 1 (cos.f64 re)))) (log1p.f64 (cos.f64 re)))))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re))))
(*.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 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))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/48))))
(+.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 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) 1/2)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 -1/4 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.f64 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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))
(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 (*.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/24 (pow.f64 im 4)) (*.f64 1/2 (*.f64 im im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 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 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 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 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 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 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 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 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (fma.f64 (*.f64 (*.f64 re re) -1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (*.f64 re (*.f64 re -1/2)) 1) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 im) (fma.f64 1/24 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re re)) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 (*.f64 re re) -1/2)))))
(+.f64 (exp.f64 im) (fma.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/24 (pow.f64 re 4) (*.f64 re (*.f64 re -1/2))) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (exp.f64 (neg.f64 im))))))
(+.f64 (exp.f64 im) (fma.f64 1/24 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (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)) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 (pow.f64 re 6) -1/720))) (+.f64 (exp.f64 im) (fma.f64 (*.f64 (*.f64 re re) -1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(+.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 1/24 (pow.f64 re 4) (*.f64 (pow.f64 re 6) -1/720)) (*.f64 re (*.f64 re -1/2))))))
(*.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 (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 (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 (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 (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 (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 (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 (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 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 (*.f64 im im) 2))
(*.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 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1/12 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 2)))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12)))
(+.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 (*.f64 (cos.f64 re) (pow.f64 im 4)) 1/12 (fma.f64 (*.f64 (cos.f64 re) (pow.f64 im 6)) 1/360 (*.f64 (cos.f64 re) (+.f64 (*.f64 im im) 2))))
(fma.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (cos.f64 re) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 6) 1/360))))
(*.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 (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 (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 (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 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(*.f64 1 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(*.f64 (sqrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (sqrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (cbrt.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(pow.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(cbrt.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(expm1.f64 (log1p.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(exp.f64 (log.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)
(*.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 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.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 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(*.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 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.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))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 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))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.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 (*.f64 (cos.f64 re) (exp.f64 (neg.f64 im))) (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (cos.f64 re)) (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re))

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Compiler

Compiled 25 to 9 computations (64% saved)

series0.0ms (0%)

Counts
1 → 8
Calls

3 calls:

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

rewrite40.0ms (0.5%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
178×add-sqr-sqrt
170×pow1
170×*-un-lft-identity
168×add-exp-log
166×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify58.0ms (0.7%)

Algorithm
egg-herbie
Rules
940×associate-*r/
782×*-commutative
758×fma-def
710×associate-*r*
708×associate-*l/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061460
1160432
2528418
31976294
47528294
Stop Event
node limit
Counts
20 → 31
Calls
Call 1
Inputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 2 (cosh.f64 im))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
Outputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/360 (pow.f64 im 6) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/360 (pow.f64 im 6) 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (exp.f64 (*.f64 im -3))) (+.f64 (pow.f64 (exp.f64 2) im) (expm1.f64 (*.f64 im -2))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3)) (+.f64 (pow.f64 (exp.f64 im) 2) (expm1.f64 (*.f64 im -2))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.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.0b
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
0.1b
(*.f64 1/24 (pow.f64 im 4))
Compiler

Compiled 62 to 41 computations (33.9% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

15 calls:

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

rewrite120.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1536×associate-*r/
1196×associate-*l/
362×add-sqr-sqrt
348×*-un-lft-identity
346×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01794
136994
2463594
Stop Event
node limit
Counts
4 → 172
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)))
(*.f64 1/2 (*.f64 im im))
(+.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 (*.f64 1/24 (pow.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1))))) (#(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 -.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (+.f64 (/.f64 1 (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 (*.f64 (*.f64 im im) (sqrt.f64 1/24)) 2)))) (#(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 (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 exp.f64 (log.f64 (*.f64 1/24 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.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 +.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))))) (#(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 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (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 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re))) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 re) (/.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (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))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 re) (/.f64 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))))))) (#(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 /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (+.f64 (*.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 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) (+.f64 (*.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 (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 (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)) (-.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 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4))) (-.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 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)) (+.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) (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3))) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (neg.f64 (-.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) (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (neg.f64 (+.f64 (*.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 1 (*.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 /.f64 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (+.f64 (*.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 1 (*.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 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re))) (+.f64 (*.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 1 (-.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 1 (+.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))) (-.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 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (-.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 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (sqrt.f64 (+.f64 (*.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 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (cbrt.f64 (-.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 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (+.f64 (*.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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) (cos.f64 re)) (-.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 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (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 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (cos.f64 re)) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (cos.f64 re)) (neg.f64 (-.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 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cos.f64 re)) (neg.f64 (+.f64 (*.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 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) 1) (-.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 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) 1) (+.f64 (*.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 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (cos.f64 re)) 1) (-.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 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) 1) (+.f64 (*.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 (*.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)))) 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 (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)) 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)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re))) (sqrt.f64 (-.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 (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re))) (sqrt.f64 (+.f64 (*.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 pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (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 1/2 (*.f64 im im) (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 1/2 (*.f64 im im) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 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 (*.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 -.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 im 1/2)) 1)))) (#(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 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 6) 1/8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 4) 1/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 log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 im 6) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 im (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 im (*.f64 im 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 1 (+.f64 (*.f64 im (*.f64 im 1/2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2)))) (-.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 1 (*.f64 im (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (-.f64 (/.f64 1 (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 (pow.f64 im 4) 1/4) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))) (/.f64 (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 -.f64 (+.f64 2 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (*.f64 im 1/2)) (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (*.f64 im 1/2)) (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1))) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (/.f64 1 (-.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 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 1 (+.f64 (*.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 1 (/.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (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))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.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 /.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (+.f64 (*.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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) (-.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 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (+.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 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (neg.f64 (+.f64 (*.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)) 1) (-.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 1 (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4))) (-.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 1 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)) (+.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 1 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3))) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (neg.f64 (-.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 1 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (neg.f64 (+.f64 (*.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 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (-.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 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (sqrt.f64 (+.f64 (*.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 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (cbrt.f64 (-.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 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (+.f64 (*.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 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) 1) (+.f64 (*.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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/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 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) 1) (+.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 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) 1) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) 1) (neg.f64 (-.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 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) 1) (neg.f64 (+.f64 (*.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 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (-.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 (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (+.f64 (*.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 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.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 (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (+.f64 (*.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 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (+.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/4) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) 3)) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (pow.f64 im 4) 1/4)) (+.f64 (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) 1/8)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 1 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 6) 1/8) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) 3)) (/.f64 1 (+.f64 (*.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 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) 1/8)) (-.f64 (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (*.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) 1/2 (fma.f64 1/24 (pow.f64 im 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1) (*.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)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 im (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (fma.f64 1/24 (pow.f64 im 4) 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)) (*.f64 im (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (fma.f64 1/24 (pow.f64 im 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im 1/2) im (fma.f64 1/24 (pow.f64 im 4) 1))))))

simplify145.0ms (1.9%)

Algorithm
egg-herbie
Rules
1178×associate-/r*
892×+-commutative
660×associate-*r*
592×associate-*l*
564×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
045113634
1118012926
2482912676
Stop Event
node limit
Counts
220 → 283
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 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))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) 0)
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1))
(-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) 2)
(-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (+.f64 (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)) 1))
(pow.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/24)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 im 4))) 3)
(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))))
(exp.f64 (log.f64 (*.f64 1/24 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/24 (pow.f64 im 4))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(+.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 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (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 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1))
(+.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re))
(+.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re))) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(/.f64 (cos.f64 re) (/.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (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 (cos.f64 re) (/.f64 (+.f64 (*.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 (pow.f64 im 6) 1/8) (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 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (+.f64 (*.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 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) (+.f64 (*.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 (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 (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)) (-.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 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4))) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3))) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (*.f64 (cos.f64 re) (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (neg.f64 (+.f64 (*.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 1 (*.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 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (+.f64 (*.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 1 (*.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 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re))) (+.f64 (*.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 1 (-.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 1 (+.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))) (-.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) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (sqrt.f64 (+.f64 (*.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 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (cbrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (+.f64 (*.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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) (cos.f64 re)) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (cos.f64 re)) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (cos.f64 re)) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (*.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (cos.f64 re)) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cos.f64 re)) (neg.f64 (+.f64 (*.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 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) 1) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) 1) (+.f64 (*.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 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (cos.f64 re)) 1) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) 1) (+.f64 (*.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 (*.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)))) 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 (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)) 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 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re))) (sqrt.f64 (+.f64 (*.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)))))))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 1)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 2)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(exp.f64 (log.f64 (*.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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1))
(log1p.f64 (expm1.f64 (*.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 (*.f64 im (*.f64 im 1/2)) (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2)))) 1)
(pow.f64 (*.f64 im (*.f64 im 1/2)) 1)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 3)
(pow.f64 (*.f64 (pow.f64 im 6) 1/8) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im 1/2)))))
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im 1/2))))
(-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 1 (+.f64 (*.f64 im (*.f64 im 1/2)) 1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2)))) (-.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 1 (*.f64 im (*.f64 im 1/2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (-.f64 (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)) (*.f64 im (*.f64 im 1/2))))
(-.f64 (/.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))) (/.f64 (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 (+.f64 2 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)
(-.f64 (+.f64 (*.f64 im (*.f64 im 1/2)) (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1)))) 1)
(-.f64 (+.f64 (*.f64 im (*.f64 im 1/2)) (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1))) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)))
(-.f64 (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))) 1)
(*.f64 1 (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)) 1)
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 1 (+.f64 (*.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 1 (/.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (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 1 (/.f64 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))))
(/.f64 (-.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 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (+.f64 (*.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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (neg.f64 (+.f64 (*.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)) 1) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 1 (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4))) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 1 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3))) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (neg.f64 (+.f64 (*.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 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (sqrt.f64 (+.f64 (*.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 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (cbrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (+.f64 (*.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 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) 1) (+.f64 (*.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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (*.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) 1) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) 1) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (*.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) 1) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) 1) (neg.f64 (+.f64 (*.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 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (+.f64 (*.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 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (+.f64 (*.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 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (+.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/4) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) 3)) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (pow.f64 im 4) 1/4)) (+.f64 (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) 1/8)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 1 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 6) 1/8) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) 3)) (/.f64 1 (+.f64 (*.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 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) 1/8)) (-.f64 (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (*.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 1))
(log1p.f64 (expm1.f64 (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) 1))
(fma.f64 (*.f64 im im) 1/2 (fma.f64 1/24 (pow.f64 im 4) 1))
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))
(fma.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (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) (cbrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (fma.f64 1/24 (pow.f64 im 4) 1))
(fma.f64 (*.f64 im 1/2) im (fma.f64 1/24 (pow.f64 im 4) 1))
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 (*.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (*.f64 re re) -1/2)) (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 (*.f64 re re) -1/2) 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 (fma.f64 (*.f64 1/24 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (pow.f64 re 4) (*.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 (*.f64 re re) -1/2))) (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 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) (+.f64 (*.f64 (*.f64 re re) -1/2) (*.f64 (pow.f64 re 4) 1/24))))
(+.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 re (*.f64 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 (*.f64 re re) -1/2) (*.f64 (pow.f64 re 4) 1/24)))))
(*.f64 (cos.f64 re) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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 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 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (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 (cos.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (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 (cos.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 im (*.f64 1/2 im) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im)))
(+.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 (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/24 (pow.f64 im 4))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im)))
(+.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 (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 (*.f64 1/24 (pow.f64 im 4)) 0)
(*.f64 1/24 (pow.f64 im 4))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1))
(*.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))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) 2)
(+.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) -2)
(-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (+.f64 (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)) 1))
(-.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1))) 1)
(+.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (+.f64 -1 (/.f64 -1 (fma.f64 1/24 (pow.f64 im 4) -1))))
(+.f64 (*.f64 (/.f64 1/576 (fma.f64 1/24 (pow.f64 im 4) -1)) (pow.f64 im 8)) (+.f64 -1 (/.f64 -1 (fma.f64 1/24 (pow.f64 im 4) -1))))
(pow.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/24)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 im 4))) 3)
(*.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))
(exp.f64 (log.f64 (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (pow.f64 im 4))
(exp.f64 (*.f64 (log.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))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/24 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/24 (pow.f64 im 4)) (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)) (cos.f64 re))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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) (fma.f64 1/24 (pow.f64 im 4) 1)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 1))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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))) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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))) (cos.f64 re)) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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))) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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))) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re))) (cos.f64 re))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))) 1)
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(+.f64 (fma.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (exp.f64 (log1p.f64 (cos.f64 re)))) -1)
(fma.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (expm1.f64 (log1p.f64 (cos.f64 re))))
(-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re)) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(+.f64 (fma.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (exp.f64 (log1p.f64 (cos.f64 re)))) -1)
(fma.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (expm1.f64 (log1p.f64 (cos.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (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 (*.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 (+.f64 (*.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 (pow.f64 im 6) 1/8) (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 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.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 (/.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 (*.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 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.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) (-.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 (*.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 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.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 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 (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 (+.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)) (-.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 (pow.f64 (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) 3) (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) (-.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(/.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))) (+.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fma.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/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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (*.f64 1/8 (pow.f64 (*.f64 im im) 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 -1/2 im))))))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4))) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 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 (*.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 (*.f64 (cos.f64 re) (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 im (*.f64 1/2 im) (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))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) -1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) -1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3))) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (/.f64 (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re)))
(*.f64 (/.f64 (cos.f64 re) (-.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))))) (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 1 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1))))) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.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 (*.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 (*.f64 (cos.f64 re) (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (neg.f64 (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.f64 1 (*.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 (/.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 (*.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 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.f64 1 (*.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) (-.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 (*.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 (*.f64 1 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re))) (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.f64 1 (-.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 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 (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 (*.f64 1 (+.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))) (-.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 (pow.f64 (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) 3) (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) (-.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(/.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))) (+.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fma.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/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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (*.f64 1/8 (pow.f64 (*.f64 im im) 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 -1/2 im))))))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (/.f64 (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.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 (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (sqrt.f64 (+.f64 (*.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 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 (sqrt.f64 (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 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (cbrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (/.f64 (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.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 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (+.f64 (*.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) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (/.f64 (cbrt.f64 (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)))))) (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))))
(*.f64 (*.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cbrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cos.f64 re))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) (cos.f64 re)) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 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 (*.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 (*.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (cos.f64 re)) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 im (*.f64 1/2 im) (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))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) -1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) -1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (cos.f64 re)) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (/.f64 (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (cos.f64 re)))
(*.f64 (/.f64 (cos.f64 re) (-.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))))) (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 1 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1))))) (cos.f64 re))
(/.f64 (*.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (cos.f64 re)) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.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 (*.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 (*.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cos.f64 re)) (neg.f64 (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.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))) 1) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.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 (*.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 (*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) 1) (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.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)) 1) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.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 (*.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 (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (cos.f64 re)) 1) (+.f64 (*.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 (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)))))) (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.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 (pow.f64 im 4) 1/4))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 (cos.f64 re) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.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)))) 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 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 (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 (*.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)) 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 (pow.f64 (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) 3) (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)) (-.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) (*.f64 (*.f64 (cos.f64 re) im) (*.f64 1/2 im)) (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(/.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))) (+.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (fma.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/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 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (*.f64 1/8 (pow.f64 (*.f64 im im) 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 -1/2 im))))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (/.f64 (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.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 (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cos.f64 re))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re))) (sqrt.f64 (+.f64 (*.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 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 (sqrt.f64 (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 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 1)
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 2)
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 3)
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3) 1/3)
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(fabs.f64 (*.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 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (cos.f64 re)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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)))
(*.f64 (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) (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 im (*.f64 im 1/2)))) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 im (*.f64 im 1/2)) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 3)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 (pow.f64 im 6) 1/8) 1/3)
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8))
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im 1/2)))))
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im 1/2))) 1))
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 im im))
(-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (-.f64 1 (+.f64 (*.f64 im (*.f64 im 1/2)) 1)))
(+.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 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2)))) (-.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.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 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 1 (*.f64 im (*.f64 im 1/2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 1 (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (expm1.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) 1)
(+.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 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (-.f64 (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)) (*.f64 im (*.f64 im 1/2))))
(+.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1))) (*.f64 1/2 (*.f64 im im)))
(+.f64 (fma.f64 1/2 (*.f64 im im) (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1))) (/.f64 -1 (fma.f64 1/24 (pow.f64 im 4) -1)))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 (/.f64 1/576 (fma.f64 1/24 (pow.f64 im 4) -1)) (pow.f64 im 8))) (/.f64 -1 (fma.f64 1/24 (pow.f64 im 4) -1)))
(-.f64 (/.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))) (/.f64 (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 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(-.f64 (+.f64 2 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)
(+.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 (+.f64 (*.f64 im (*.f64 im 1/2)) (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1)))) 1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))) (-.f64 1 (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) (expm1.f64 (log1p.f64 (fma.f64 1/24 (pow.f64 im 4) 1))))
(-.f64 (+.f64 (*.f64 im (*.f64 im 1/2)) (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1))) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1)))
(+.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1)) (/.f64 1 (fma.f64 1/24 (pow.f64 im 4) -1))) (*.f64 1/2 (*.f64 im im)))
(+.f64 (fma.f64 1/2 (*.f64 im im) (/.f64 (*.f64 (pow.f64 im 8) 1/576) (fma.f64 1/24 (pow.f64 im 4) -1))) (/.f64 -1 (fma.f64 1/24 (pow.f64 im 4) -1)))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 (/.f64 1/576 (fma.f64 1/24 (pow.f64 im 4) -1)) (pow.f64 im 8))) (/.f64 -1 (fma.f64 1/24 (pow.f64 im 4) -1)))
(-.f64 (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))) 1)
(+.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 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.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 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 1)
(+.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 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.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 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(+.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 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.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 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (/.f64 1 (+.f64 (*.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 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 1 (/.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (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 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 1 (/.f64 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (-.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 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (+.f64 (*.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 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) -1) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) -1) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (-.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 1 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (neg.f64 (+.f64 (*.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 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) 1) (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 1 (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4))) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 1 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1)) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) -1) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) -1) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 1 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3))) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (-.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 1 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (neg.f64 (+.f64 (*.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 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (/.f64 (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (sqrt.f64 (+.f64 (*.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 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 (sqrt.f64 (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)))))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))) (cbrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (/.f64 (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (+.f64 (*.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 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (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 (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cbrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cbrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) 1) (+.f64 (*.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 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)) 1) (-.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (-.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) 1) (+.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) -1) (fma.f64 im (*.f64 1/2 im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) -1) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) 1) (-.f64 (+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 3)) (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) 1) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (-.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 1 (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) -1)))))
(/.f64 (*.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) 1) (neg.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) 1) (neg.f64 (+.f64 (*.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 (fma.f64 (pow.f64 im 6) 1/8 (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 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (/.f64 (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (sqrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))) (sqrt.f64 (+.f64 (*.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 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 (sqrt.f64 (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)))))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (sqrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (/.f64 (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (cbrt.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)) (cbrt.f64 (+.f64 (*.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 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (cbrt.f64 (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 (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cbrt.f64 (fma.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 (pow.f64 im 4) 1/4)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (cbrt.f64 (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (+.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (*.f64 (pow.f64 im 4) 1/4)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/16) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 4)) (/.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (/.f64 1 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/16) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 4)) (*.f64 (fma.f64 (pow.f64 im 4) 1/4 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/4) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) 3)) (/.f64 1 (-.f64 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1)))) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (pow.f64 im 4) 1/4)) (+.f64 (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/4) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) 3)) (/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/16) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 4)) (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2))) (/.f64 1 (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/4) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) (*.f64 (fma.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2) (fma.f64 (pow.f64 im 4) 1/4 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 2)) (*.f64 (pow.f64 im 8) 1/16)) (-.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) 1/8)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))) (/.f64 1 (+.f64 (*.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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(/.f64 (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 im 6)) 1/64) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) 1) (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 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/64) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.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 (pow.f64 im 4) 1/4))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 12) 1/64) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) (*.f64 (-.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 6) 1/8) 3) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) 3)) (/.f64 1 (+.f64 (*.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 (pow.f64 im 6) 1/8) (*.f64 (pow.f64 im 6) 1/8)) (-.f64 (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)) (*.f64 (*.f64 (pow.f64 im 6) 1/8) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 6) 3) 1/512) (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) 3)) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 im 6)) 1/64) (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) (*.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3)))) (/.f64 1 (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 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/512 (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) 3)) (*.f64 (+.f64 (fma.f64 (pow.f64 im 12) 1/64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) (*.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) (*.f64 (pow.f64 im 6) -1/8))) (fma.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 (pow.f64 im 4) 1/4))))
(/.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 6) 3) 1/512 (pow.f64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3) 3)) (+.f64 (fma.f64 (pow.f64 im 12) 1/64 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 6)) (*.f64 (pow.f64 im 6) (*.f64 -1/8 (pow.f64 (fma.f64 1/24 (pow.f64 im 4) 1) 3))))) (fma.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 -1/2 im))) (*.f64 (pow.f64 im 4) 1/4)))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 1)
(+.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))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 2)
(+.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))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 3)
(+.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))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3) 1/3)
(+.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))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 2))
(fabs.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.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))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))))
(+.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))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)) 3))
(+.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))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.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))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.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))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))) 1))
(+.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))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))))
(+.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))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 (*.f64 im im) 1/2 (fma.f64 1/24 (pow.f64 im 4) 1))
(+.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))
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.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))
(fma.f64 1 (fma.f64 1/24 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2)))
(+.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))
(fma.f64 (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (sqrt.f64 (fma.f64 1/24 (pow.f64 im 4) 1)) (*.f64 im (*.f64 im 1/2)))
(+.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))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 2) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 (fma.f64 1/24 (pow.f64 im 4) 1) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 2))
(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)) (*.f64 im (*.f64 im 1/2)))
(+.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))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (fma.f64 1/24 (pow.f64 im 4) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (fma.f64 1/24 (pow.f64 im 4) 1))
(fma.f64 (*.f64 im 1/2) im (fma.f64 1/24 (pow.f64 im 4) 1))
(+.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))

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 52 to 15 computations (71.2% saved)

series28.0ms (0.4%)

Counts
3 → 48
Calls

12 calls:

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

rewrite96.0ms (1.2%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
294×add-sqr-sqrt
294×add-sqr-sqrt
284×*-un-lft-identity
284×*-un-lft-identity
282×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01581
130581
2422181
0923
118523
2277323
0923
01019
120419
2282119
01019
01535
130535
2422135
01535
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 28
Calls
Call 1
Inputs
(log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(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 (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 (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 (-.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 /.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 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 exp.f64 (log.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 pow.f64 (*.f64 (*.f64 1/2 (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 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify70.0ms (0.9%)

Algorithm
egg-herbie
Rules
1200×fma-def
1126×associate-/l*
822×associate-*r/
818×*-commutative
770×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01482324
14122166
217842084
359462084
Stop Event
node limit
Counts
76 → 86
Calls
Call 1
Inputs
(log.f64 3)
(+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3)))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (+.f64 (*.f64 13/3240 (pow.f64 im 6)) (log.f64 3))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 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 1 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1 (+.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 (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 (-.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 (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)))))
(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))))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(log.f64 3)
(+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3))
(fma.f64 1/3 (*.f64 im im) (log.f64 3))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3)))
(fma.f64 -1/36 (pow.f64 im 4) (fma.f64 1/3 (*.f64 im im) (log.f64 3)))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (+.f64 (*.f64 13/3240 (pow.f64 im 6)) (log.f64 3))))
(fma.f64 -1/36 (pow.f64 im 4) (fma.f64 1/3 (*.f64 im im) (fma.f64 13/3240 (pow.f64 im 6) (log.f64 3))))
(fma.f64 1/3 (*.f64 im im) (fma.f64 -1/36 (pow.f64 im 4) (fma.f64 13/3240 (pow.f64 im 6) (log.f64 3))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (exp.f64 (*.f64 -1 im)) (+.f64 1 (exp.f64 im))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (*.f64 im im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.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 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 1/48 (pow.f64 re 4))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.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/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))) (fma.f64 -1/1440 (pow.f64 re 6) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720))))
(+.f64 (fma.f64 (pow.f64 im 4) (*.f64 (cos.f64 re) 1/24) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 6) 1/720) (*.f64 (*.f64 im im) 1/2))))
(*.f64 1/2 (*.f64 (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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (*.f64 im -2)) (+.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))

eval278.0ms (3.6%)

Compiler

Compiled 16275 to 10079 computations (38.1% saved)

prune136.0ms (1.7%)

Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New5767583
Fresh213
Picked011
Done145
Total57913592
Error
0b
Counts
592 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
0.9b
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
0.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.4b
(*.f64 (*.f64 1/2 (cos.f64 re)) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (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)))
30.2b
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
30.3b
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
30.0b
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
30.7b
(*.f64 1/2 (expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
30.5b
(*.f64 1/2 2)
0.1b
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
1.2b
(cos.f64 re)
Compiler

Compiled 229 to 179 computations (21.8% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 26 to 8 computations (69.2% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite49.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1464×add-sqr-sqrt
1452×*-un-lft-identity
1338×add-cube-cbrt
1318×add-cbrt-cube
1304×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
1242×log-prod
1048×associate-*r*
990×distribute-rgt-in
970×distribute-lft-in
856×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060740
1154716
2616688
32831682
Stop Event
node limit
Counts
36 → 30
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(-.f64 (+.f64 1 (*.f64 (*.f64 im im) (cos.f64 re))) 1)
(pow.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (cos.f64 re))))
Outputs
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im))
(*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 re 4))) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 re (*.f64 re -1/2)) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 re re) 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)) (*.f64 -1/720 (*.f64 (*.f64 im im) (pow.f64 re 6))))))
(fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 re 4))) (fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 re (*.f64 re -1/2))) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) 1)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (*.f64 im im))
(-.f64 (+.f64 1 (*.f64 (*.f64 im im) (cos.f64 re))) 1)
(*.f64 (cos.f64 re) (*.f64 im im))
(pow.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (*.f64 im im))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(*.f64 (cos.f64 re) (*.f64 im im))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im im) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (cos.f64 re) (*.f64 im im))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (cos.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 (cos.f64 re) (*.f64 im im))

localize3.0ms (0%)

Compiler

Compiled 7 to 7 computations (0% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(cosh.f64 im)
Compiler

Compiled 17 to 11 computations (35.3% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite79.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1012×associate-*r*
840×add-sqr-sqrt
824×*-un-lft-identity
782×pow1
768×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1835
210185
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(cosh.f64 im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cosh.f64 im) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cosh.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cosh.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cosh.f64 im)) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cosh.f64 im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cosh.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (sqrt.f64 (cosh.f64 im)))) (sqrt.f64 (sqrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (cbrt.f64 (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (sqrt.f64 (cbrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cosh.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cosh.f64 im)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (sqrt.f64 (cbrt.f64 (cosh.f64 im)))) (sqrt.f64 (cbrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))) (cbrt.f64 (sqrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cosh.f64 im))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 (cosh.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cosh.f64 im) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cosh.f64 im) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cosh.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cosh.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cosh.f64 im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cosh.f64 im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cosh.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cosh.f64 im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cosh.f64 im)))))))

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
594×distribute-lft-neg-in
576×associate-*r/
572×associate-+l-
540×unswap-sqr
506×distribute-rgt-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
091786
1215620
2962588
34914588
Stop Event
node limit
Counts
42 → 54
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(-.f64 (+.f64 (cosh.f64 im) 1) 1)
(*.f64 (cosh.f64 im) 1)
(*.f64 1 (cosh.f64 im))
(*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (cosh.f64 im)))
(*.f64 (cbrt.f64 (cosh.f64 im)) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (cosh.f64 im) 2) 1/2)
(*.f64 1/2 (*.f64 (cosh.f64 im) 2))
(*.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (sqrt.f64 (cosh.f64 im)))) (sqrt.f64 (sqrt.f64 (cosh.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (cbrt.f64 (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (cosh.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (sqrt.f64 (cbrt.f64 (cosh.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (cosh.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))
(*.f64 (*.f64 (cbrt.f64 (cosh.f64 im)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (sqrt.f64 (cbrt.f64 (cosh.f64 im)))) (sqrt.f64 (cbrt.f64 (cosh.f64 im))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))) (cbrt.f64 (sqrt.f64 (cosh.f64 im))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cosh.f64 im))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))
(/.f64 1 (/.f64 2 (*.f64 (cosh.f64 im) 2)))
(/.f64 (*.f64 (cosh.f64 im) 2) 2)
(/.f64 (neg.f64 (*.f64 (cosh.f64 im) 2)) -2)
(pow.f64 (cosh.f64 im) 1)
(pow.f64 (sqrt.f64 (cosh.f64 im)) 2)
(pow.f64 (cbrt.f64 (cosh.f64 im)) 3)
(pow.f64 (pow.f64 (cosh.f64 im) 3) 1/3)
(sqrt.f64 (pow.f64 (cosh.f64 im) 2))
(log.f64 (exp.f64 (cosh.f64 im)))
(cbrt.f64 (pow.f64 (cosh.f64 im) 3))
(expm1.f64 (log1p.f64 (cosh.f64 im)))
(exp.f64 (log.f64 (cosh.f64 im)))
(log1p.f64 (expm1.f64 (cosh.f64 im)))
Outputs
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (fma.f64 1/2 (*.f64 im im) (*.f64 1/720 (pow.f64 im 6)))))
(*.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 (/.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 (/.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 (/.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 (/.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 (/.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 (/.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 (/.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 (+.f64 (cosh.f64 im) 1) 1)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (cosh.f64 im) 1)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 1 (cosh.f64 im))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (cosh.f64 im)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (cbrt.f64 (cosh.f64 im)) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cosh.f64 im)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 (cosh.f64 im) 2) 1/2)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 1/2 (*.f64 (cosh.f64 im) 2))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (sqrt.f64 (cosh.f64 im)))) (sqrt.f64 (sqrt.f64 (cosh.f64 im))))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (cbrt.f64 (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (cosh.f64 im))))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (cbrt.f64 (cosh.f64 im)) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))))
(*.f64 (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (sqrt.f64 (cbrt.f64 (cosh.f64 im))))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (sqrt.f64 (cbrt.f64 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (fabs.f64 (cbrt.f64 (cosh.f64 im))) (sqrt.f64 (cbrt.f64 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (cosh.f64 im)) (pow.f64 (sqrt.f64 (cbrt.f64 (cosh.f64 im))) 3))
(*.f64 (*.f64 (cbrt.f64 (cosh.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 (cbrt.f64 (cosh.f64 im)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (sqrt.f64 (cbrt.f64 (cosh.f64 im)))) (sqrt.f64 (cbrt.f64 (cosh.f64 im))))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cbrt.f64 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cbrt.f64 (cosh.f64 im)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))) (cbrt.f64 (sqrt.f64 (cosh.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (sqrt.f64 (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (sqrt.f64 (cosh.f64 im))) (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (sqrt.f64 (cosh.f64 im)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cosh.f64 im))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))) (cbrt.f64 (cbrt.f64 (cosh.f64 im))))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(/.f64 1 (/.f64 2 (*.f64 (cosh.f64 im) 2)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(/.f64 (*.f64 (cosh.f64 im) 2) 2)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(/.f64 (neg.f64 (*.f64 (cosh.f64 im) 2)) -2)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (cosh.f64 im) 1)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (sqrt.f64 (cosh.f64 im)) 2)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (cbrt.f64 (cosh.f64 im)) 3)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (pow.f64 (cosh.f64 im) 3) 1/3)
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(sqrt.f64 (pow.f64 (cosh.f64 im) 2))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(log.f64 (exp.f64 (cosh.f64 im)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(cbrt.f64 (pow.f64 (cosh.f64 im) 3))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(expm1.f64 (log1p.f64 (cosh.f64 im)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(exp.f64 (log.f64 (cosh.f64 im)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(log1p.f64 (expm1.f64 (cosh.f64 im)))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)

localize18.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 51 to 34 computations (33.3% saved)

series1.0ms (0%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(*.f64 1/12 (pow.f64 im 4))
0.0ms
im
@0
(*.f64 1/12 (pow.f64 im 4))
0.0ms
im
@inf
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
0.0ms
im
@0
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
0.0ms
im
@-inf
(*.f64 1/12 (pow.f64 im 4))

rewrite64.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1844×add-sqr-sqrt
1812×*-un-lft-identity
1710×add-cube-cbrt
1698×add-cbrt-cube
184×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0934
120034
2244034
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 4) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12))) (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (*.f64 (pow.f64 im 8) 1/144) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 im im))))))

simplify66.0ms (0.8%)

Algorithm
egg-herbie
Rules
1452×associate-+r+
1446×associate-*r*
1210×associate-+l+
1160×associate-*l*
466×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251754
12821684
29271640
351741640
Stop Event
node limit
Counts
62 → 66
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 1)
(-.f64 (/.f64 (pow.f64 im 4) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12)))))
(/.f64 1 (/.f64 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12))) (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (*.f64 (pow.f64 im 8) 1/144) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/12))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12)))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 im im))
Outputs
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(-.f64 (/.f64 (pow.f64 im 4) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(*.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12)))))
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(/.f64 1 (/.f64 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12))) (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12))))
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (*.f64 (pow.f64 im 8) 1/144) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/12))))
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 im im (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 im 6) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 6) 1/12)))))
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (fma.f64 (pow.f64 im 8) 1/144 (fma.f64 -1/12 (pow.f64 im 6) (pow.f64 im 4))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3) 1/3)
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 1))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 im im))
(fma.f64 im im (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144))))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (*.f64 im im))

localize16.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cosh.f64 im)
0.0b
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
1.0b
(log1p.f64 (*.f64 2 (cosh.f64 im)))
Compiler

Compiled 30 to 20 computations (33.3% saved)

series30.0ms (0.4%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
16.0ms
im
@inf
(log1p.f64 (*.f64 2 (cosh.f64 im)))
14.0ms
im
@-inf
(log1p.f64 (*.f64 2 (cosh.f64 im)))
0.0ms
im
@0
(log1p.f64 (*.f64 2 (cosh.f64 im)))
0.0ms
im
@0
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
0.0ms
im
@inf
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))

rewrite57.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1456×add-sqr-sqrt
1438×*-un-lft-identity
1334×add-cube-cbrt
1320×add-cbrt-cube
1306×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
117926
2186526
Stop Event
node limit
Counts
2 → 47
Calls
Call 1
Inputs
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (cosh.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cosh.f64 im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cosh.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 2) (cbrt.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (cosh.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (cosh.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 1)) 1) (+.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 1)) (+.f64 1 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (cosh.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cosh.f64 im) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (cosh.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))))))

simplify71.0ms (0.9%)

Algorithm
egg-herbie
Rules
876×fma-def
724×associate-+l-
716×associate-+r-
670×unswap-sqr
664×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01401675
13601295
214321219
355941219
Stop Event
node limit
Counts
71 → 86
Calls
Call 1
Inputs
(log.f64 3)
(+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3)))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (+.f64 (*.f64 13/3240 (pow.f64 im 6)) (log.f64 3))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(-.f64 (+.f64 1 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 1)
(*.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1)
(*.f64 1 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 3)
(pow.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 2))
(log.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(exp.f64 (log.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 1))
(+.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) -1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1)
(*.f64 2 (cosh.f64 im))
(*.f64 (cosh.f64 im) 2)
(*.f64 (*.f64 2 (cosh.f64 im)) 1)
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) 2))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) 2))
(*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 2) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 2 (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) 2) 2)
(/.f64 (*.f64 2 (*.f64 2 (cosh.f64 im))) 2)
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 1)) 1) (+.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 1)) (+.f64 1 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(pow.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 (cosh.f64 im) 2) 4))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) 2))
(cbrt.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
Outputs
(log.f64 3)
(+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3))
(fma.f64 1/3 (*.f64 im im) (log.f64 3))
(fma.f64 im (*.f64 1/3 im) (log.f64 3))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (log.f64 3)))
(fma.f64 -1/36 (pow.f64 im 4) (fma.f64 1/3 (*.f64 im im) (log.f64 3)))
(fma.f64 1/3 (*.f64 im im) (fma.f64 -1/36 (pow.f64 im 4) (log.f64 3)))
(+.f64 (*.f64 -1/36 (pow.f64 im 4)) (+.f64 (*.f64 1/3 (pow.f64 im 2)) (+.f64 (*.f64 13/3240 (pow.f64 im 6)) (log.f64 3))))
(fma.f64 -1/36 (pow.f64 im 4) (fma.f64 1/3 (*.f64 im im) (fma.f64 13/3240 (pow.f64 im 6) (log.f64 3))))
(fma.f64 1/3 (*.f64 im im) (fma.f64 -1/36 (pow.f64 im 4) (fma.f64 13/3240 (pow.f64 im 6) (log.f64 3))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 (/.f64 1 (exp.f64 im)) (+.f64 1 (exp.f64 im))))
(log.f64 (+.f64 (+.f64 1 (exp.f64 im)) (exp.f64 (neg.f64 im))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (*.f64 im im))))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 1 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 1)
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(*.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1)
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(*.f64 1 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(*.f64 (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(*.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1)
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(pow.f64 (sqrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 2)
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(pow.f64 (cbrt.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 3)
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(pow.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 3) 1/3)
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(sqrt.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 2))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(log.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(cbrt.f64 (pow.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 3))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(expm1.f64 (log1p.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(exp.f64 (log.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))) 1))
(+.f64 1 (-.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))) 1))
(log1p.f64 (*.f64 2 (cosh.f64 im)))
(+.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) -1)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 2 (cosh.f64 im))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 (cosh.f64 im) 2)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 2 (cosh.f64 im)) 1)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) 2))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) 2))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 2))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 2) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 2 (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 2 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) 2) 2)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (cosh.f64 im))) 2)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 1)) 1) (+.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (fma.f64 (exp.f64 im) (exp.f64 im) (exp.f64 (*.f64 im -2))) -1))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (exp.f64 (*.f64 im -3))) (+.f64 (pow.f64 (exp.f64 2) im) (expm1.f64 (*.f64 im -2))))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 1)) (+.f64 1 (*.f64 (+.f64 (*.f64 2 (cosh.f64 im)) 1) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 2 (cosh.f64 im) 1) 3) -1) (fma.f64 (fma.f64 2 (cosh.f64 im) 1) (fma.f64 2 (cosh.f64 im) 1) (+.f64 (*.f64 2 (cosh.f64 im)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 2 (cosh.f64 im) 1) 3)) (fma.f64 (fma.f64 2 (cosh.f64 im) 1) (fma.f64 2 (cosh.f64 im) 1) (fma.f64 2 (cosh.f64 im) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 2 (cosh.f64 im) 1) 3)) (+.f64 1 (*.f64 (fma.f64 2 (cosh.f64 im) 1) (fma.f64 2 (cosh.f64 im) 2))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) 2)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) 3)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3) 1/3)
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(sqrt.f64 (*.f64 (pow.f64 (cosh.f64 im) 2) 4))
(sqrt.f64 (*.f64 4 (pow.f64 (cosh.f64 im) 2)))
(fabs.f64 (*.f64 2 (cosh.f64 im)))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) 2))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 2 (cosh.f64 im)) 3))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (cosh.f64 im))) 1))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (*.f64 2 (cosh.f64 im)) 0)
(*.f64 2 (cosh.f64 im))

eval97.0ms (1.2%)

Compiler

Compiled 4494 to 3017 computations (32.9% saved)

prune48.0ms (0.6%)

Pruning

14 alts after pruning (4 fresh and 10 done)

PrunedKeptTotal
New2891290
Fresh033
Picked011
Done099
Total28914303
Error
0b
Counts
303 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
1.0b
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
0.9b
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
0.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.4b
(*.f64 (*.f64 1/2 (cos.f64 re)) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (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)))
30.2b
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
30.3b
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
30.0b
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
30.7b
(*.f64 1/2 (expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
30.5b
(*.f64 1/2 2)
0.1b
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
1.2b
(cos.f64 re)
Compiler

Compiled 156 to 121 computations (22.4% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 2 (*.f64 im im))
Compiler

Compiled 20 to 11 computations (45% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite50.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1304×add-sqr-sqrt
1280×*-un-lft-identity
1204×add-cube-cbrt
1196×add-cbrt-cube
1188×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0613
11309
216309
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(+.f64 2 (*.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 im im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 im im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (+.f64 8 (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 im 4) 4) (-.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (neg.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 im im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 im im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 im im 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 im im 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 im im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 im im 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im im 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 im im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 2)))))

simplify48.0ms (0.6%)

Algorithm
egg-herbie
Rules
1078×distribute-lft-in
1008×associate-/l*
978×distribute-rgt-in
924×associate-*r*
752×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
082748
1197698
2753654
33262654
Stop Event
node limit
Counts
42 → 38
Calls
Call 1
Inputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(-.f64 (+.f64 1 (fma.f64 im im 2)) 1)
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(*.f64 (fma.f64 im im 2) 1)
(*.f64 1 (fma.f64 im im 2))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)))
(*.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 1 (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(/.f64 1 (/.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (+.f64 8 (pow.f64 im 6))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 im 4) 4) (-.f64 (*.f64 im im) 2))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(pow.f64 (fma.f64 im im 2) 1)
(pow.f64 (sqrt.f64 (fma.f64 im im 2)) 2)
(pow.f64 (cbrt.f64 (fma.f64 im im 2)) 3)
(pow.f64 (pow.f64 (fma.f64 im im 2) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 im im 2) 2))
(log.f64 (exp.f64 (fma.f64 im im 2)))
(cbrt.f64 (pow.f64 (fma.f64 im im 2) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im 2)))
(exp.f64 (log.f64 (fma.f64 im im 2)))
(log1p.f64 (expm1.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(fma.f64 1 (*.f64 im im) 2)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 2)
Outputs
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(-.f64 (+.f64 1 (fma.f64 im im 2)) 1)
(fma.f64 im im 2)
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(*.f64 (fma.f64 im im 2) 1)
(fma.f64 im im 2)
(*.f64 1 (fma.f64 im im 2))
(fma.f64 im im 2)
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(*.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))
(fma.f64 im im 2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(*.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 -2 im) im))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 1 (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 1 (/.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (+.f64 8 (pow.f64 im 6))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 -2 im) im))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 -2 im) im))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 -2 im) im))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (-.f64 (pow.f64 im 4) 4) (-.f64 (*.f64 im im) 2))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 -2 im) im))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(pow.f64 (fma.f64 im im 2) 1)
(fma.f64 im im 2)
(pow.f64 (sqrt.f64 (fma.f64 im im 2)) 2)
(fma.f64 im im 2)
(pow.f64 (cbrt.f64 (fma.f64 im im 2)) 3)
(fma.f64 im im 2)
(pow.f64 (pow.f64 (fma.f64 im im 2) 3) 1/3)
(fma.f64 im im 2)
(sqrt.f64 (pow.f64 (fma.f64 im im 2) 2))
(fma.f64 im im 2)
(log.f64 (exp.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(cbrt.f64 (pow.f64 (fma.f64 im im 2) 3))
(fma.f64 im im 2)
(expm1.f64 (log1p.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(exp.f64 (log.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(log1p.f64 (expm1.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(fma.f64 im im 2)
(fma.f64 1 (*.f64 im im) 2)
(fma.f64 im im 2)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 2)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 14 computations (44% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1010×*-commutative
890×sqrt-prod
710×unswap-sqr
610×swap-sqr
410×sqr-pow
Iterations

Useful iterations: 0 (0.0ms)

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

simplify72.0ms (0.9%)

Algorithm
egg-herbie
Rules
1194×fma-def
1008×*-commutative
946×associate-/l*
702×distribute-lft-out
668×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01361823
14431741
219771681
367341651
Stop Event
node limit
Counts
53 → 70
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) -1)
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (cos.f64 re) 2) 1/2))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) 1) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 4) -4)) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 (*.f64 im im) 3))) (-.f64 (+.f64 (pow.f64 im 4) 4) (*.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 (pow.f64 im 4) -4) (*.f64 1/2 (cos.f64 re))) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (*.f64 im im) 3)) (*.f64 1/2 (cos.f64 re))) (-.f64 (+.f64 (pow.f64 im 4) 4) (*.f64 2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))) (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) 3) (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) 3)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (-.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)))
(fabs.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 -1/1440 (*.f64 (fma.f64 im im 2) (pow.f64 re 6))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 -1/1440 (pow.f64 re 6)))) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 im im 2) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 -1/1440 (pow.f64 re 6))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) -1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (cos.f64 re) 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (cos.f64 re) 2) 1/2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) 1) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 4) -4)) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (fma.f64 im im -2) (+.f64 (pow.f64 im 4) -4)))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 (*.f64 im im) 3))) (-.f64 (+.f64 (pow.f64 im 4) 4) (*.f64 2 (*.f64 im im))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 -2 (*.f64 im im))) (+.f64 8 (pow.f64 (*.f64 im im) 3))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 im im) -2)))) (+.f64 8 (pow.f64 im 6)))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (*.f64 im (*.f64 im (fma.f64 im im -2))))))
(/.f64 (*.f64 (+.f64 (pow.f64 im 4) -4) (*.f64 1/2 (cos.f64 re))) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (fma.f64 im im -2) (+.f64 (pow.f64 im 4) -4)))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (*.f64 im im) 3)) (*.f64 1/2 (cos.f64 re))) (-.f64 (+.f64 (pow.f64 im 4) 4) (*.f64 2 (*.f64 im im))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 -2 (*.f64 im im))) (+.f64 8 (pow.f64 (*.f64 im im) 3))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (*.f64 im im) -2)))) (+.f64 8 (pow.f64 im 6)))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (*.f64 im (*.f64 im (fma.f64 im im -2))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))) (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) 3) (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) 3)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (-.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)) (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) 3) (pow.f64 (*.f64 (cos.f64 re) 1) 3)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 4)) (*.f64 (*.f64 (cos.f64 re) 1) (-.f64 (*.f64 (cos.f64 re) 1) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 1/8 (pow.f64 (cos.f64 re) 3)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (*.f64 im im))) (*.f64 (pow.f64 im 4) (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1/4))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (*.f64 (*.f64 (*.f64 im im) (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1/4)) (fma.f64 im im -2))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (pow.f64 im 4)))))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)))) 3) -1) (+.f64 (exp.f64 (+.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))) (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)))) 1)))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))))) 3)) (+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))))) (+.f64 1 (exp.f64 (*.f64 2 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))))))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))))) (+.f64 1 (pow.f64 (exp.f64 2) (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))))))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(fabs.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 17 computations (48.5% saved)

series2.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite79.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1010×*-commutative
756×unswap-sqr
618×swap-sqr
486×associate-*r/
414×sqr-pow
Iterations

Useful iterations: 0 (0.0ms)

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

simplify107.0ms (1.4%)

Algorithm
egg-herbie
Rules
1190×associate-+r+
1174×associate-/l/
1164×associate-/r/
612×+-commutative
554×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03978212
110777494
247447492
Stop Event
node limit
Counts
200 → 258
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 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))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) 1))
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (*.f64 1 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) 1) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)))) 1)
(-.f64 (+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(/.f64 (cos.f64 re) (/.f64 1 (fma.f64 im (*.f64 im 1/2) 1)))
(/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (/.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (cos.f64 re) (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1) (cos.f64 re)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (cos.f64 re)) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) 1) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) 1) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) 1) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (+.f64 1 (*.f64 im (sqrt.f64 1/2)))) (-.f64 (*.f64 im (sqrt.f64 1/2)) 1))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) 1) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (*.f64 (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))) (-.f64 (cos.f64 re) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re)))
(pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 1)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))) 2)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))))
(+.f64 (*.f64 im (*.f64 im 1/2)) 0)
(+.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))
(-.f64 (fma.f64 im (*.f64 im 1/2) 1) 1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) 1))) 2)
(-.f64 (/.f64 1/4 (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (pow.f64 im 4))) (+.f64 (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)) 1))
(pow.f64 (*.f64 im (*.f64 im 1/2)) 1)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 3)
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im 1/2)))))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im 1/2))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im 1/2))))
(-.f64 (fma.f64 im (*.f64 im 1/2) 1) 0)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) 1))) 1)
(-.f64 (/.f64 1/4 (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (pow.f64 im 4))) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(-.f64 (+.f64 2 (*.f64 im (*.f64 im 1/2))) 1)
(*.f64 1 (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (fma.f64 im (*.f64 im 1/2) 1) 1)
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(*.f64 (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))
(*.f64 (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))) (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))
(*.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (-.f64 (*.f64 1/8 (pow.f64 im 6)) 1)) (+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (-.f64 (*.f64 1/16 (pow.f64 im 8)) (pow.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) 2))) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 (pow.f64 (*.f64 1/4 (pow.f64 im 4)) 3) (pow.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) 3))) (+.f64 (*.f64 1/16 (pow.f64 im 8)) (*.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) (-.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 -1/8 (pow.f64 im 6)))) (+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))))
(*.f64 (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2))) (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)))) (*.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 3/2) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 3/2))
(*.f64 (pow.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3) 1/6) (pow.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3) 1/6))
(/.f64 1 (/.f64 1 (fma.f64 im (*.f64 im 1/2) 1)))
(/.f64 (fma.f64 im (*.f64 im 1/2) 1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (/.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(/.f64 (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (/.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) 1) (*.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (-.f64 (*.f64 1/8 (pow.f64 im 6)) 1)))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 im 8)) 1) (*.f64 (fma.f64 (*.f64 im im) 1/2 -1) (+.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (+.f64 1 (pow.f64 (*.f64 1/8 (pow.f64 im 6)) 3)) (*.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) (+.f64 1 (*.f64 -1/8 (pow.f64 im 6))))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/4 (pow.f64 im 4)) 3) 1) (*.f64 (fma.f64 (*.f64 im im) 1/2 -1) (+.f64 (*.f64 1/16 (pow.f64 im 8)) (+.f64 1 (*.f64 1/4 (pow.f64 im 4))))))
(/.f64 (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 1 (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (*.f64 (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) 1) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (-.f64 (*.f64 1/16 (pow.f64 im 8)) 1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))) (+.f64 1 (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 1/4 (pow.f64 im 4)) 3) 1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))) (+.f64 (*.f64 1/16 (pow.f64 im 8)) (+.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) 1) (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (-.f64 (*.f64 1/8 (pow.f64 im 6)) 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/8 (pow.f64 im 6)) 3)) (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) (+.f64 1 (*.f64 -1/8 (pow.f64 im 6)))))
(/.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) 1) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (*.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (+.f64 1 (*.f64 im (sqrt.f64 1/2)))) (-.f64 (*.f64 im (sqrt.f64 1/2)) 1))
(/.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (*.f64 (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (sqrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)))) (sqrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))) (cbrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))))) (cbrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 1)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3) 1/3)
(neg.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(neg.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))))
(sqrt.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 2))
(log.f64 (exp.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im (*.f64 im 1/2) 1))))
(cbrt.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))
(log1p.f64 (expm1.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 1)
Outputs
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.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 (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))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (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))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (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 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.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 (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))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (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))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (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 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (*.f64 re re) -1/2)) (fma.f64 1/2 (*.f64 im im) 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 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (*.f64 re re) -1/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 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 (pow.f64 re 6) (*.f64 -1/720 (fma.f64 1/2 (*.f64 im im) 1)))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.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 1/2 (pow.f64 im 2)))
(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/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(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 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(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 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 (cos.f64 re) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (cos.f64 re) (*.f64 1 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) 1))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) 1) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (expm1.f64 (log1p.f64 (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)))) 1)
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)) (expm1.f64 (log1p.f64 (cos.f64 re))))
(/.f64 (cos.f64 re) (/.f64 1 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (/.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (cos.f64 re)))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))))) (sqrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (*.f64 (/.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (/.f64 (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -1))) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -1))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)) (/.f64 (cbrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(/.f64 (cos.f64 re) (/.f64 (/.f64 (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)))
(*.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)) (/.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(/.f64 (cos.f64 re) (/.f64 (/.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (/.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2))) (cos.f64 re))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1)) (cos.f64 re))
(/.f64 (*.f64 (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1) (cos.f64 re)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1)) (cos.f64 re))
(/.f64 (*.f64 (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (cos.f64 re)) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) 1) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) 1) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))))) (sqrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (*.f64 (/.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))) (cos.f64 re))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (/.f64 (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -1))) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -1))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (cos.f64 re))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) 1) (fma.f64 (*.f64 im im) 1/2 -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (+.f64 1 (*.f64 im (sqrt.f64 1/2)))) (-.f64 (*.f64 im (sqrt.f64 1/2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (fma.f64 im (sqrt.f64 1/2) -1) (+.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (sqrt.f64 1/2) -1)) (/.f64 (cos.f64 re) (fma.f64 im (sqrt.f64 1/2) 1)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (fma.f64 im (sqrt.f64 1/2) 1) (fma.f64 im (sqrt.f64 1/2) -1))) (cos.f64 re))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) 1) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (*.f64 (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))) (-.f64 (cos.f64 re) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/4 (pow.f64 im 4))))) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 im) (*.f64 im (cos.f64 re))) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))) (-.f64 0 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (cos.f64 re))))
(pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))) 2)
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))) 3)
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) 2))
(fabs.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re)) 3))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.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 im (*.f64 im 1/2) 1) 3)))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (cos.f64 re))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 im (*.f64 im 1/2)) 0)
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))
(*.f64 1/2 (*.f64 im im))
(-.f64 (fma.f64 im (*.f64 im 1/2) 1) 1)
(*.f64 1/2 (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) 1))) 2)
(*.f64 1/2 (*.f64 im im))
(-.f64 (/.f64 1/4 (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (pow.f64 im 4))) (+.f64 (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)) 1))
(-.f64 (*.f64 (/.f64 1/4 (fma.f64 (*.f64 im im) 1/2 -1)) (pow.f64 im 4)) (+.f64 1 (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))))
(+.f64 (fma.f64 (/.f64 1/4 (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 im 4) (/.f64 -1 (fma.f64 1/2 (*.f64 im im) -1))) -1)
(+.f64 -1 (fma.f64 (/.f64 1/4 (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 im 4) (/.f64 -1 (fma.f64 1/2 (*.f64 im im) -1))))
(pow.f64 (*.f64 im (*.f64 im 1/2)) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 3)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/8 (pow.f64 im 6)) 1/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))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im 1/2)))))
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im 1/2))))
(*.f64 1/2 (*.f64 im im))
(-.f64 (fma.f64 im (*.f64 im 1/2) 1) 0)
(fma.f64 1/2 (*.f64 im im) 1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) 1))) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(-.f64 (/.f64 1/4 (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (pow.f64 im 4))) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(-.f64 (*.f64 (/.f64 1/4 (fma.f64 (*.f64 im im) 1/2 -1)) (pow.f64 im 4)) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(fma.f64 (/.f64 1/4 (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 im 4) (/.f64 -1 (fma.f64 1/2 (*.f64 im im) -1)))
(-.f64 (+.f64 2 (*.f64 im (*.f64 im 1/2))) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 1 (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (fma.f64 im (*.f64 im 1/2) 1) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(*.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(*.f64 (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))) (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(*.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (-.f64 (*.f64 1/8 (pow.f64 im 6)) 1)) (+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/8 (pow.f64 im 6) -1)) (+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (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 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (-.f64 (*.f64 1/16 (pow.f64 im 8)) (pow.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) 2))) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (-.f64 (*.f64 1/16 (pow.f64 im 8)) (pow.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) 2))) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (-.f64 (*.f64 1/16 (pow.f64 im 8)) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 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 (*.f64 1/16 (pow.f64 im 8)) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2))) (+.f64 (*.f64 1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 (pow.f64 (*.f64 1/4 (pow.f64 im 4)) 3) (pow.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) 3))) (+.f64 (*.f64 1/16 (pow.f64 im 8)) (*.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) (-.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 (*.f64 1/64 (pow.f64 (pow.f64 im 4) 3)) (pow.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) 3))) (fma.f64 1/16 (pow.f64 im 8) (*.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (+.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (*.f64 -1/4 (pow.f64 im 4))))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3))) (fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 -1/4 (pow.f64 im 4) 1)) (*.f64 1/16 (pow.f64 im 8))))
(*.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 -1/8 (pow.f64 im 6)))) (+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 1/4 (pow.f64 im 4))))
(*.f64 (+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (pow.f64 im 6) -1/8))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) (fma.f64 1/2 (*.f64 im im) 1)) (/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 6) -1/8 1)))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1))))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2))) (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2))))
(*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)) (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)))) (*.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)))))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))))
(*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)) (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 3/2) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 3/2))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (pow.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3) 1/6) (pow.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3) 1/6))
(fma.f64 1/2 (*.f64 im im) 1)
(/.f64 1 (/.f64 1 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(/.f64 (fma.f64 im (*.f64 im 1/2) 1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (fma.f64 (*.f64 im im) 1/2 -1)))
(fma.f64 1/2 (*.f64 im im) 1)
(/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (fma.f64 (*.f64 im im) 1/2 -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (/.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))))
(*.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))))
(/.f64 (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 (*.f64 im im) 1/2 -1)) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (/.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(/.f64 (*.f64 (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))) (/.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))))
(*.f64 (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (*.f64 (/.f64 (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))) (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) 1) (*.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (-.f64 (*.f64 1/8 (pow.f64 im 6)) 1)))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 6) -1) (*.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))) (fma.f64 1/8 (pow.f64 im 6) -1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 1/2 (*.f64 im im)) 6)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)) (fma.f64 1/8 (pow.f64 im 6) -1)))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 im 8)) 1) (*.f64 (fma.f64 (*.f64 im im) 1/2 -1) (+.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (/.f64 (fma.f64 1/16 (pow.f64 im 8) -1) (fma.f64 (*.f64 im im) 1/2 -1)) (+.f64 1 (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/16 (pow.f64 im 8) -1) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (+.f64 1 (pow.f64 (*.f64 1/8 (pow.f64 im 6)) 3)) (*.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) (+.f64 1 (*.f64 -1/8 (pow.f64 im 6))))))
(/.f64 (+.f64 1 (*.f64 1/512 (pow.f64 (pow.f64 im 6) 3))) (*.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))) (+.f64 (+.f64 1 (*.f64 (pow.f64 im 6) -1/8)) (pow.f64 (*.f64 1/2 (*.f64 im im)) 6))))
(/.f64 (/.f64 (fma.f64 1/512 (pow.f64 (pow.f64 im 6) 3) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))) (+.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (pow.f64 (*.f64 1/2 (*.f64 im im)) 6)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/4 (pow.f64 im 4)) 3) 1) (*.f64 (fma.f64 (*.f64 im im) 1/2 -1) (+.f64 (*.f64 1/16 (pow.f64 im 8)) (+.f64 1 (*.f64 1/4 (pow.f64 im 4))))))
(/.f64 (/.f64 (+.f64 (*.f64 1/64 (pow.f64 (pow.f64 im 4) 3)) -1) (fma.f64 (*.f64 im im) 1/2 -1)) (fma.f64 1/16 (pow.f64 im 8) (+.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (/.f64 (fma.f64 1/64 (pow.f64 (pow.f64 im 4) 3) -1) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/16 (pow.f64 im 8) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (*.f64 1 (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (sqrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))
(*.f64 (/.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (/.f64 (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -1))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (/.f64 (cbrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (/.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(/.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (/.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 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (+.f64 (neg.f64 (*.f64 1/4 (pow.f64 im 4))) 1) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (neg.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) 1) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))) (sqrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))
(*.f64 (/.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (/.f64 (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -1))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (/.f64 (cbrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))) (cbrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2)) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (/.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1))))
(/.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (/.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 (-.f64 (*.f64 1/16 (pow.f64 im 8)) 1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))) (+.f64 1 (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (/.f64 (fma.f64 1/16 (pow.f64 im 8) -1) (fma.f64 (*.f64 im im) 1/2 -1)) (+.f64 1 (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (fma.f64 1/16 (pow.f64 im 8) -1) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 1/4 (pow.f64 im 4)) 3) 1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1))) (+.f64 (*.f64 1/16 (pow.f64 im 8)) (+.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (/.f64 (+.f64 (*.f64 1/64 (pow.f64 (pow.f64 im 4) 3)) -1) (fma.f64 (*.f64 im im) 1/2 -1)) (fma.f64 1/16 (pow.f64 im 8) (+.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (/.f64 (fma.f64 1/64 (pow.f64 (pow.f64 im 4) 3) -1) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/16 (pow.f64 im 8) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) 1) (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (-.f64 (*.f64 1/8 (pow.f64 im 6)) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 6) -1) (*.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))) (fma.f64 1/8 (pow.f64 im 6) -1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 1/2 (*.f64 im im)) 6)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)) (fma.f64 1/8 (pow.f64 im 6) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/8 (pow.f64 im 6)) 3)) (/.f64 1 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 6) (+.f64 1 (*.f64 -1/8 (pow.f64 im 6)))))
(/.f64 (+.f64 1 (*.f64 1/512 (pow.f64 (pow.f64 im 6) 3))) (*.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))) (+.f64 (+.f64 1 (*.f64 (pow.f64 im 6) -1/8)) (pow.f64 (*.f64 1/2 (*.f64 im im)) 6))))
(/.f64 (/.f64 (fma.f64 1/512 (pow.f64 (pow.f64 im 6) 3) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1))) (+.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (pow.f64 (*.f64 1/2 (*.f64 im im)) 6)))
(/.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) 1) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) 1) (fma.f64 (*.f64 im im) 1/2 -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1))) (sqrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (*.f64 (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))) (cbrt.f64 (fma.f64 (*.f64 im im) 1/2 -1)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 (*.f64 im im) 1/2 -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (+.f64 1 (*.f64 im (sqrt.f64 1/2)))) (-.f64 (*.f64 im (sqrt.f64 1/2)) 1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (fma.f64 im (sqrt.f64 1/2) -1) (+.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (fma.f64 im (sqrt.f64 1/2) 1) (fma.f64 im (sqrt.f64 1/2) -1)))
(/.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))) (sqrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (*.f64 (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))) (cbrt.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(/.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (sqrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)))) (sqrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))) (cbrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))))) (cbrt.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 3)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) 1)
(neg.f64 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(neg.f64 (/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) (neg.f64 (+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -1/2))))))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6))) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/4 (pow.f64 im 4) 1)))
(sqrt.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 2))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2))
(fabs.f64 (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (exp.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im (*.f64 im 1/2) 1))))
(fma.f64 1/2 (*.f64 im im) 1)
(cbrt.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) 1) 3))
(fma.f64 1/2 (*.f64 im im) 1)
(expm1.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (log1p.f64 (*.f64 im (*.f64 im 1/2))))
(exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(log1p.f64 (expm1.f64 (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(+.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 2) 1)
(+.f64 1 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 2))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1772×add-sqr-sqrt
1754×*-un-lft-identity
1620×add-cube-cbrt
1604×add-cbrt-cube
194×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify67.0ms (0.9%)

Algorithm
egg-herbie
Rules
1396×associate-*r*
1224×*-commutative
844×+-commutative
592×times-frac
558×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0831091
12101049
28591035
335051003
474311003
Stop Event
node limit
Counts
47 → 49
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 1)
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re -1/2))))
(fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 re re)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re -1/2))) (fma.f64 1/24 (pow.f64 re 4) 1))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 1 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 re (*.f64 re -1/2) (fma.f64 1/2 (*.f64 im im) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 im im) (*.f64 im im))) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/2 (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 1/4 (*.f64 (*.f64 im im) (*.f64 im im))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im im))) (*.f64 1/4 (pow.f64 im 4))))
(pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 2)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 2))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re)) 3))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))) 1))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))

eval178.0ms (2.3%)

Compiler

Compiled 8583 to 5835 computations (32% saved)

prune65.0ms (0.8%)

Pruning

15 alts after pruning (3 fresh and 12 done)

PrunedKeptTotal
New4123415
Fresh000
Picked101
Done11213
Total41415429
Error
0b
Counts
429 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
1.0b
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
0.9b
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
0.9b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.4b
(*.f64 (*.f64 1/2 (cos.f64 re)) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (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)))
30.2b
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
30.3b
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
61.4b
(*.f64 1/2 (*.f64 im im))
30.0b
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
30.7b
(*.f64 1/2 (expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
30.5b
(*.f64 1/2 2)
0.1b
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
1.2b
(cos.f64 re)
Compiler

Compiled 165 to 128 computations (22.4% saved)

regimes51.0ms (0.7%)

Counts
20 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(*.f64 1/2 (expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(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)) (expm1.f64 (log1p.f64 (+.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)))
Calls

6 calls:

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

Compiled 219 to 122 computations (44.3% saved)

regimes45.0ms (0.6%)

Counts
17 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 im im) (*.f64 1/12 (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(*.f64 1/2 (expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im)))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
Outputs
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
Calls

4 calls:

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

Compiled 161 to 92 computations (42.9% saved)

regimes29.0ms (0.4%)

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

4 calls:

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

Compiled 117 to 70 computations (40.2% saved)

regimes27.0ms (0.3%)

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

4 calls:

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

Compiled 106 to 65 computations (38.7% saved)

regimes14.0ms (0.2%)

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

3 calls:

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

Compiled 43 to 28 computations (34.9% saved)

regimes14.0ms (0.2%)

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

3 calls:

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

Compiled 35 to 25 computations (28.6% saved)

regimes8.0ms (0.1%)

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

2 calls:

4.0ms
re
3.0ms
im
Results
ErrorSegmentsBranch
30.3b1re
30.3b1im
Compiler

Compiled 23 to 16 computations (30.4% saved)

regimes6.0ms (0.1%)

Accuracy

Total -31.1b remaining (-102%)

Threshold costs -31.1b (-102%)

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

2 calls:

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

Compiled 16 to 12 computations (25% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
22×*-commutative
16×+-commutative
sub-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034192
156192
258192
359192
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(cos.f64 re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 2)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))
(+.f64 (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 1/2 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))
(+.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(cos.f64 re)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (*.f64 im im) 2))
(*.f64 1/2 2)
1
Compiler

Compiled 82 to 61 computations (25.6% saved)

soundness0.0ms (0%)

end45.0ms (0.6%)

Compiler

Compiled 68 to 39 computations (42.6% saved)

Profiling

Loading profile data...