math.cos on complex, real part

Time bar (total: 6.0s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample2.3s (38.5%)

Results
585.0ms1037×body1024valid
478.0ms2535×body256infinite
387.0ms1001×body1024infinite
372.0ms556×body512valid
351.0ms2598×body256valid
110.0ms524×body512infinite
10.0msbody2048valid
1.0msbody2048infinite
Bogosity

preprocess105.0ms (1.8%)

Algorithm
egg-herbie
Rules
1664×fma-def
928×associate-/r/
792×sqr-pow
750×associate-/l/
676×fabs-mul
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027140
181140
2182140
3343132
4674132
51905132
63540132
73945132
84964132
95834132
107272132
Stop Event
node limit
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 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.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 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (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/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (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/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (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/2 (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))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 15 to 12 computations (20% saved)

simplify97.0ms (1.6%)

Algorithm
egg-herbie
Rules
1464×fma-def
1028×associate-/l*
860×unswap-sqr
748×times-frac
636×associate-/r/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01335
13035
27335
313233
419433
534833
679033
7133733
8387933
9440133
10536833
11595233
12698433
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Accurracy
100.0%
Counts
4 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
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)

localize113.0ms (1.9%)

Local Accuracy

Found 5 expressions with local accuracy:

NewAccuracyProgram
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))
100.0%
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
100.0%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
100.0%
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 66 to 26 computations (60.6% saved)

series11.0ms (0.2%)

Counts
5 → 76
Calls

21 calls:

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

rewrite39.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
370×add-sqr-sqrt
358×pow1
358×*-un-lft-identity
344×add-exp-log
342×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01799
135999
2558299
Stop Event
unsound
Counts
5 → 82
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.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
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(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))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(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))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))

simplify82.0ms (1.4%)

Algorithm
egg-herbie
Rules
1606×fma-def
1192×associate-*r*
988×associate-*l*
846×associate-+l+
806×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01533310
14673142
214082888
364332888
Stop Event
node limit
Counts
158 → 120
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 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)))
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)))))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(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))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(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))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
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 im (*.f64 im 1/4))))
(fma.f64 -1/2 im (fma.f64 im (*.f64 im 1/4) 1/2))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 -1/12 (pow.f64 im 3) (*.f64 im (+.f64 (*.f64 im 1/4) -1/2))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (*.f64 im im) (+.f64 1/4 (*.f64 im -1/12))))
(+.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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (*.f64 re re) -1/4 1/2))
(+.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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.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 1/2 (fma.f64 (pow.f64 re 4) 1/48 (*.f64 re (*.f64 re -1/4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.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 4) 1/48 (*.f64 re (*.f64 re -1/4))) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
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/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)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.f64 im im) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (*.f64 im im))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.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 1/2 (fma.f64 (pow.f64 re 4) 1/48 (*.f64 re (*.f64 re -1/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/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 re re)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (fma.f64 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))))
(*.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 4) 1/48 (*.f64 re (*.f64 re -1/4))) (fma.f64 (pow.f64 re 6) -1/1440 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 im im) (cos.f64 re)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (cos.f64 re)) (*.f64 (cos.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(*.f64 2 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(*.f64 (pow.f64 (cos.f64 re) 3) -8)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(*.f64 (fabs.f64 (cos.f64 re)) 2)
(*.f64 2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 -1))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1))
(/.f64 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (cos.f64 re) -2) (exp.f64 -2))
(*.f64 (cos.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
0
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
0
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
-2
-1/2
-1/4
-1/8
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -1)
(*.f64 2 (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) -1)
(/.f64 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(*.f64 (pow.f64 (cos.f64 re) 3) -8)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(*.f64 (fabs.f64 (cos.f64 re)) 2)
(*.f64 2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 -1))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1))
(/.f64 1 (*.f64 (cos.f64 re) -2))
(/.f64 -1/2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (*.f64 (cos.f64 re) -2) (exp.f64 -2))
(*.f64 (cos.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(*.f64 (cos.f64 re) -2)
(fma.f64 (*.f64 (cos.f64 re) -2) -1 (*.f64 (cos.f64 re) -2))
0
(fma.f64 -1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
0

eval34.0ms (0.6%)

Compiler

Compiled 1730 to 1011 computations (41.6% saved)

prune21.0ms (0.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1146120
Fresh000
Picked202
Done000
Total1166122
Accurracy
100.0%
Counts
122 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.9%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
79.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
99.3%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
11.2%
(*.f64 2 (cos.f64 re))
68.4%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.4%
(cos.f64 re)
Compiler

Compiled 120 to 94 computations (21.7% saved)

localize232.0ms (3.9%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 85 to 34 computations (60% saved)

series46.0ms (0.8%)

Counts
4 → 68
Calls

18 calls:

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

rewrite59.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
416×add-sqr-sqrt
402×pow1
402×*-un-lft-identity
388×add-exp-log
386×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01972
140572
2623072
Stop Event
unsound
Counts
4 → 84
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
im
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
im

simplify122.0ms (2%)

Algorithm
egg-herbie
Rules
1192×fma-def
678×distribute-lft-out
574×+-commutative
546×associate-*r*
486×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01422682
13382166
29282166
334792166
Stop Event
node limit
Counts
152 → 76
Calls
Call 1
Inputs
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2))))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im))))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (cos.f64 re) im)))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(*.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))
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 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
6
8
9
16
27
64
512
Outputs
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 re re)))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/2))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2))))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 re re)))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/2))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 re re)))))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (pow.f64 re 6)) (fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 re re)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (pow.f64 re 4) 1/24))))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cos.f64 re)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (cos.f64 re) im)))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1 (*.f64 1/2 im))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/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 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 re re)))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/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 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 re re)))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/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))))))
(fma.f64 1/2 (+.f64 2 (*.f64 im im)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (*.f64 im im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 -1/1440 (+.f64 2 (*.f64 im im))) (pow.f64 re 6)))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (fma.f64 im im 2)) (fma.f64 -1/4 (*.f64 re (*.f64 re (fma.f64 im im 2))) (*.f64 (pow.f64 re 6) (*.f64 (fma.f64 im im 2) -1/1440)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cos.f64 re)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 2 (pow.f64 im 2))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/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 2 (fma.f64 im im (fma.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 (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 (cos.f64 re) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 -2 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(-.f64 (cos.f64 re) -2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 (cos.f64 re) -2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) -2)
(/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cos.f64 re) -2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cos.f64 re) 1/3)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (exp.f64 (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cos.f64 re)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
-2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
-1
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
0
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1/512
1/64
1/16
1/8
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1/4
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1/2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
3/2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
3
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
4
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
6
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
8
9
16
27
64
512
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 -2 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(-.f64 (cos.f64 re) -2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 (cos.f64 re) -2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) -2)
(/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cos.f64 re) -2)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cos.f64 re) 1/3)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (exp.f64 (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cos.f64 re)
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
-2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
-1
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
0
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1/512
1/64
1/16
1/8
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1/4
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1/2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
1
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
3/2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
2
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
3
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
4
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
6
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
8
9
16
27
64
512

eval21.0ms (0.3%)

Compiler

Compiled 835 to 537 computations (35.7% saved)

prune24.0ms (0.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New70676
Fresh101
Picked325
Done000
Total74882
Accurracy
100.0%
Counts
82 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.1%
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
79.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
54.0%
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 im)))
99.3%
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
8.7%
(*.f64 (cos.f64 re) 512)
52.1%
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
31.7%
(*.f64 1/2 2)
53.4%
(cos.f64 re)
Compiler

