Details

Time bar (total: 12.5s)

analyze287.0ms (2.3%)

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

Compiled 14 to 11 computations (21.4% saved)

sample5.9s (47.7%)

Results
1.5s2034×body1024valid
1.4s5151×body256valid
1.1s2026×body1024infinite
920.0ms1067×body512valid
677.0ms970×body512infinite
354.0ms1405×body256infinite
7.0msbody2048valid
Bogosity

preprocess184.0ms (1.5%)

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)

simplify193.0ms (1.6%)

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)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 26 to 19 computations (26.9% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
100.0%
(cos.f64 re)
100.0%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
100.0%
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
100.0%
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 32 to 16 computations (50% saved)

series12.0ms (0.1%)

Counts
4 → 44
Calls

15 calls:

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

rewrite107.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1024×*-commutative
726×unswap-sqr
610×swap-sqr
466×associate-*r/
430×sqr-pow
Iterations

Useful iterations: 0 (0.0ms)

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

simplify193.0ms (1.5%)

Algorithm
egg-herbie
Rules
1342×associate-*r*
1334×associate-*r/
1126×associate-*l*
712×unswap-sqr
652×+-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03656056
19875534
261575534
Stop Event
node limit
Counts
172 → 212
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) -1)
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(*.f64 -1/2 (/.f64 -1 (exp.f64 im)))
(*.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 1 (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1 (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 1/2 (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1/2 (cbrt.f64 (exp.f64 im))))
(*.f64 -1 (/.f64 1 (*.f64 (exp.f64 im) -2)))
(*.f64 (/.f64 -1 (exp.f64 im)) -1/2)
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6) (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6))
(*.f64 (pow.f64 (*.f64 (exp.f64 im) 2) -1/2) (pow.f64 (*.f64 (exp.f64 im) 2) -1/2))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(sqrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(exp.f64 (-.f64 (log.f64 1/2) im))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) -1)
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) (-.f64 1 (*.f64 1/2 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(-.f64 (+.f64 (*.f64 1/2 (exp.f64 im)) (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))) 1)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2)
(*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 1 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6) (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6))
(/.f64 1 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))))
(/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (-.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) 1) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) -1)
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(+.f64 (*.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 1 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 1)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 2)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(+.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (cbrt.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 3/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 3) 1/6) (pow.f64 (pow.f64 (cos.f64 re) 3) 1/6))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1) (+.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 (*.f64 1/4 im) im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 -1/2 (*.f64 re (*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/24 (pow.f64 re 4) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (cos.f64 re)))
(+.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 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 (pow.f64 im 6) (*.f64 1/720 (cos.f64 re)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 -1/2 (*.f64 re re))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 -1/720 (pow.f64 re 6)))
(+.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) -1)
(/.f64 1/2 (exp.f64 im))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) 1)
(/.f64 1/2 (exp.f64 im))
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(/.f64 1/2 (exp.f64 im))
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(/.f64 1/2 (exp.f64 im))
(*.f64 -1/2 (/.f64 -1 (exp.f64 im)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 1 (sqrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1 (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 1/2 (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 1 (sqrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1/2 (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1 (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 -1 (/.f64 1 (*.f64 (exp.f64 im) -2)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 -1 (exp.f64 im)) -1/2)
(/.f64 1/2 (exp.f64 im))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2))
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6) (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6))
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (*.f64 (exp.f64 im) 2) -1/2) (pow.f64 (*.f64 (exp.f64 im) 2) -1/2))
(/.f64 1/2 (exp.f64 im))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(/.f64 1/2 (exp.f64 im))
(sqrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2))
(fabs.f64 (/.f64 1/2 (exp.f64 im)))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))))
(/.f64 1/2 (exp.f64 im))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(/.f64 1/2 (exp.f64 im))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(exp.f64 (-.f64 (log.f64 1/2) im))
(/.f64 1/2 (exp.f64 im))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) -1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) (-.f64 1 (*.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (exp.f64 im)) (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 1 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 2 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6) (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(/.f64 1 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 2 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (-.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) 1) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))
(/.f64 (+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(fabs.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) -1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 1 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1/2) (/.f64 (cos.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))) (cos.f64 re)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (cos.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1/2) (/.f64 (cos.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 2 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (cos.f64 re))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (cos.f64 re)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))) (cos.f64 re)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))) (*.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (pow.f64 (cos.f64 re) 2))) (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (pow.f64 (cos.f64 re) 2)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (pow.f64 (cos.f64 re) 2))) (*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))) (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))) (+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) 3) (pow.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)) 3)) (+.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))) (*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)) (-.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)) (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 3) (pow.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) 3)) (fma.f64 (*.f64 (cos.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (pow.f64 (cos.f64 re) 2))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(fabs.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (cbrt.f64 (cos.f64 re)))))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 3/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 3/2))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 3) 1/6) (pow.f64 (pow.f64 (cos.f64 re) 3) 1/6))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1) (+.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (cos.f64 re)))) (cos.f64 re)) (+.f64 1 (exp.f64 (log1p.f64 (cos.f64 re)))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (cos.f64 re)))) (+.f64 1 (exp.f64 (log1p.f64 (cos.f64 re)))))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)

localize27.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series10.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

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

simplify81.0ms (0.7%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01201861
13551699
214771617
347701607
Stop Event
node limit
Counts
55 → 72
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 (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 (+.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))))
(+.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))))))
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 (+.f64 2 (*.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 (+.f64 2 (*.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/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))))
(+.f64 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/360 (pow.f64 im 6) 2))
(+.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 (*.f64 -1/4 re) re 1/2))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))) (fma.f64 -1/1440 (pow.f64 re 6) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 (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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 (cos.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) 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 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 1/24 (cos.f64 re)) (pow.f64 im 4)))
(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 (cos.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) (+.f64 (*.f64 (pow.f64 im 4) 1/24) 1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (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 (cos.f64 re) (fma.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) 1/720)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) 1/720)))))
(*.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 (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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.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 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.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)) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.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)))
(+.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.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 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (cos.f64 re))

eval139.0ms (1.1%)

Compiler

Compiled 6761 to 3570 computations (47.2% saved)

prune106.0ms (0.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3168324
Fresh000
Picked011
Done101
Total3179326
Error
100.0%
Counts
326 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
56.5%
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
99.5%
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
99.8%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.8%
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.5%
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
56.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
99.1%
(cos.f64 re)
Compiler

Compiled 213 to 166 computations (22.1% saved)

localize33.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
100.0%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
99.7%
(log1p.f64 (expm1.f64 (cos.f64 re)))
99.0%
(expm1.f64 (cos.f64 re))
Compiler

Compiled 46 to 15 computations (67.4% saved)

series3.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite183.0ms (1.5%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
1106×associate-*r*
1106×associate-*r*
914×add-sqr-sqrt
902×*-un-lft-identity
900×add-sqr-sqrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01549
131049
2446049
059
1959
211019
065
11155
211415
01535
131035
2446035
01535
Stop Event
iter limit
unsound
node limit
node limit
unsound
Counts
3 → 61
Calls
Call 1
Inputs
(expm1.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (cbrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (+.f64 1 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1) (+.f64 (+.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (sqrt.f64 (cos.f64 re)))) (sqrt.f64 (sqrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.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))))))))))

simplify98.0ms (0.8%)