Compiled 114 to 96 computations (15.8% saved)

localize208.0ms (3.5%)

Local Accuracy

Found 3 expressions with local accuracy:

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

Compiled 74 to 46 computations (37.8% saved)

series2.0ms (0%)

Counts
3 → 16
Calls

12 calls:

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

rewrite79.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1102×log-prod
712×pow-prod-down
610×prod-diff
542×pow-prod-up
484×pow-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01161
123049
2294349
Stop Event
node limit
Counts
3 → 153
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
Outputs
(+.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2) (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 2) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2)) (-.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (cos.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (cos.f64 re)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(fma.f64 (cos.f64 re) 1/2 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 im) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1/2 (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) -1)
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) -1)
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)

simplify108.0ms (1.8%)

Algorithm
egg-herbie
Rules
1102×distribute-lft-in
1076×distribute-rgt-in
968×unswap-sqr
504×times-frac
376×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02904543
17154335
223034165
Stop Event
node limit
Counts
169 → 159
Calls
Call 1
Inputs
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2))))))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im))))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (cos.f64 re) im)))))
1
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (+.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 im))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2) (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 2) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2)) (-.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (cos.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (cos.f64 re)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(fma.f64 (cos.f64 re) 1/2 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 im) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1/2 (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) -1)
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) -1)
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
Outputs
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/2)) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 (*.f64 re re) -1/2) 1))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2))))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) 1/2))))))
(+.f64 (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/2))) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 1/2 (+.f64 (*.f64 1/2 (exp.f64 im)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 4))) (*.f64 -1/2 (*.f64 (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (pow.f64 re 2)))))))
(+.f64 1/2 (fma.f64 1/2 (exp.f64 im) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (exp.f64 im) 1/2)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (exp.f64 im) 1/2)))))))
(+.f64 (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (exp.f64 im) 1/2)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (exp.f64 im) 1/2)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (*.f64 (*.f64 re re) -1/2)))) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 (*.f64 re re) -1/2) 1)) (*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (fma.f64 1/2 im 1) (cos.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im))))
(fma.f64 1/4 (*.f64 (cos.f64 re) (*.f64 im im)) (+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im (cos.f64 re)))))
(fma.f64 1/4 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
(+.f64 (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (cos.f64 re) im)))))
(fma.f64 1/4 (*.f64 (cos.f64 re) (*.f64 im im)) (+.f64 (cos.f64 re) (fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3)) (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(+.f64 (fma.f64 1/4 (*.f64 im (*.f64 im (cos.f64 re))) (fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))) (*.f64 (cos.f64 re) (*.f64 1/12 (pow.f64 im 3))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 im 3)) 1) (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im (+.f64 1/2 (*.f64 1/4 im)))))
1
(+.f64 1 (*.f64 1/2 im))
(fma.f64 1/2 im 1)
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 1/4 (*.f64 im im) (*.f64 1/2 im)))
(+.f64 (fma.f64 1/2 im 1) (*.f64 im (*.f64 im 1/4)))
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 1 (fma.f64 1/4 (*.f64 im im) (fma.f64 1/2 im (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 (fma.f64 1/2 im 1) (*.f64 (*.f64 im im) (+.f64 1/4 (*.f64 im 1/12))))
1
(+.f64 1 (*.f64 1/2 im))
(fma.f64 1/2 im 1)
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 1/4 (*.f64 im im) (*.f64 1/2 im)))
(+.f64 (fma.f64 1/2 im 1) (*.f64 im (*.f64 im 1/4)))
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))
(+.f64 1 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/2 im) (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 1 (fma.f64 1/4 (*.f64 im im) (fma.f64 1/2 im (*.f64 1/12 (pow.f64 im 3)))))
(+.f64 (fma.f64 1/2 im 1) (*.f64 (*.f64 im im) (+.f64 1/4 (*.f64 im 1/12))))
(+.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2) (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 1/8) (pow.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) 3)) (+.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (+.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 2) (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (exp.f64 im)))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (+.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (*.f64 (exp.f64 im) (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (-.f64 (exp.f64 im) 1)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 2) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2)) (-.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (pow.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re)) 2)) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 1/2 (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))) 2)) (*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 1/2)))
(/.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 2) (-.f64 1 (pow.f64 (exp.f64 im) 2))) (*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 1/2)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)) (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2)) (cos.f64 re))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2)) (cos.f64 re))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (cos.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)) (cos.f64 re))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (cos.f64 re)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)) (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2)) (cos.f64 re))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2)) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 2) 1/2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (exp.f64 im) 1/2)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))) 1) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 1/3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2)))) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (cos.f64 re) 1/2 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (exp.f64 im) (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (exp.f64 im) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) (sqrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (exp.f64 im)) 1/2 (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 (*.f64 1/2 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 (exp.f64 im) 1/4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (+.f64 1/4 (*.f64 (exp.f64 im) -1/4))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) -1)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) -1)
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1) 1))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1/3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(-.f64 (/.f64 1/4 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(*.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) 1/2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(*.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(*.f64 (+.f64 (exp.f64 im) 1) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 1 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 1/4 (exp.f64 im)))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (-.f64 1/4 (*.f64 (exp.f64 im) 1/4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (+.f64 1/4 (*.f64 (exp.f64 im) -1/4))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(/.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) (neg.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im)))))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 1)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 3)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4) (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8)) -1)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4)))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 3) 1/8 1/8) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) -1/2) 1/4))
(pow.f64 (/.f64 (+.f64 1/2 (*.f64 -1/2 (exp.f64 im))) (-.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4))) -1)
(/.f64 (-.f64 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 1/2 (*.f64 (exp.f64 im) -1/2)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (fma.f64 (exp.f64 im) -1/2 1/2))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) -1/4) (fma.f64 1/2 (exp.f64 im) -1/2))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2))))
(fma.f64 1/2 (exp.f64 im) 1/2)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) 1/2) 3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2)) 1) 1))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 1/3))
(fma.f64 1/2 (exp.f64 im) 1/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) 1/2))) 2))
(fma.f64 1/2 (exp.f64 im) 1/2)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) 1/2)))
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (exp.f64 im) 1/2 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) 1/2)
(fma.f64 1/2 (exp.f64 im) 1/2)

eval139.0ms (2.3%)

Compiler

Compiled 3397 to 2137 computations (37.1% saved)

prune33.0ms (0.6%)

Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New2183221
Fresh011
Picked145
Done022
Total21910229
Accurracy
100.0%
Counts
229 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.8%
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))
32.4%
(+.f64 1 (*.f64 1/2 im))
68.1%
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
79.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
54.0%
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 im)))
99.3%
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
8.7%
(*.f64 (cos.f64 re) 512)
52.1%
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
53.4%
(cos.f64 re)
31.7%
1
Compiler

Compiled 81 to 67 computations (17.3% saved)

localize101.0ms (1.7%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 64 to 46 computations (28.1% saved)

series5.0ms (0.1%)

Counts
2 → 28
Calls

9 calls:

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

rewrite86.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1878×prod-diff
1452×log-prod
1190×fma-def
540×expm1-udef
538×log1p-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01542
131834
2411534
Stop Event
node limit
Counts
2 → 138
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 im)))
(*.f64 im (+.f64 1/2 (*.f64 1/4 im)))
Outputs
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (*.f64 (cos.f64 re) (*.f64 1/2 im))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/4)))) (-.f64 1 (*.f64 1/2 im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (cos.f64 re)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 im (*.f64 im 1/4))) (cos.f64 re)) (-.f64 1 (*.f64 1/2 im)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 im 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 im 1) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(fma.f64 im (*.f64 1/2 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) (cos.f64 re) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) 1/2) im (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) im) 1/2 (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (cos.f64 re))
(+.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))
(+.f64 (*.f64 1/2 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(+.f64 0 (*.f64 im (fma.f64 im 1/4 1/2)))
(+.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2)))) 1)
(/.f64 (fma.f64 (pow.f64 im 3) 1/8 (pow.f64 (*.f64 im (*.f64 im 1/4)) 3)) (fma.f64 im (*.f64 im 1/4) (-.f64 (*.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4))) (*.f64 (pow.f64 im 3) 1/8))))
(/.f64 (-.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))) (-.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4))))
(/.f64 (*.f64 im (fma.f64 1/64 (pow.f64 im 3) 1/8)) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4))
(/.f64 (*.f64 im (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2))) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 (*.f64 (fma.f64 1/64 (pow.f64 im 3) 1/8) im) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2)) im) (+.f64 1/2 (*.f64 -1/4 im)))
(pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 im))) (exp.f64 (*.f64 im (*.f64 im 1/4)))))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/4))) (pow.f64 (exp.f64 im) 1/2)))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/4))) (+.f64 1 (expm1.f64 (*.f64 1/2 im)))))
(cbrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (fma.f64 im 1/4 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/4 1/2) 3) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1 (*.f64 1/2 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 (*.f64 im (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 im 1/2 (*.f64 im (*.f64 im 1/4)))
(fma.f64 im 1/2 (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 im (*.f64 im 1/4) (*.f64 1/2 im))
(fma.f64 im (*.f64 1/2 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (*.f64 1/2 im) 1 (*.f64 im (*.f64 im 1/4)))
(fma.f64 (*.f64 1/2 im) 1 (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (*.f64 1/2 im) (*.f64 1/2 im) (*.f64 1/2 im))
(fma.f64 1/4 (*.f64 im im) (*.f64 1/2 im))
(fma.f64 (*.f64 im 1/4) im (*.f64 1/2 im))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) 1/2) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) 1/2) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/4)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/4)) im) (*.f64 1/2 im))
(fma.f64 (*.f64 im im) 1/4 (*.f64 1/2 im))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 1/2 im)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (sqrt.f64 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (sqrt.f64 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (*.f64 (sqrt.f64 (*.f64 im 1/4)) im) (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 1/2 im))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 (*.f64 im 1/4)) 2)) (cbrt.f64 (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 im 1/4))) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) 1/2) im (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) im) 1/2 (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (*.f64 (*.f64 im 1/4) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 im 1/4) (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/2 im))