Algorithm
egg-herbie
Rules
1830×unswap-sqr
1038×distribute-lft-in
1022×distribute-rgt-in
578×associate-+l+
568×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02202577
15642401
225072335
Stop Event
node limit
Counts
109 → 133
Calls
Call 1
Inputs
(-.f64 (exp.f64 1) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (exp.f64 1)) 1)
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (exp.f64 1))) 1)
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 re 6) (exp.f64 1))) (exp.f64 1)))) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (cos.f64 re)) 1)
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 1/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 (cos.f64 re)) -1)
(+.f64 -1 (exp.f64 (cos.f64 re)))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(*.f64 (expm1.f64 (cos.f64 re)) 1)
(*.f64 1 (expm1.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (expm1.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (expm1.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (cbrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (+.f64 1 (exp.f64 (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1) (+.f64 (+.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (exp.f64 (cos.f64 re))))
(pow.f64 (expm1.f64 (cos.f64 re)) 1)
(pow.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) 2)
(pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2))
(log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3))
(exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (sqrt.f64 (cos.f64 re)))) (sqrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(+.f64 (*.f64 (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))))))
Outputs
(-.f64 (exp.f64 1) 1)
(expm1.f64 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (exp.f64 1)) 1)
(+.f64 (*.f64 -1/2 (*.f64 (E.f64) (*.f64 re re))) (expm1.f64 1))
(fma.f64 (*.f64 -1/2 (*.f64 re re)) (E.f64) (expm1.f64 1))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (exp.f64 1))) 1)
(+.f64 (fma.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 (E.f64) (*.f64 re re)) (E.f64))) -1)
(fma.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4)) (fma.f64 (*.f64 -1/2 (*.f64 re re)) (E.f64) (expm1.f64 1)))
(+.f64 (*.f64 (E.f64) (+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 1/6 (pow.f64 re 4)))) -1)
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 re 6) (exp.f64 1))) (exp.f64 1)))) 1)
(+.f64 (fma.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4)) (fma.f64 -1/2 (*.f64 (E.f64) (*.f64 re re)) (fma.f64 -31/720 (*.f64 (E.f64) (pow.f64 re 6)) (E.f64)))) -1)
(fma.f64 1/6 (*.f64 (E.f64) (pow.f64 re 4)) (+.f64 (*.f64 (E.f64) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -31/720 (pow.f64 re 6)))) (expm1.f64 1)))
(+.f64 (*.f64 (E.f64) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -31/720 (pow.f64 re 6))))) (expm1.f64 1))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720))))
(fma.f64 (pow.f64 re 4) 1/24 (+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (pow.f64 re 6) -1/720)))
(+.f64 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 (pow.f64 re 6) -1/720))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 1/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 (*.f64 re re) -1/4)))
(+.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 (*.f64 re re) -1/4) (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 (*.f64 re re) (+.f64 -1/4 (*.f64 1/48 (*.f64 re 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 (*.f64 re re) -1/4) (*.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 (*.f64 (*.f64 re re) (+.f64 -1/4 (*.f64 1/48 (*.f64 re re)))) (+.f64 1/2 (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (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 (pow.f64 im 4) 1/24) (*.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/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 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) 1/720))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (exp.f64 (cos.f64 re)) -1)
(expm1.f64 (cos.f64 re))
(+.f64 -1 (exp.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(-.f64 (exp.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(*.f64 (expm1.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(*.f64 1 (expm1.f64 (cos.f64 re)))
(expm1.f64 (cos.f64 re))
(*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))
(expm1.f64 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))
(expm1.f64 (cos.f64 re))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (cbrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))))
(*.f64 (*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (fabs.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))))
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))
(expm1.f64 (cos.f64 re))
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)))
(expm1.f64 (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))) (sqrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(expm1.f64 (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(expm1.f64 (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))) (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2))) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2)) (*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 2) (cbrt.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (+.f64 1 (exp.f64 (cos.f64 re))))
(/.f64 (fma.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re)) -1) (+.f64 1 (exp.f64 (cos.f64 re))))
(/.f64 (expm1.f64 (*.f64 2 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1) (+.f64 (+.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re))) 1) (exp.f64 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) -1) (+.f64 (exp.f64 (cos.f64 re)) (fma.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (cos.f64 re)) 3)) (+.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (exp.f64 (*.f64 2 (cos.f64 re))))))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (cos.f64 re)) 3)) (+.f64 1 (+.f64 (exp.f64 (cos.f64 re)) (pow.f64 (exp.f64 (cos.f64 re)) 2))))
(pow.f64 (expm1.f64 (cos.f64 re)) 1)
(expm1.f64 (cos.f64 re))
(pow.f64 (sqrt.f64 (expm1.f64 (cos.f64 re))) 2)
(expm1.f64 (cos.f64 re))
(pow.f64 (cbrt.f64 (expm1.f64 (cos.f64 re))) 3)
(expm1.f64 (cos.f64 re))
(pow.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3) 1/3)
(expm1.f64 (cos.f64 re))
(sqrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2))
(expm1.f64 (cos.f64 re))
(log.f64 (exp.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(cbrt.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 3))
(expm1.f64 (cos.f64 re))
(exp.f64 (log.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (expm1.f64 (cos.f64 re))))
(expm1.f64 (cos.f64 re))
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (sqrt.f64 (cos.f64 re)))) (sqrt.f64 (sqrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (fabs.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(cos.f64 re)
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
100.0%
(cos.f64 re)
Compiler

Compiled 5 to 3 computations (40% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
100.0%
(+.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)))

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

simplify77.0ms (0.6%)

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

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
100.0%
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
100.0%
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 18 to 10 computations (44.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite80.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1712×add-sqr-sqrt
1688×*-un-lft-identity
1568×add-cube-cbrt
1552×add-cbrt-cube
178×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (0.5%)

Algorithm
egg-herbie
Rules
1278×distribute-lft-in
1128×distribute-rgt-in
980×times-frac
898×associate-/l*
664×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082953
1197927
2786915
32651893
Stop Event
node limit
Counts
35 → 44
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 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2))
(+.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) 1) (/.f64 1/2 (exp.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))) 1)
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 (sqrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(/.f64 (-.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (*.f64 (exp.f64 im) 1/2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) 1/2) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (*.f64 (exp.f64 im) 1/2)) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))))
(pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (sqrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 2)
(pow.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 2))
(log.f64 (exp.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 3))
(expm1.f64 (log1p.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(exp.f64 (log.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 1))
(log1p.f64 (expm1.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.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 (fma.f64 1/24 (pow.f64 im 4) 1) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) 1) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))) 1)
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 2))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(/.f64 (-.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (*.f64 (exp.f64 im) 1/2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (/.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (/.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (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 (pow.f64 (exp.f64 im) 2) (exp.f64 (*.f64 im -2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) 1/2) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 (exp.f64 im) 1/2) (*.f64 (exp.f64 im) 1/2)) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 3) 1/8) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (exp.f64 im) (*.f64 1/2 (/.f64 1/2 (exp.f64 im)))))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (-.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (exp.f64 im) (/.f64 1/4 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/4 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (fma.f64 1/4 (exp.f64 (*.f64 im -2)) -1/4)))
(pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (sqrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 2)
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (cbrt.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 3)
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(sqrt.f64 (pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 2))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log.f64 (exp.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cbrt.f64 (pow.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) 3))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(expm1.f64 (log1p.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(exp.f64 (log.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))) 1))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
100.0%
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
99.5%
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
99.5%
(pow.f64 (cos.f64 re) 3)
Compiler

Compiled 51 to 25 computations (51% saved)

series4.0ms (0%)

Counts
3 → 40
Calls

12 calls:

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

rewrite163.0ms (1.3%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
1262×add-sqr-sqrt
1232×*-un-lft-identity
1232×add-sqr-sqrt
1208×*-un-lft-identity
1164×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01633
134133
2474133
0711
114511
2158111
085
11635
216425
01635
134135
2474035
01635
Stop Event
iter limit
unsound
node limit
node limit
unsound
Counts
3 → 47
Calls
Call 1
Inputs
(pow.f64 (cos.f64 re) 3)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 3/2) (pow.f64 (cos.f64 re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 3) (pow.f64 (sqrt.f64 (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 3) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (cos.f64 re) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cos.f64 re) 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (pow.f64 (cos.f64 re) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 re) 2) 1/3) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 re) 3/2) 1/3) (pow.f64 (pow.f64 (cos.f64 re) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.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))))))))))

simplify104.0ms (0.8%)

Algorithm
egg-herbie
Rules
1184×fma-def
1114×unswap-sqr
918×associate-/l*
910×*-commutative
800×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01692147
14221887
219441697
357161697
Stop Event
node limit
Counts
87 → 107
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -3/2 (pow.f64 re 2)))
(+.f64 (*.f64 7/8 (pow.f64 re 4)) (+.f64 1 (*.f64 -3/2 (pow.f64 re 2))))
(+.f64 (*.f64 7/8 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -61/240 (pow.f64 re 6)) (*.f64 -3/2 (pow.f64 re 2)))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(-.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) 1)
(*.f64 (cos.f64 re) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 3) 1)
(*.f64 1 (pow.f64 (cos.f64 re) 3))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(*.f64 (pow.f64 (cos.f64 re) 3/2) (pow.f64 (cos.f64 re) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(*.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 3) (pow.f64 (sqrt.f64 (cos.f64 re)) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 3) (cos.f64 re))
(sqrt.f64 (pow.f64 (cos.f64 re) 6))
(log.f64 (exp.f64 (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (cos.f64 re) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 3)))
(exp.f64 (*.f64 3 (log.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 re) 3)))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (pow.f64 (cos.f64 re) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 2) 1/3) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 1 1/3) (cos.f64 re))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 3/2) 1/3) (pow.f64 (pow.f64 (cos.f64 re) 3/2) 1/3))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(+.f64 (*.f64 (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))))))
Outputs
1
(+.f64 1 (*.f64 -3/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -3/2 (*.f64 re re)))
(fma.f64 -3/2 (*.f64 re re) 1)
(+.f64 (*.f64 7/8 (pow.f64 re 4)) (+.f64 1 (*.f64 -3/2 (pow.f64 re 2))))
(fma.f64 7/8 (pow.f64 re 4) (+.f64 1 (*.f64 -3/2 (*.f64 re re))))
(fma.f64 7/8 (pow.f64 re 4) (fma.f64 -3/2 (*.f64 re re) 1))
(fma.f64 -3/2 (*.f64 re re) (fma.f64 7/8 (pow.f64 re 4) 1))
(+.f64 (*.f64 7/8 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -61/240 (pow.f64 re 6)) (*.f64 -3/2 (pow.f64 re 2)))))
(fma.f64 7/8 (pow.f64 re 4) (+.f64 1 (fma.f64 -61/240 (pow.f64 re 6) (*.f64 -3/2 (*.f64 re re)))))
(+.f64 (fma.f64 7/8 (pow.f64 re 4) (fma.f64 -3/2 (*.f64 re re) 1)) (*.f64 -61/240 (pow.f64 re 6)))
(fma.f64 7/8 (pow.f64 re 4) (fma.f64 -3/2 (*.f64 re re) (fma.f64 -61/240 (pow.f64 re 6) 1)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 (*.f64 re re) -1/2)))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (*.f64 re re) -1/2 1))
(fma.f64 re (*.f64 re -1/2) (fma.f64 (pow.f64 re 4) 1/24 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (fma.f64 (*.f64 re re) -1/2 (*.f64 (pow.f64 re 6) -1/720)) (fma.f64 (pow.f64 re 4) 1/24 1))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 re (*.f64 re -1/2) (fma.f64 (pow.f64 re 6) -1/720 1)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(*.f64 1/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 (*.f64 re re) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (*.f64 re re) -1/4 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 (*.f64 re re) -1/4) (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (fma.f64 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (fma.f64 (*.f64 re re) -1/4 1/2)))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/1440 (*.f64 (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 (*.f64 re re) -1/4) (*.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 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 6) -1/1440 1/2) (fma.f64 (*.f64 re re) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (*.f64 (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/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/24 (pow.f64 im 4)))) (*.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 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) 1)
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (cos.f64 re) (pow.f64 (cos.f64 re) 2))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (pow.f64 (cos.f64 re) 3) 1)
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 1 (pow.f64 (cos.f64 re) 3))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (pow.f64 (cos.f64 re) 3/2) (pow.f64 (cos.f64 re) 3/2))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1) (cos.f64 re))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 3) (pow.f64 (sqrt.f64 (cos.f64 re)) 3))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 3) (cos.f64 re))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(sqrt.f64 (pow.f64 (cos.f64 re) 6))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(log.f64 (exp.f64 (pow.f64 (cos.f64 re) 3)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(cbrt.f64 (pow.f64 (pow.f64 (cos.f64 re) 3) 3))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 3)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(exp.f64 (*.f64 3 (log.f64 (cos.f64 re))))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 re) 3)))
(+.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) -1)
(+.f64 (pow.f64 (cos.f64 re) 3) 0)
(pow.f64 (cos.f64 re) 3)
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (pow.f64 (cos.f64 re) 2) 1/3))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 2) 1/3) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (pow.f64 1 1/3) (cos.f64 re))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 3/2) 1/3) (pow.f64 (pow.f64 (cos.f64 re) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 3/2)) (cbrt.f64 (pow.f64 (cos.f64 re) 3/2)))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 im)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (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 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval183.0ms (1.5%)

Compiler

Compiled 8286 to 4030 computations (51.4% saved)

prune94.0ms (0.8%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New4557462
Fresh123
Picked101
Done235
Total45912471
Error
100.0%
Counts
471 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
56.4%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
51.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
99.5%
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
99.8%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.3%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 2 (*.f64 im im)))
99.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
56.6%
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
98.9%
(expm1.f64 (log1p.f64 (cos.f64 re)))
99.1%
(cos.f64 re)
98.7%
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
56.3%
1
Compiler