simplify74.0ms (1.2%)

Algorithm
egg-herbie
Rules
832×unswap-sqr
806×distribute-lft-in
738×distribute-rgt-in
582×cancel-sign-sub-inv
466×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03394606
18503852
224833702
Stop Event
node limit
Counts
166 → 200
Calls
Call 1
Inputs
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 im)))) (*.f64 1/2 im)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 im)))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 im)))) (*.f64 1/2 im))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 im)))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 1/2 im) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 im))))))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(*.f64 1/2 (*.f64 (cos.f64 re) im))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(*.f64 1/2 (*.f64 (cos.f64 re) im))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(*.f64 1/2 im)
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(*.f64 1/4 (pow.f64 im 2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(*.f64 1/4 (pow.f64 im 2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (*.f64 (cos.f64 re) (*.f64 1/2 im))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/4)))) (-.f64 1 (*.f64 1/2 im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (cos.f64 re)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 im (*.f64 im 1/4))) (cos.f64 re)) (-.f64 1 (*.f64 1/2 im)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 im 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 im 1) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(fma.f64 im (*.f64 1/2 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) (cos.f64 re) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) 1/2) im (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) im) 1/2 (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (cos.f64 re))
(+.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))
(+.f64 (*.f64 1/2 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(+.f64 0 (*.f64 im (fma.f64 im 1/4 1/2)))
(+.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2)))) 1)
(/.f64 (fma.f64 (pow.f64 im 3) 1/8 (pow.f64 (*.f64 im (*.f64 im 1/4)) 3)) (fma.f64 im (*.f64 im 1/4) (-.f64 (*.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4))) (*.f64 (pow.f64 im 3) 1/8))))
(/.f64 (-.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))) (-.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4))))
(/.f64 (*.f64 im (fma.f64 1/64 (pow.f64 im 3) 1/8)) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4))
(/.f64 (*.f64 im (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2))) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 (*.f64 (fma.f64 1/64 (pow.f64 im 3) 1/8) im) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2)) im) (+.f64 1/2 (*.f64 -1/4 im)))
(pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 im))) (exp.f64 (*.f64 im (*.f64 im 1/4)))))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/4))) (pow.f64 (exp.f64 im) 1/2)))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/4))) (+.f64 1 (expm1.f64 (*.f64 1/2 im)))))
(cbrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (fma.f64 im 1/4 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/4 1/2) 3) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1 (*.f64 1/2 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 (*.f64 im (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 im 1/2 (*.f64 im (*.f64 im 1/4)))
(fma.f64 im 1/2 (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 im (*.f64 im 1/4) (*.f64 1/2 im))
(fma.f64 im (*.f64 1/2 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (*.f64 1/2 im) 1 (*.f64 im (*.f64 im 1/4)))
(fma.f64 (*.f64 1/2 im) 1 (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (*.f64 1/2 im) (*.f64 1/2 im) (*.f64 1/2 im))
(fma.f64 1/4 (*.f64 im im) (*.f64 1/2 im))
(fma.f64 (*.f64 im 1/4) im (*.f64 1/2 im))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) 1/2) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) 1/2) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/4)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/4)) im) (*.f64 1/2 im))
(fma.f64 (*.f64 im im) 1/4 (*.f64 1/2 im))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 1/2 im)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (sqrt.f64 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (sqrt.f64 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (*.f64 (sqrt.f64 (*.f64 im 1/4)) im) (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 1/2 im))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 (*.f64 im 1/4)) 2)) (cbrt.f64 (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 im 1/4))) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) 1/2) im (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) im) 1/2 (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (*.f64 (*.f64 im 1/4) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/2 im))
(fma.f64 (*.f64 (*.f64 im 1/4) (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/2 im))
Outputs
(+.f64 1 (*.f64 1/2 im))
(fma.f64 1/2 im 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 im)))) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 im 1)) (*.f64 1/2 im)))
(+.f64 1 (fma.f64 1/2 im (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 im 1)))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 im 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 im)))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 im)))) (*.f64 1/2 im))))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 im 1)) (+.f64 1 (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 im 1)) (*.f64 1/2 im))))
(+.f64 (fma.f64 1/2 im (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 im 1)))) (fma.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 1/2 im 1) 1))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 im 1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 im 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 im)))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 im)))) (+.f64 (*.f64 1/2 im) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 im))))))))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 im 1)) (+.f64 1 (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 im 1)) (fma.f64 1/2 im (*.f64 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 1/2 im 1))))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 im 1)) (fma.f64 1/2 im (*.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 im 1))))) (fma.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 1/2 im 1) 1))
(fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 im 1)) (+.f64 (fma.f64 1/2 im 1) (*.f64 (fma.f64 1/2 im 1) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -1/720 (pow.f64 re 6))))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 (cos.f64 re) im))
(*.f64 1/2 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 1/2 im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(*.f64 1/2 (*.f64 (cos.f64 re) im))
(*.f64 1/2 (*.f64 im (cos.f64 re)))
(*.f64 (*.f64 1/2 im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(*.f64 1/2 im)
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(*.f64 1/4 (pow.f64 im 2))
(*.f64 1/4 (*.f64 im im))
(*.f64 im (*.f64 im 1/4))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(*.f64 1/4 (pow.f64 im 2))
(*.f64 1/4 (*.f64 im im))
(*.f64 im (*.f64 im 1/4))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))) 1)
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (*.f64 (cos.f64 re) (*.f64 1/2 im))) (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 im (cos.f64 re))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 im (cos.f64 re))) (-.f64 (*.f64 1/2 (*.f64 im (cos.f64 re))) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 im (cos.f64 re)) 3))) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (pow.f64 (cos.f64 re) 3)) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (fma.f64 im 1/4 -1/2))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 im) (*.f64 1/2 im)))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im (cos.f64 re)))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (*.f64 im 1/4) (*.f64 im (cos.f64 re))))) (+.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 im (cos.f64 re)))))
(/.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 im -1/2))) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/4))))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1) (fma.f64 (pow.f64 im 3) 1/8 1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1)) (fma.f64 (pow.f64 im 3) 1/8 1))
(*.f64 (/.f64 (cos.f64 re) (+.f64 1 (*.f64 im (fma.f64 im 1/4 -1/2)))) (fma.f64 (pow.f64 im 3) 1/8 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/4)))) (-.f64 1 (*.f64 1/2 im)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1 (*.f64 -1/2 im)) (-.f64 1 (*.f64 1/4 (*.f64 im im)))))
(*.f64 (/.f64 (cos.f64 re) (+.f64 1 (*.f64 im -1/2))) (+.f64 1 (*.f64 -1/4 (*.f64 im im))))
(*.f64 (/.f64 (cos.f64 re) (+.f64 1 (*.f64 im -1/2))) (+.f64 1 (*.f64 im (*.f64 im -1/4))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1) (cos.f64 re)) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1) (fma.f64 (pow.f64 im 3) 1/8 1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (*.f64 1/2 im) (fma.f64 1/2 im -1) 1)) (fma.f64 (pow.f64 im 3) 1/8 1))
(*.f64 (/.f64 (cos.f64 re) (+.f64 1 (*.f64 im (fma.f64 im 1/4 -1/2)))) (fma.f64 (pow.f64 im 3) 1/8 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 im (*.f64 im 1/4))) (cos.f64 re)) (-.f64 1 (*.f64 1/2 im)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1 (*.f64 -1/2 im)) (-.f64 1 (*.f64 1/4 (*.f64 im im)))))
(*.f64 (/.f64 (cos.f64 re) (+.f64 1 (*.f64 im -1/2))) (+.f64 1 (*.f64 -1/4 (*.f64 im im))))
(*.f64 (/.f64 (cos.f64 re) (+.f64 1 (*.f64 im -1/2))) (+.f64 1 (*.f64 im (*.f64 im -1/4))))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 1)
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 3)
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 3) 1/3)
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 2)
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 2))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 im 1)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (exp.f64 (cos.f64 re))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1)) 3))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 im 1) 3)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 im 1) 3) (pow.f64 (cos.f64 re) 3)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 1/2 im 1))))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 im (*.f64 1/2 (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 1/2 im) (cos.f64 re) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)) 1))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (cos.f64 re))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (*.f64 1/2 im) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (cos.f64 re) 1/2) im (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (cos.f64 re) im) 1/2 (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1))
(+.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 1/2 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 0 (*.f64 im (fma.f64 im 1/4 1/2)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2)))) 1)
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(/.f64 (fma.f64 (pow.f64 im 3) 1/8 (pow.f64 (*.f64 im (*.f64 im 1/4)) 3)) (fma.f64 im (*.f64 im 1/4) (-.f64 (*.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4))) (*.f64 (pow.f64 im 3) 1/8))))
(/.f64 (fma.f64 (pow.f64 im 3) 1/8 (pow.f64 (*.f64 1/4 (*.f64 im im)) 3)) (fma.f64 im (*.f64 im 1/4) (-.f64 (*.f64 (*.f64 im im) (pow.f64 (*.f64 im 1/4) 2)) (*.f64 (pow.f64 im 3) 1/8))))
(/.f64 (*.f64 (pow.f64 im 3) (fma.f64 1/64 (pow.f64 im 3) 1/8)) (fma.f64 im (*.f64 im 1/4) (fma.f64 im (*.f64 im (*.f64 (*.f64 im im) 1/16)) (*.f64 (pow.f64 im 3) -1/8))))
(/.f64 (pow.f64 im 3) (/.f64 (fma.f64 im (*.f64 im 1/4) (fma.f64 1/16 (pow.f64 im 4) (*.f64 (pow.f64 im 3) -1/8))) (fma.f64 1/64 (pow.f64 im 3) 1/8)))
(/.f64 (-.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 (*.f64 im (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))) (-.f64 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 im im)) (*.f64 (*.f64 im im) (pow.f64 (*.f64 im 1/4) 2))) (-.f64 (*.f64 1/2 im) (*.f64 1/4 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4))))
(/.f64 (fma.f64 im (*.f64 im 1/4) (*.f64 (pow.f64 im 4) -1/16)) (*.f64 im (fma.f64 im -1/4 1/2)))
(/.f64 (*.f64 im (fma.f64 1/64 (pow.f64 im 3) 1/8)) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4))
(/.f64 im (/.f64 (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4) (fma.f64 1/64 (pow.f64 im 3) 1/8)))
(*.f64 (/.f64 (fma.f64 1/64 (pow.f64 im 3) 1/8) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4)) im)
(/.f64 (*.f64 im (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2))) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 im (/.f64 (+.f64 1/2 (*.f64 im -1/4)) (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2))))
(/.f64 (*.f64 im (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (fma.f64 im -1/4 1/2))
(*.f64 (/.f64 im (fma.f64 im -1/4 1/2)) (+.f64 1/4 (*.f64 (*.f64 im im) -1/16)))
(/.f64 (*.f64 (fma.f64 1/64 (pow.f64 im 3) 1/8) im) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4))
(/.f64 im (/.f64 (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4) (fma.f64 1/64 (pow.f64 im 3) 1/8)))
(*.f64 (/.f64 (fma.f64 1/64 (pow.f64 im 3) 1/8) (fma.f64 (*.f64 im 1/4) (fma.f64 im 1/4 -1/2) 1/4)) im)
(/.f64 (*.f64 (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2)) im) (+.f64 1/2 (*.f64 -1/4 im)))
(/.f64 im (/.f64 (+.f64 1/2 (*.f64 im -1/4)) (-.f64 1/4 (pow.f64 (*.f64 im 1/4) 2))))
(/.f64 (*.f64 im (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (fma.f64 im -1/4 1/2))
(*.f64 (/.f64 im (fma.f64 im -1/4 1/2)) (+.f64 1/4 (*.f64 (*.f64 im im) -1/16)))
(pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 1)
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(pow.f64 (cbrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 3)
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(pow.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3) 1/3)
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(pow.f64 (sqrt.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 2)
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(sqrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 2))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im 1/4 1/2)) im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2)))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 im))) (exp.f64 (*.f64 im (*.f64 im 1/4)))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/4))) (pow.f64 (exp.f64 im) 1/2)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/4))) (+.f64 1 (expm1.f64 (*.f64 1/2 im)))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(cbrt.f64 (pow.f64 (*.f64 im (fma.f64 im 1/4 1/2)) 3))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (fma.f64 im 1/4 1/2) 3)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/4 1/2) 3) (pow.f64 im 3)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(expm1.f64 (log1p.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(exp.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (fma.f64 im 1/4 1/2))) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(log1p.f64 (expm1.f64 (*.f64 im (fma.f64 im 1/4 1/2))))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1 (*.f64 1/2 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1 (*.f64 1/2 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1 (*.f64 im (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1/2 im (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1/2 im (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1/2 (*.f64 im (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 im 1/2 (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 im 1/2 (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 im (*.f64 im 1/4) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 im (*.f64 1/2 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 1/2 im) 1 (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 1/2 im) 1 (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 1/2 im) (*.f64 1/2 im) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 1/4 (*.f64 im im) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 im 1/4) im (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (cbrt.f64 (*.f64 1/2 im)) (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 (cbrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 1/2 im))) (*.f64 1/2 im))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 1/2 (*.f64 im (cbrt.f64 (*.f64 1/2 im)))) (*.f64 1/2 im))
(*.f64 (*.f64 1/2 im) (+.f64 1 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)))))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) 1/2) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) 1/2) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/4)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/4)) im) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 im im) 1/4 (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 1/2 im)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (sqrt.f64 (*.f64 1/2 im)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 (sqrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (sqrt.f64 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (sqrt.f64 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/4 (*.f64 im im)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (*.f64 im 1/4)) (*.f64 im (*.f64 im 1/4)))
(fma.f64 (sqrt.f64 (*.f64 im 1/4)) (*.f64 (sqrt.f64 (*.f64 im 1/4)) im) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 (*.f64 1/2 im))) (sqrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 (*.f64 im 1/4)) 2)) (cbrt.f64 (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 im 1/4))) (sqrt.f64 (*.f64 im 1/4)) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (*.f64 1/2 im) 1/2) im (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (*.f64 1/2 im) im) 1/2 (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 im (*.f64 im 1/4)))) (cbrt.f64 (*.f64 1/2 im)) (*.f64 1/2 im))
(fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 1/2 im))) (*.f64 1/2 im))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (*.f64 1/2 (*.f64 im (cbrt.f64 (*.f64 1/2 im)))) (*.f64 1/2 im))
(*.f64 (*.f64 1/2 im) (+.f64 1 (*.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (cbrt.f64 (*.f64 1/2 im)))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 im (*.f64 im 1/4)))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 (*.f64 im (*.f64 im 1/4)) 1))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (*.f64 im 1/4) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))
(fma.f64 (*.f64 (*.f64 im 1/4) (sqrt.f64 im)) (sqrt.f64 im) (*.f64 1/2 im))
(fma.f64 1/2 im (*.f64 1/4 (*.f64 im im)))
(*.f64 im (fma.f64 im 1/4 1/2))