Compiled 201 to 160 computations (20.4% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
100.0%
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(cos.f64 re)
99.9%
(*.f64 1/12 (pow.f64 im 4))
Compiler

Compiled 57 to 35 computations (38.6% saved)

series16.0ms (0.1%)

Counts
3 → 36
Calls

12 calls:

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

rewrite149.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1592×associate-*r/
1356×associate-*l/
404×associate-+l+
368×add-sqr-sqrt
354×*-un-lft-identity
Iterations

Useful iterations: 1 (0.0ms)

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

simplify274.0ms (2.2%)

Algorithm
egg-herbie
Rules
1364×associate-/r*
786×associate-*r*
764×+-commutative
744×associate-+r+
700×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043112886
1121811878
2511211878
Stop Event
node limit
Counts
192 → 249
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 -1/1440 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (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 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))) (+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 1))
(+.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 1) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) 2)) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 2 (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (cos.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 1 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (cos.f64 re)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (cos.f64 re)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 3))) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) 1) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 3)) 1) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1/2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1/2) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) (-.f64 1 (fma.f64 im im 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1)
(-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) (-.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (-.f64 1 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (-.f64 (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (exp.f64 (log1p.f64 (fma.f64 im im 2)))) 1)
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 4 (-.f64 2 (*.f64 im im)))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(-.f64 (+.f64 (fma.f64 im im 2) (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))) 1)
(-.f64 (+.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (exp.f64 (log1p.f64 (*.f64 im im)))) 1)
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 1 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) 1) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) 1) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (+.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.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)) (fma.f64 im im 2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 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))) (fma.f64 im im 2))
Outputs
(*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 -1/4 (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))) (*.f64 re re)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))))))
(fma.f64 -1/4 (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))) (*.f64 -1/1440 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 6))))))
(fma.f64 -1/4 (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))) (*.f64 re re)) (fma.f64 1/48 (*.f64 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))) (pow.f64 re 4)) (fma.f64 1/2 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))) (*.f64 (*.f64 -1/1440 (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 6)))))
(fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 6) (*.f64 -1/1440 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (*.f64 1/24 (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 (*.f64 im im) (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))) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(*.f64 (*.f64 1/24 (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 (*.f64 im im) (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))) (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.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)
(pow.f64 (*.f64 im (*.f64 im (sqrt.f64 1/12))) 2)
(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 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im)) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))) (+.f64 (*.f64 2 (*.f64 1/2 (cos.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 1) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.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)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.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)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 2 (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (cos.f64 re)))) (*.f64 2 (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (cos.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (cos.f64 re) (cos.f64 re))) (*.f64 -1/144 (*.f64 (pow.f64 im 8) (*.f64 1/4 (*.f64 (cos.f64 re) (cos.f64 re)))))) (fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 (*.f64 (pow.f64 im 4) -1/12) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/1728 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) 3))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (-.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 3)) (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (cos.f64 re) (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (cos.f64 re))) 1/144) (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 1/24)))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (/.f64 (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (/.f64 (+.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (-.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 1 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (cos.f64 re)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (cos.f64 re)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (cos.f64 re) (cos.f64 re))) (*.f64 -1/144 (*.f64 (pow.f64 im 8) (*.f64 1/4 (*.f64 (cos.f64 re) (cos.f64 re)))))) (fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 (*.f64 (pow.f64 im 4) -1/12) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 3))) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/1728 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) 3))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (-.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 3)) (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (cos.f64 re) (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (cos.f64 re))) 1/144) (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 1/24)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))) (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))) (/.f64 (cbrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))))) (cbrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))) (/.f64 (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (/.f64 (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (/.f64 (+.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (-.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) 1) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (cos.f64 re) (cos.f64 re))) (*.f64 -1/144 (*.f64 (pow.f64 im 8) (*.f64 1/4 (*.f64 (cos.f64 re) (cos.f64 re)))))) (fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 (*.f64 (pow.f64 im 4) -1/12) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) 3)) 1) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/1728 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re))) 3))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) (*.f64 (cos.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (-.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 3)) (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (cos.f64 re) (cos.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (cos.f64 re))) 1/144) (*.f64 (*.f64 (cos.f64 re) (fma.f64 im im 2)) 1/24)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))) (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1/2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1/2) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (/.f64 1/2 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))) (cos.f64 re))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(fabs.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) (-.f64 1 (fma.f64 im im 2)))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) (-.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2)))
(+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) 1) (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) 2) (expm1.f64 (log1p.f64 (*.f64 im im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (-.f64 1 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (+.f64 1 (*.f64 (pow.f64 im 4) -1/12)))
(fma.f64 1/12 (pow.f64 im 4) (expm1.f64 (log1p.f64 (fma.f64 im im 2))))
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (-.f64 (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im)))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im)))))
(-.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (exp.f64 (log1p.f64 (fma.f64 im im 2)))) 1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (+.f64 1 (*.f64 (pow.f64 im 4) -1/12)))
(fma.f64 1/12 (pow.f64 im 4) (expm1.f64 (log1p.f64 (fma.f64 im im 2))))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 4 (-.f64 2 (*.f64 im im)))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(+.f64 (-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im)))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im)))))
(-.f64 (+.f64 (fma.f64 im im 2) (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))) 1)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (+.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (exp.f64 (log1p.f64 (*.f64 im im)))) 1)
(+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) 1) (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) 2) (expm1.f64 (log1p.f64 (*.f64 im im))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (-.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 1 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (*.f64 1 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (-.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (/.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(/.f64 (cbrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) 1) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) 1) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (-.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (/.f64 (sqrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(/.f64 (cbrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 4) (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 im 8)) 1/20736)) (/.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 4) (*.f64 (pow.f64 im 16) -1/20736)) (*.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (+.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (*.f64 (pow.f64 (pow.f64 im 8) 3) 1/2985984)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 4) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 6) (*.f64 (pow.f64 (pow.f64 im 8) 3) -1/2985984)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (pow.f64 (fma.f64 im im 2) 4)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 6) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (pow.f64 im 4) 3)) 1/2985984)) (/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 6) (*.f64 (pow.f64 (pow.f64 im 8) 3) -1/2985984)) (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) -1/1728)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (*.f64 (pow.f64 (pow.f64 (pow.f64 im 4) 3) 3) 1/5159780352)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 6) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (-.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))) (/.f64 1 (-.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (pow.f64 im 4) 3) 3) 1/5159780352 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3)) (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 6) (fma.f64 (pow.f64 (pow.f64 im 8) 3) 1/2985984 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) -1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 (pow.f64 im 8) 1/144 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) 1/3)
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2))
(fabs.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (fma.f64 im im 2))
(+.f64 (pow.f64 (*.f64 im (*.f64 im (sqrt.f64 1/12))) 2) (fma.f64 im im 2))
(+.f64 (pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2) (fma.f64 im im 2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
100.0%
(*.f64 -1/2 (*.f64 re re))
Compiler

Compiled 20 to 11 computations (45% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite56.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1076×add-sqr-sqrt
1058×*-un-lft-identity
1006×pow1
986×add-cube-cbrt
978×add-cbrt-cube
Iterations

Useful iterations: 0 (0.0ms)

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

simplify100.0ms (0.8%)

Algorithm
egg-herbie
Rules
1470×distribute-rgt-in
1446×distribute-lft-in
1164×log-prod
760×associate-*r*
704×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038299
193299
2347299
31912299
Stop Event
node limit
Counts
23 → 14
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (pow.f64 re 2))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 re re))) 1)
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
Outputs
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 re re))) 1)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (*.f64 -1/2 (*.f64 re re)) 1)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 re re))) 3)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3) 1/3)
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(sqrt.f64 (*.f64 1/4 (pow.f64 re 4)))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 re re)))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 re re))))
(*.f64 -1/2 (*.f64 re re))
(*.f64 re (*.f64 -1/2 re))

localize7.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
100.0%
(cos.f64 re)
99.8%
(expm1.f64 (log1p.f64 (cos.f64 re)))
99.6%
(log1p.f64 (cos.f64 re))
Compiler

Compiled 12 to 5 computations (58.3% saved)

series72.0ms (0.6%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
51.0ms
re
@inf
(log1p.f64 (cos.f64 re))
20.0ms
re
@-inf
(log1p.f64 (cos.f64 re))
0.0ms
re
@0
(log1p.f64 (cos.f64 re))
0.0ms
re
@0
(expm1.f64 (log1p.f64 (cos.f64 re)))
0.0ms
re
@inf
(expm1.f64 (log1p.f64 (cos.f64 re)))

rewrite87.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1096×associate-*r*
914×add-sqr-sqrt
902×*-un-lft-identity
854×pow1
836×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

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

simplify75.0ms (0.6%)

Algorithm
egg-herbie
Rules
1736×associate--r+
1308×fma-def
1184×distribute-lft-in
1078×unswap-sqr
884×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01571201
13651171
215701125
373681125
Stop Event
node limit
Counts
81 → 102
Calls
Call 1
Inputs
(log.f64 2)
(+.f64 (log.f64 2) (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1/96 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 (*.f64 -1/96 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (cos.f64 re)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (+.f64 (log1p.f64 (cos.f64 re)) 1) 1)
(*.f64 (log1p.f64 (cos.f64 re)) 1)
(*.f64 1 (log1p.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))))) (sqrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (cbrt.f64 (log1p.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))))) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))))) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(pow.f64 (log1p.f64 (cos.f64 re)) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (log1p.f64 (cos.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (cos.f64 re)) 2))
(log.f64 (+.f64 (cos.f64 re) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (cos.f64 re))))
(exp.f64 (log.f64 (log1p.f64 (cos.f64 re))))
(+.f64 (cos.f64 re) 0)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 1 (-.f64 (cos.f64 re) 1))
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(+.f64 -1 (+.f64 (cos.f64 re) 1))
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(-.f64 (+.f64 (cos.f64 re) 2) 2)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (sqrt.f64 (cos.f64 re)))) (sqrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (cos.f64 re) 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
Outputs
(log.f64 2)
(+.f64 (log.f64 2) (*.f64 -1/4 (pow.f64 re 2)))
(+.f64 (log.f64 2) (*.f64 -1/4 (*.f64 re re)))
(fma.f64 -1/4 (*.f64 re re) (log.f64 2))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1/96 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (log.f64 2) (fma.f64 -1/96 (pow.f64 re 4) (*.f64 -1/4 (*.f64 re re))))
(+.f64 (log.f64 2) (fma.f64 -1/96 (pow.f64 re 4) (*.f64 (*.f64 -1/4 re) re)))
(fma.f64 -1/4 (*.f64 re re) (fma.f64 -1/96 (pow.f64 re 4) (log.f64 2)))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 (*.f64 -1/96 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (log.f64 2) (fma.f64 -1/1440 (pow.f64 re 6) (fma.f64 -1/96 (pow.f64 re 4) (*.f64 -1/4 (*.f64 re re)))))
(+.f64 (fma.f64 -1/1440 (pow.f64 re 6) (*.f64 -1/96 (pow.f64 re 4))) (fma.f64 -1/4 (*.f64 re re) (log.f64 2)))
(fma.f64 -1/1440 (pow.f64 re 6) (fma.f64 -1/4 (*.f64 re re) (fma.f64 -1/96 (pow.f64 re 4) (log.f64 2))))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 1 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 (*.f64 re re) -1/2)))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (*.f64 re re) -1/2 1))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 re (*.f64 re -1/2) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (*.f64 re re) -1/2 1)) (*.f64 (pow.f64 re 6) -1/720))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 6) -1/720 (fma.f64 re (*.f64 re -1/2) 1)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(-.f64 (+.f64 (log1p.f64 (cos.f64 re)) 1) 1)
(log1p.f64 (cos.f64 re))
(*.f64 (log1p.f64 (cos.f64 re)) 1)
(log1p.f64 (cos.f64 re))
(*.f64 1 (log1p.f64 (cos.f64 re)))
(log1p.f64 (cos.f64 re))
(*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (log1p.f64 (cos.f64 re))))
(log1p.f64 (cos.f64 re))
(*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))
(log1p.f64 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (log1p.f64 (cos.f64 re))))
(log1p.f64 (cos.f64 re))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))))) (sqrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))))
(log1p.f64 (cos.f64 re))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (cbrt.f64 (log1p.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (*.f64 (fabs.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))))))
(*.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) (pow.f64 (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))) 3))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)))
(log1p.f64 (cos.f64 re))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)))
(log1p.f64 (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))))) (sqrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(log1p.f64 (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))))) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(log1p.f64 (cos.f64 re))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2))) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2)) (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 2) (cbrt.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))))))
(pow.f64 (log1p.f64 (cos.f64 re)) 1)
(log1p.f64 (cos.f64 re))
(pow.f64 (sqrt.f64 (log1p.f64 (cos.f64 re))) 2)
(log1p.f64 (cos.f64 re))
(pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 re))) 3)
(log1p.f64 (cos.f64 re))
(pow.f64 (pow.f64 (log1p.f64 (cos.f64 re)) 3) 1/3)
(log1p.f64 (cos.f64 re))
(sqrt.f64 (pow.f64 (log1p.f64 (cos.f64 re)) 2))
(log1p.f64 (cos.f64 re))
(log.f64 (+.f64 (cos.f64 re) 1))
(log1p.f64 (cos.f64 re))
(cbrt.f64 (pow.f64 (log1p.f64 (cos.f64 re)) 3))
(log1p.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (log1p.f64 (cos.f64 re))))
(log1p.f64 (cos.f64 re))
(exp.f64 (log.f64 (log1p.f64 (cos.f64 re))))
(log1p.f64 (cos.f64 re))
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(+.f64 1 (-.f64 (cos.f64 re) 1))
(cos.f64 re)
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(cos.f64 re)
(+.f64 -1 (+.f64 (cos.f64 re) 1))
(cos.f64 re)
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(cos.f64 re)
(-.f64 (+.f64 (cos.f64 re) 2) 2)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (sqrt.f64 (cos.f64 re)))) (sqrt.f64 (sqrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (fabs.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 re))) 3))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(cos.f64 re)
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (sqrt.f64 (cbrt.f64 (cos.f64 re)))) (sqrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cbrt.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (sqrt.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (+.f64 (+.f64 1 (cos.f64 re)) 1) (cos.f64 re)) (+.f64 2 (cos.f64 re)))
(/.f64 (+.f64 2 (cos.f64 re)) (/.f64 (+.f64 2 (cos.f64 re)) (cos.f64 re)))
(*.f64 (/.f64 (+.f64 2 (cos.f64 re)) (+.f64 2 (cos.f64 re))) (cos.f64 re))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 2 (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 2 (cos.f64 re)))))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
100.0%
(cos.f64 re)
100.0%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 2 (*.f64 im im)))
99.7%
(log1p.f64 (expm1.f64 (cos.f64 re)))
99.0%
(expm1.f64 (cos.f64 re))
Compiler