eval66.0ms (1.1%)

Compiler

Compiled 3143 to 2105 computations (33% saved)

prune35.0ms (0.6%)

Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New1964200
Fresh011
Picked033
Done066
Total19614210
Accurracy
100.0%
Counts
210 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
38.0%
(+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4)))))
51.8%
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))
52.1%
(+.f64 1 (*.f64 im (*.f64 im 1/4)))
32.4%
(+.f64 1 (*.f64 1/2 im))
68.1%
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
36.9%
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 im 1))
79.3%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
5.5%
(*.f64 (*.f64 1/2 im) (cos.f64 re))
54.0%
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 im)))
99.3%
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
8.7%
(*.f64 (cos.f64 re) 512)
52.1%
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
53.4%
(cos.f64 re)
31.7%
1
Compiler

Compiled 305 to 214 computations (29.8% saved)

regimes50.0ms (0.8%)

Counts
21 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 2)
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (*.f64 im (*.f64 im 1/4)))
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))
(+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4)))))
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 (cos.f64 re) 512)
(*.f64 (*.f64 1/2 im) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 im 1))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 1/2))
(*.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))))
Outputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Calls

6 calls:

10.0ms
re
10.0ms
im
9.0ms
(cos.f64 re)
9.0ms
(*.f64 1/2 (cos.f64 re))
5.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
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 207 to 135 computations (34.8% saved)