Compiled 41 to 17 computations (58.5% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite136.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1012×unswap-sqr
820×associate-*r/
804×swap-sqr
678×distribute-rgt-in
640×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

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

simplify105.0ms (0.8%)

Algorithm
egg-herbie
Rules
1074×distribute-lft-in
1068×associate-/l/
1066×distribute-rgt-in
966×associate-*r/
962×associate-/r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02554601
17364475
230694309
Stop Event
node limit
Counts
103 → 132
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1))
(+.f64 (cos.f64 re) (*.f64 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))) (*.f64 1/2 (*.f64 2 (cos.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 2 (cos.f64 re))) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 2) 1/2) (*.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (cos.f64 re) 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) 1)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1)))
(-.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 1 (fma.f64 im im 2)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (cos.f64 re))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))) (*.f64 1/2 (cos.f64 re))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.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)) (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -8 (neg.f64 (pow.f64 im 6)))) (+.f64 -4 (neg.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (*.f64 1 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re)))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re)))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (*.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3))) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.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 (neg.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 im 6))) (*.f64 1/2 (cos.f64 re))) (+.f64 -4 (neg.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (*.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) 1) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4))) 1/2) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 8 (pow.f64 im 6))) 1/2) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 2)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/2) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (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 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 (fma.f64 im im 2) (*.f64 re re))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (*.f64 re re) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (*.f64 re re) -1/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 -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 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.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 (*.f64 (fma.f64 im im 2) -1/4) (*.f64 re re) (*.f64 (*.f64 -1/1440 (pow.f64 re 6)) (fma.f64 im im 2)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (*.f64 re re) -1/4))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 6) -1/1440) (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (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 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))) (*.f64 1/2 (*.f64 2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 2 (cos.f64 re))) (*.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 2) 1/2) (*.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (cos.f64 re) 2) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(+.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (expm1.f64 (log1p.f64 (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) (-.f64 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1)))
(+.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (expm1.f64 (log1p.f64 (cos.f64 re))))
(-.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (exp.f64 (log1p.f64 (cos.f64 re)))) 1)
(+.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (expm1.f64 (log1p.f64 (cos.f64 re))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 1 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (cos.f64 re))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (+.f64 (*.f64 (neg.f64 (pow.f64 im 4)) 1/4) 1) (pow.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3))) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (neg.f64 (cos.f64 re))))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1)) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im -2)))))))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 im 4) 4)) (-.f64 (*.f64 im im) 2))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 -8 (neg.f64 (pow.f64 im 6)))) (+.f64 -4 (neg.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2))) (-.f64 -8 (pow.f64 im 6))))
(/.f64 (-.f64 -8 (pow.f64 im 6)) (/.f64 (/.f64 (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2))) 1/2) (cos.f64 re)))
(*.f64 (/.f64 (-.f64 -8 (pow.f64 im 6)) (-.f64 -4 (*.f64 im (*.f64 im (fma.f64 im im -2))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 1 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re)))) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re)))) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4)))) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (+.f64 (*.f64 (neg.f64 (pow.f64 im 4)) 1/4) 1) (pow.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3))) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3))) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (neg.f64 (cos.f64 re))))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1)) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im -2)))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (-.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (/.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))) (cbrt.f64 (-.f64 2 (*.f64 im im)))) (cbrt.f64 (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (cbrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (/.f64 (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))))
(/.f64 1/2 (/.f64 (/.f64 (cbrt.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))))
(*.f64 (*.f64 (/.f64 1/2 (cbrt.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4))) (cos.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))))
(/.f64 (*.f64 (-.f64 (pow.f64 im 4) 4) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 im im) 2))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 im 6))) (*.f64 1/2 (cos.f64 re))) (+.f64 -4 (neg.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2))) (-.f64 -8 (pow.f64 im 6))))
(/.f64 (-.f64 -8 (pow.f64 im 6)) (/.f64 (/.f64 (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2))) 1/2) (cos.f64 re)))
(*.f64 (/.f64 (-.f64 -8 (pow.f64 im 6)) (-.f64 -4 (*.f64 im (*.f64 im (fma.f64 im im -2))))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) 1) (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (+.f64 (*.f64 (neg.f64 (pow.f64 im 4)) 1/4) 1) (pow.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 3))) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (neg.f64 (cos.f64 re))))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1)) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im -2)))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (-.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re)))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4))) (*.f64 1/2 (*.f64 (cos.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4))) 1/2) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 8 (pow.f64 im 6))) 1/2) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 1/2 (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 (cos.f64 re) (-.f64 4 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2))))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (cos.f64 re))) (*.f64 (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 1/2 (+.f64 8 (pow.f64 im 6))) (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 2))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 2))
(fabs.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(fabs.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/2) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (cos.f64 re)))

eval461.0ms (3.7%)

Compiler

Compiled 16344 to 10424 computations (36.2% saved)

prune299.0ms (2.4%)

Pruning

15 alts after pruning (8 fresh and 7 done)

PrunedKeptTotal
New7104714
Fresh044
Picked101
Done077
Total71115726
Error
100.0%
Counts
726 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
99.3%
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (cos.f64 re))))
98.2%
(-.f64 (+.f64 (cos.f64 re) 2) 2)
56.4%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
51.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
99.5%
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
99.8%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
3.6%
(*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re))
4.1%
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
56.6%
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
98.9%
(expm1.f64 (log1p.f64 (cos.f64 re)))
99.1%
(cos.f64 re)
98.7%
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
56.3%
1
Compiler

Compiled 224 to 177 computations (21% saved)

localize21.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
100.0%
(*.f64 (*.f64 im im) 1/2)
100.0%
(cos.f64 re)
100.0%
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
Compiler

Compiled 33 to 17 computations (48.5% saved)

series29.0ms (0.2%)

Counts
2 → 36
Calls

9 calls:

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

rewrite130.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
01238
124438
2292638
Stop Event
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
(*.f64 (*.f64 im im) 1/2)
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))))))))

simplify125.0ms (1%)

Algorithm
egg-herbie
Rules
1468×associate-/l*
1124×distribute-lft-in
1000×distribute-rgt-in
874×*-commutative
652×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02203877
16013575
223553483
Stop Event
node limit
Counts
103 → 129
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))
(+.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))))
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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(+.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (fma.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/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 im (*.f64 1/2 im) 1)))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (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 im (*.f64 1/2 im) 1)) (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 im (*.f64 1/2 im) 1))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 im (*.f64 1/2 im) 1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 im (*.f64 1/2 im) 1)) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 im (*.f64 1/2 im) 1)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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))
(+.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 1))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (+.f64 1 (*.f64 -1/4 (pow.f64 im 4)))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)) (fma.f64 -1/4 (pow.f64 im 4) 1))
(*.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)))
(/.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 (cos.f64 re) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (+.f64 1 (*.f64 -1/4 (pow.f64 im 4)))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)) (fma.f64 -1/4 (pow.f64 im 4) 1))
(*.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)))
(/.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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (/.f64 (sqrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (sqrt.f64 (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4)))))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 1)))))
(/.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 im (*.f64 1/2 im) -1))) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -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 (cos.f64 re) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 1/2 im) 1)) 2) (cbrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))))) (cbrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 1/2 im) 1)) 2)) (cbrt.f64 (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4)))))) (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 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2)) (cbrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 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 (*.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 im (*.f64 1/2 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 (/.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 1/2 im) 1)) 2)) (cbrt.f64 (fma.f64 im (*.f64 1/2 im) -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 (cos.f64 re) (/.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))) (cos.f64 re)) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (+.f64 1 (*.f64 -1/4 (pow.f64 im 4)))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)) (fma.f64 -1/4 (pow.f64 im 4) 1))
(*.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)))
(/.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 (cos.f64 re) (/.f64 (+.f64 1 (*.f64 im (*.f64 im -1/2))) (+.f64 1 (*.f64 -1/4 (pow.f64 im 4)))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)) (fma.f64 -1/4 (pow.f64 im 4) 1))
(*.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (/.f64 (cos.f64 re) (fma.f64 im (*.f64 im -1/2) 1)))
(/.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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 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 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 (*.f64 im im) 1/2 -1) (cos.f64 re)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 (sqrt.f64 (+.f64 1 (*.f64 1/8 (pow.f64 im 6)))) (/.f64 (sqrt.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 im (*.f64 im -1/2))))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (sqrt.f64 (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4)))))) (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (/.f64 (sqrt.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (sqrt.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 1)))))
(/.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 im (*.f64 1/2 im) -1))) (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (*.f64 (cos.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (/.f64 (sqrt.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (sqrt.f64 (fma.f64 1/2 (*.f64 im im) -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 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 (/.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (cos.f64 re) (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 (cos.f64 re) (fma.f64 im (sqrt.f64 1/2) -1)) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 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)))) (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 im (*.f64 im -1/2) 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 im (*.f64 im -1/2) 1) (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (pow.f64 (cos.f64 re) 2)) (fma.f64 im (*.f64 im -1/2) 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 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1)) 2))
(fabs.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1)))
(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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 im (*.f64 1/2 im) 1))
(*.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 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 1/2 im) 1))) -2)
(+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 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))
(-.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 (-.f64 (*.f64 (pow.f64 im 4) (/.f64 1/4 (fma.f64 im (*.f64 1/2 im) -1))) (/.f64 1 (fma.f64 im (*.f64 1/2 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))

localize18.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
100.0%
(*.f64 1/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
@0
(*.f64 1/2 (*.f64 im im))
0.0ms
im
@inf
(*.f64 1/2 (*.f64 im im))
0.0ms
im
@-inf
(*.f64 1/2 (*.f64 im im))

rewrite66.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1076×add-sqr-sqrt
1058×*-un-lft-identity
1006×pow1
986×add-cube-cbrt
978×add-cbrt-cube
Iterations

Useful iterations: 0 (0.0ms)

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

simplify65.0ms (0.5%)

Algorithm
egg-herbie
Rules
1470×distribute-rgt-in
1446×distribute-lft-in
1164×log-prod
746×associate-*r*
698×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038299
192299
2346299
31898299
Stop Event
node limit
Counts
23 → 14
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1/3)
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
100.0%
(cos.f64 re)
99.9%
(+.f64 (cos.f64 re) 2)
99.1%
(-.f64 (+.f64 (cos.f64 re) 2) 2)
Compiler

Compiled 16 to 10 computations (37.5% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite78.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1830×add-sqr-sqrt
1806×*-un-lft-identity
1696×add-cube-cbrt
1684×add-cbrt-cube
182×pow1
Iterations

Useful iterations: 1 (0.0ms)

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

simplify80.0ms (0.6%)

Algorithm
egg-herbie
Rules
1202×distribute-lft-in
1074×distribute-rgt-in
1064×associate-/l*
724×unswap-sqr
524×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01761933
13841767
217951641
Stop Event
node limit
Counts
97 → 104
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
3
(+.f64 3 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 3 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) 0)
(+.f64 2 (+.f64 (cos.f64 re) -2))
(+.f64 (+.f64 (cos.f64 re) 2) -2)
(+.f64 0 (cos.f64 re))
(+.f64 -2 (+.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 4)))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2))))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (+.f64 (cos.f64 re) 4))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (-.f64 (+.f64 (cos.f64 re) 2) -2))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2)))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 4 (*.f64 (+.f64 (cos.f64 re) 2) -2))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 4)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8)) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2))))))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 0)
(fma.f64 1 (+.f64 (cos.f64 re) 2) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 2))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (cos.f64 re) 2) 1)
(*.f64 1 (+.f64 (cos.f64 re) 2))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2))) (+.f64 8 (pow.f64 (cos.f64 re) 3))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) -2))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) 2))))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) -2)))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(pow.f64 (+.f64 (cos.f64 re) 2) 1)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 2)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) 2)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 2)))
(fma.f64 1 (cos.f64 re) 2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 2)
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 -1/720 (pow.f64 re 6)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
3
(+.f64 3 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 -1/2 (*.f64 re re)) 3)
(fma.f64 -1/2 (*.f64 re re) 3)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 3 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (*.f64 -1/2 (*.f64 re re)) 3))
(fma.f64 1/24 (pow.f64 re 4) (fma.f64 -1/2 (*.f64 re re) 3))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) 3))
(+.f64 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 1/24 (pow.f64 re 4) 3))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 -1/720 (pow.f64 re 6) (*.f64 re (*.f64 -1/2 re))) 3))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 2 (cos.f64 re))
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(+.f64 2 (+.f64 (cos.f64 re) -2))
(cos.f64 re)
(+.f64 (+.f64 (cos.f64 re) 2) -2)
(cos.f64 re)
(+.f64 0 (cos.f64 re))
(cos.f64 re)
(+.f64 -2 (+.f64 (cos.f64 re) 2))
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 4)))
(*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (/.f64 1 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (+.f64 4 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) 1) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 4 (+.f64 (*.f64 2 (cos.f64 re)) 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 (*.f64 2 (cos.f64 re)) 8)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 4 (*.f64 (+.f64 2 (cos.f64 re)) (+.f64 4 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 4) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4)))
(*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (/.f64 1 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (+.f64 4 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2)))) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8)))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) 1) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 4 (+.f64 (*.f64 2 (cos.f64 re)) 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 (*.f64 2 (cos.f64 re)) 8)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 4 (*.f64 (+.f64 2 (cos.f64 re)) (+.f64 4 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (+.f64 (cos.f64 re) 4))
(*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (/.f64 1 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (+.f64 4 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (-.f64 (+.f64 (cos.f64 re) 2) -2))
(*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (/.f64 1 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (+.f64 4 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) 1) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 4 (+.f64 (*.f64 2 (cos.f64 re)) 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 (*.f64 2 (cos.f64 re)) 8)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 4 (*.f64 (+.f64 2 (cos.f64 re)) (+.f64 4 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 4 (*.f64 (+.f64 (cos.f64 re) 2) -2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) 1) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 4 (+.f64 (*.f64 2 (cos.f64 re)) 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 (*.f64 2 (cos.f64 re)) 8)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 4 (*.f64 (+.f64 2 (cos.f64 re)) (+.f64 4 (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))
(cos.f64 re)
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 4)))
(*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (/.f64 1 (+.f64 4 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) -4) (+.f64 4 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8)) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 4 (*.f64 2 (+.f64 (cos.f64 re) 2))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) 1) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 4 (+.f64 (*.f64 2 (cos.f64 re)) 4))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 2) (+.f64 (*.f64 2 (cos.f64 re)) 8)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (cos.f64 re)) 3) -8) (+.f64 4 (*.f64 (+.f64 2 (cos.f64 re)) (+.f64 4 (cos.f64 re)))))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 1 (cos.f64 re) 0)
(cos.f64 re)
(fma.f64 1 (+.f64 (cos.f64 re) 2) -2)
(cos.f64 re)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 2))) 1)
(+.f64 2 (cos.f64 re))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 -4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -2))
(*.f64 (+.f64 (cos.f64 re) 2) 1)
(+.f64 2 (cos.f64 re))
(*.f64 1 (+.f64 (cos.f64 re) 2))
(+.f64 2 (cos.f64 re))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 2 (cos.f64 re))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2))
(+.f64 2 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 2 (cos.f64 re))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 -4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -2))
(*.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 -4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -2))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2))) (+.f64 8 (pow.f64 (cos.f64 re) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) -2))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 -4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -2))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 2 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 -4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) -2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 -4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(pow.f64 (+.f64 (cos.f64 re) 2) 1)
(+.f64 2 (cos.f64 re))
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 2)
(+.f64 2 (cos.f64 re))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 3)
(+.f64 2 (cos.f64 re))
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) 1/3)
(+.f64 2 (cos.f64 re))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2))
(+.f64 2 (cos.f64 re))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 2 (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 2))))
(+.f64 2 (cos.f64 re))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3))
(+.f64 2 (cos.f64 re))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 2 (cos.f64 re))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) 2)) 1))
(+.f64 2 (cos.f64 re))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 2 (cos.f64 re))
(fma.f64 1 (cos.f64 re) 2)
(+.f64 2 (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 2)
(+.f64 2 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 2)
(+.f64 2 (cos.f64 re))

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
100.0%
(*.f64 1/2 (*.f64 im im))
100.0%
(cos.f64 re)
99.9%
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
Compiler

Compiled 23 to 10 computations (56.5% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite79.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1844×add-sqr-sqrt
1826×*-un-lft-identity
1690×add-cube-cbrt
1670×add-cbrt-cube
196×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify86.0ms (0.7%)

Algorithm
egg-herbie
Rules
1840×log-prod
1628×associate-*r*
1400×associate-*l*
1218×associate-+r+
1180×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
063967
1158939
2630903
33978903
Stop Event
node limit
Counts
37 → 32
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) im) 2)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) 1/2))
(*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/48 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (*.f64 re re)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 1/48 (pow.f64 re 4))))
(*.f64 (*.f64 im im) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(fma.f64 -1/1440 (*.f64 (*.f64 im im) (pow.f64 re 6)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/48 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (*.f64 im 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 im im) (+.f64 (fma.f64 -1/1440 (pow.f64 re 6) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) im) 2)
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 2))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (*.f64 im im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))))