regimes51.0ms (0.9%)

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

6 calls:

10.0ms
re
9.0ms
im
8.0ms
(*.f64 1/2 (cos.f64 re))
8.0ms
(cos.f64 re)
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
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 196 to 130 computations (33.7% saved)

regimes39.0ms (0.6%)

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

4 calls:

9.0ms
re
9.0ms
im
8.0ms
(*.f64 1/2 (cos.f64 re))
7.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
99.3%1re
99.3%1im
99.3%1(*.f64 1/2 (cos.f64 re))
99.3%1(cos.f64 re)
Compiler

Compiled 164 to 110 computations (32.9% saved)

regimes66.0ms (1.1%)

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

4 calls:

22.0ms
im
15.0ms
re
13.0ms
(cos.f64 re)
13.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
89.3%2re
95.3%3im
89.8%2(*.f64 1/2 (cos.f64 re))
89.8%2(cos.f64 re)
Compiler

Compiled 131 to 91 computations (30.5% saved)

regimes25.0ms (0.4%)

Counts
15 → 3
Calls
Call 1
Inputs
1
(*.f64 1/2 2)
(+.f64 1 (*.f64 1/2 im))
(+.f64 1 (*.f64 im (*.f64 im 1/4)))
(+.f64 1 (*.f64 im (+.f64 1/2 (*.f64 1/4 im))))
(+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4)))))
(cos.f64 re)
(*.f64 2 (cos.f64 re))
(*.f64 (cos.f64 re) 512)
(*.f64 (*.f64 1/2 im) (cos.f64 re))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (fma.f64 1/2 im 1))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 1/2 (*.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

21.0ms
im
Results
AccuracySegmentsBranch
95.3%3im
Compiler

Compiled 110 to 76 computations (30.9% saved)

regimes17.0ms (0.3%)

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

1 calls:

14.0ms
im
Results
AccuracySegmentsBranch
89.8%2im
Compiler

Compiled 88 to 62 computations (29.5% saved)

regimes43.0ms (0.7%)

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

3 calls:

17.0ms
im
13.0ms
(cos.f64 re)
11.0ms
re
Results
AccuracySegmentsBranch
66.4%2re
68.3%2(cos.f64 re)
80.4%3im
Compiler

Compiled 74 to 51 computations (31.1% saved)

regimes51.0ms (0.8%)

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

2 calls:

45.0ms
im
4.0ms
re
Results
AccuracySegmentsBranch
52.1%1re
58.7%2im
Compiler

Compiled 54 to 40 computations (25.9% saved)

regimes6.0ms (0.1%)

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

1 calls:

5.0ms
im
Results
AccuracySegmentsBranch
52.1%1im
Compiler

Compiled 30 to 24 computations (20% saved)

regimes8.0ms (0.1%)

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

2 calls:

3.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
32.4%1re
32.4%1im
Compiler

Compiled 17 to 14 computations (17.6% saved)

regimes7.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

4.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
31.7%1im
31.7%1re
Compiler

Compiled 12 to 10 computations (16.7% saved)

bsearch102.0ms (1.7%)

Algorithm
binary-search
Stop Event
predicate-same
narrow-enough
Steps
TimeLeftRight
25.0ms
2.1244465888911838e+153
1.240738895839458e+156
77.0ms
13816.878860934574
164349928.2957081
Results
62.0ms110×body256infinite
31.0ms41×body1024infinite
6.0ms25×body512infinite
Compiler

Compiled 282 to 223 computations (20.9% saved)

bsearch98.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
2.1244465888911838e+153
1.240738895839458e+156
74.0ms
13816.878860934574
164349928.2957081
Results
22.0ms62×body1024infinite
19.0ms151×body256infinite
11.0ms43×body512infinite
Compiler

Compiled 370 to 302 computations (18.4% saved)

bsearch32.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
31.0ms
13816.878860934574
164349928.2957081
Results
14.0ms31×body1024infinite
11.0ms80×body256infinite
4.0ms17×body512infinite
Compiler

Compiled 130 to 110 computations (15.4% saved)

bsearch95.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
2.1244465888911838e+153
1.240738895839458e+156
70.0ms
13816.878860934574
164349928.2957081
Results
59.0ms53×body1024infinite
22.0ms161×body256infinite
10.0ms42×body512infinite
Compiler

Compiled 522 to 382 computations (26.8% saved)

bsearch39.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
39.0ms
2.1244465888911838e+153
1.240738895839458e+156
Results
25.0ms38×body1024infinite
9.0ms74×body256infinite
3.0ms16×body512infinite
Compiler

Compiled 290 to 214 computations (26.2% saved)

simplify67.0ms (1.1%)

Algorithm
egg-herbie
Rules
38×*-commutative
28×+-commutative
16×sub-neg
12×neg-mul-1
12×neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061501
1102501
2124501
3135501
4142501
5144501
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im 14000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 14000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 14000) (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im 160000000) (cos.f64 re) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4))))) (+.f64 1 (*.f64 im (*.f64 im 1/4)))))
(if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4))))) (+.f64 1 (*.f64 im (*.f64 im 1/4))))
(+.f64 1 (*.f64 im (*.f64 im 1/4)))
(+.f64 1 (*.f64 1/2 im))
1
Outputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (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) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im 14000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 14000) (not (<=.f64 im 20000000000000000738950913761164530819618359659685376903845557104301087318694439194433026219410816654893023507374465334628674006699146808342092384896548864))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 14000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 14000) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))) (*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (*.f64 im im))) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im 14000) (cos.f64 re) (+.f64 1/2 (*.f64 1/2 (exp.f64 im))))
(if (<=.f64 im 160000000) (cos.f64 re) (if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4))))) (+.f64 1 (*.f64 im (*.f64 im 1/4)))))
(if (<=.f64 im 27000000000000000551014021370351243052980237974185272913314250084518251643289914535899806779332918392493800176419193521216216634153908468898165478989496320) (+.f64 1 (/.f64 (*.f64 (*.f64 im im) (-.f64 1/4 (*.f64 (*.f64 im im) 1/16))) (*.f64 im (-.f64 1/2 (*.f64 im 1/4))))) (+.f64 1 (*.f64 im (*.f64 im 1/4))))
(+.f64 1 (*.f64 im (*.f64 im 1/4)))
(+.f64 1 (*.f64 1/2 im))
1
Compiler

Compiled 200 to 150 computations (25% saved)

soundness715.0ms (11.9%)

Rules
1878×prod-diff
1606×fma-def
1464×fma-def
1452×log-prod
1192×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01335
13035
27335
313233
419433
534833
679033
7133733
8387933
9440133
10536833
11595233
12698433
02904543
17154335
223034165
03394606
18503852
224833702
01542
131834
2411534
03394606
18503852
224833702
01533310
14673142
214082888
364332888
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 810 to 525 computations (35.2% saved)

end238.0ms (4%)

Remove

(abs re)

Compiler

Compiled 464 to 300 computations (35.3% saved)

Profiling

Loading profile data...