localize20.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
100.0%
(cos.f64 re)
99.9%
(*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re))
99.9%
(*.f64 1/24 (pow.f64 im 4))
Compiler

Compiled 24 to 16 computations (33.3% saved)

series5.0ms (0%)

Counts
2 → 24
Calls

9 calls:

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

rewrite107.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1980×add-sqr-sqrt
1958×*-un-lft-identity
1824×add-cube-cbrt
1798×add-cbrt-cube
210×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify98.0ms (0.8%)

Algorithm
egg-herbie
Rules
982×associate-*l/
804×+-commutative
762×log-prod
760×associate-*r/
674×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891136
12121108
28441072
330941072
462931072
Stop Event
node limit
Counts
50 → 42
Calls
Call 1
Inputs
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/17280 (*.f64 (pow.f64 re 6) (pow.f64 im 4))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4))))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/24 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(pow.f64 (*.f64 (sqrt.f64 1/24) (*.f64 im im)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 im 4))) 3)
(pow.f64 (pow.f64 (*.f64 1/24 (pow.f64 im 4)) 3) 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 (pow.f64 (*.f64 1/24 (pow.f64 im 4)) 3))
(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 (exp.f64 (log1p.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))) 1)
(pow.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) 1)
(pow.f64 (sqrt.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))) 2)
(pow.f64 (cbrt.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 8) 1/576)))
(log.f64 (pow.f64 (exp.f64 1/24) (*.f64 (pow.f64 im 4) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
Outputs
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 -1/48 (*.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 1/24 (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 -1/48 (*.f64 re re))))
(*.f64 (pow.f64 im 4) (fma.f64 -1/48 (*.f64 re re) 1/24))
(*.f64 (pow.f64 im 4) (fma.f64 (*.f64 re -1/48) re 1/24))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(fma.f64 -1/48 (*.f64 (pow.f64 im 4) (*.f64 re re)) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 re 4)))))
(fma.f64 -1/48 (*.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/576 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 re (*.f64 re -1/48)) (fma.f64 1/576 (pow.f64 re 4) 1/24)))
(+.f64 (*.f64 -1/17280 (*.f64 (pow.f64 re 6) (pow.f64 im 4))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 re 2) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/576 (*.f64 (pow.f64 re 4) (pow.f64 im 4))))))
(fma.f64 -1/17280 (*.f64 (pow.f64 im 4) (pow.f64 re 6)) (fma.f64 -1/48 (*.f64 (pow.f64 im 4) (*.f64 re re)) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 re 4))))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/576 (pow.f64 re 4)))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/17280 (pow.f64 re 6)) (*.f64 -1/48 (*.f64 re re)))))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 1/576 (pow.f64 re 4) 1/24) (fma.f64 -1/17280 (pow.f64 re 6) (*.f64 re (*.f64 re -1/48)))))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 -1/17280 (pow.f64 re 6) (*.f64 re (*.f64 re -1/48))) (fma.f64 1/576 (pow.f64 re 4) 1/24)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/24 (pow.f64 im 4)))) 1)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (*.f64 (sqrt.f64 1/24) (*.f64 im im)) 2)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 im 4))) 3)
(*.f64 1/24 (pow.f64 im 4))
(pow.f64 (pow.f64 (*.f64 1/24 (pow.f64 im 4)) 3) 1/3)
(*.f64 1/24 (pow.f64 im 4))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/576))
(*.f64 1/24 (pow.f64 im 4))
(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 (pow.f64 (*.f64 1/24 (pow.f64 im 4)) 3))
(*.f64 1/24 (pow.f64 im 4))
(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 (exp.f64 (log1p.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))) 1)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(pow.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) 1)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(pow.f64 (sqrt.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))) 2)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(pow.f64 (cbrt.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))) 3)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(pow.f64 (pow.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) 3) 1/3)
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 8) 1/576)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/24) (*.f64 (pow.f64 im 4) (cos.f64 re))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(cbrt.f64 (pow.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) 3))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(expm1.f64 (log1p.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(exp.f64 (log.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))) 1))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(log1p.f64 (expm1.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))

eval284.0ms (2.3%)

Compiler

Compiled 7688 to 4848 computations (36.9% saved)

prune201.0ms (1.6%)

Pruning

18 alts after pruning (6 fresh and 12 done)

PrunedKeptTotal
New4923495
Fresh033
Picked011
Done01111
Total49218510
Error
100.0%
Counts
510 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
99.3%
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (cos.f64 re))))
51.8%
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 3) 2)
98.2%
(-.f64 (+.f64 (cos.f64 re) 2) 2)
56.4%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
51.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
99.5%
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
2.8%
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) 1/2))
99.8%
(*.f64 (*.f64 1/2 (log1p.f64 (expm1.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
3.6%
(*.f64 (*.f64 1/24 (pow.f64 im 4)) (cos.f64 re))
4.1%
(*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))
3.7%
(*.f64 1/2 (*.f64 im im))
56.6%
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
98.9%
(expm1.f64 (log1p.f64 (cos.f64 re)))
99.1%
(cos.f64 re)
98.7%
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
56.3%
1
Compiler

Compiled 181 to 142 computations (21.5% saved)

regimes133.0ms (1.1%)

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

67.0ms
re
19.0ms
im
18.0ms
(*.f64 1/2 (cos.f64 re))
11.0ms
(cos.f64 re)
9.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (cos.f64 re))
100.0%1(cos.f64 re)
100.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 250 to 140 computations (44% saved)

regimes61.0ms (0.5%)

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

4 calls:

21.0ms
(*.f64 1/2 (cos.f64 re))
12.0ms
(cos.f64 re)
11.0ms
im
9.0ms
re
Results
ErrorSegmentsBranch
99.6%1re
99.6%1im
99.6%1(*.f64 1/2 (cos.f64 re))
99.6%1(cos.f64 re)
Compiler

Compiled 155 to 96 computations (38.1% saved)

regimes100.0ms (0.8%)

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

3 calls:

64.0ms
(cos.f64 re)
18.0ms
re
13.0ms
im
Results
ErrorSegmentsBranch
99.5%1re
99.5%1im
99.5%1(cos.f64 re)
Compiler

Compiled 100 to 62 computations (38% saved)

regimes39.0ms (0.3%)

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

3 calls:

21.0ms
im
9.0ms
re
7.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
99.1%1re
99.1%1im
99.1%1(cos.f64 re)
Compiler

Compiled 74 to 46 computations (37.8% saved)

regimes14.0ms (0.1%)

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

2 calls:

8.0ms
re
4.0ms
im
Results
ErrorSegmentsBranch
56.4%1re
56.4%1im
Compiler

Compiled 48 to 30 computations (37.5% saved)

regimes8.0ms (0.1%)

Accuracy

Total -34.5b remaining (-123.4%)

Threshold costs -34.50b (-123.4%)

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

2 calls:

3.0ms
re
3.0ms
im
Results
ErrorSegmentsBranch
56.3%1re
56.3%1im
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×*-commutative
12×+-commutative
sub-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028136
143136
245136
346136
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 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
1
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 (*.f64 im im) 1/2) 1) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(cos.f64 re)
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
1
Compiler

Compiled 59 to 46 computations (22% saved)

soundness0.0ms (0%)

end58.0ms (0.5%)

Compiler

Compiled 49 to 31 computations (36.7% saved)

Profiling

Loading profile data...