math.cos on complex, real part

Time bar (total: 6.4s)

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)

sample1.8s (27.4%)

Results
851.0ms4106×body256infinite
847.0ms4149×body256valid
0.0msbody512valid
Bogosity

preprocess235.0ms (3.7%)

Algorithm
egg-herbie
Rules
1164×times-frac
864×div-sub
828×fma-def
812×fma-neg
784×distribute-neg-frac
Problems
256×No Errors
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2280308
3690298
41413294
54012294
66076294
77976294
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 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))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(neg.f64 (*.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 (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 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (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 1/2 (*.f64 (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 1/2 (*.f64 (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))))
(neg.f64 (*.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)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(neg.f64 (*.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)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.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 49 to 24 computations (51% saved)

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune6.0ms (0.1%)

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))))
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 52 to 38 computations (26.9% saved)

localize97.0ms (1.5%)

Localize:

Found 7 expressions with local error:

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

Compiled 66 to 26 computations (60.6% saved)

series14.0ms (0.2%)

Counts
7 → 84
Calls

27 calls:

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

rewrite179.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
268×associate-*r*
166×associate-*l*
120×add-exp-log
120×add-log-exp
120×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020142
1270142
24351142
Stop Event
unsound
Counts
7 → 102
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(cos.f64 re)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 -1/2 (*.f64 -1/2 (cos.f64 (*.f64 -1/2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -1)
(*.f64 -1 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -1/2)
(pow.f64 (cos.f64 re) -1/2)
(pow.f64 (cos.f64 re) -1)
(pow.f64 (cos.f64 re) 3)
(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 -1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
-1/2
-1/4
0
1/4
1/2
2
(+.f64 -1/2 (*.f64 -1/2 (cos.f64 (*.f64 -1/2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -1)
(*.f64 -1 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -1/2)
(pow.f64 (cos.f64 re) -1/2)
(pow.f64 (cos.f64 re) -1)
(pow.f64 (cos.f64 re) 3)
(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 -1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))

simplify186.0ms (2.9%)

Algorithm
egg-herbie
Rules
1816×fma-def
1268×associate-*r*
1094×associate-*l*
958×associate-+r+
910×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01884902
15364513
215544307
367844307
Stop Event
node limit
Counts
186 → 144
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.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/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 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.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 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.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 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.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)))))
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 -1/2 (*.f64 -1/2 (cos.f64 (*.f64 -1/2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -1)
(*.f64 -1 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -1/2)
(pow.f64 (cos.f64 re) -1/2)
(pow.f64 (cos.f64 re) -1)
(pow.f64 (cos.f64 re) 3)
(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 -1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
-1/2
-1/4
0
1/4
1/2
2
(+.f64 -1/2 (*.f64 -1/2 (cos.f64 (*.f64 -1/2 re))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -1)
(*.f64 -1 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -1/2)
(pow.f64 (cos.f64 re) -1/2)
(pow.f64 (cos.f64 re) -1)
(pow.f64 (cos.f64 re) 3)
(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 -1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 1/4 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 -1/2 im (fma.f64 1/4 (pow.f64 im 2) 1/2))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 1/2 (fma.f64 -1/2 im (fma.f64 -1/12 (pow.f64 im 3) (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 im 1/2) (fma.f64 1/4 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 im 3))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 im -1/12))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 1/720 (pow.f64 im 6) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/720 (pow.f64 im 6) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (pow.f64 re 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (*.f64 1/24 (pow.f64 re 4)))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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))) (pow.f64 re 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 -1/2 (pow.f64 re 2) 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 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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))) (pow.f64 re 2)) (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))) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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))) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (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 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6)))) (*.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 2) -1/4 1/2)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (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 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (pow.f64 re 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (*.f64 1/24 (pow.f64 re 4)))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))))
(*.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/4 (*.f64 (pow.f64 re 2) (+.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 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (fma.f64 -1/2 (pow.f64 re 2) 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 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.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 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (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))) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 1)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.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/48 (*.f64 (pow.f64 re 4) (+.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 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (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 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6)))) (*.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 2) -1/4 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 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (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))
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 -1/2 (*.f64 -1/2 (cos.f64 (*.f64 -1/2 re))))
(fma.f64 -1/2 (cos.f64 (*.f64 -1/2 re)) -1/2)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(+.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -1)
(neg.f64 (cos.f64 re))
(*.f64 -1 (cos.f64 re))
(neg.f64 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -1/2)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -1/2)
(/.f64 (+.f64 1 (cos.f64 (*.f64 2 re))) -1/2)
(pow.f64 (cos.f64 re) -1/2)
(pow.f64 (cos.f64 re) -1)
(/.f64 1 (cos.f64 re))
(pow.f64 (cos.f64 re) 3)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(/.f64 1 (cos.f64 re))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(neg.f64 (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(cos.f64 re)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 -1/2 (/.f64 -1 (cos.f64 re)))
(*.f64 1/2 (cos.f64 re))
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
1
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
1
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(*.f64 -1/8 (pow.f64 (cos.f64 re) 3))
(*.f64 (pow.f64 (cos.f64 re) 3) -1/8)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(*.f64 1/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 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(*.f64 (*.f64 -1/2 (cos.f64 re)) (exp.f64 -1/2))
(*.f64 (cos.f64 re) (*.f64 -1/2 (exp.f64 -1/2)))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
0
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
0
-1/2
-1/4
0
1/4
1/2
2
(+.f64 -1/2 (*.f64 -1/2 (cos.f64 (*.f64 -1/2 re))))
(fma.f64 -1/2 (cos.f64 (*.f64 -1/2 re)) -1/2)
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) -1)
(+.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -1)
(neg.f64 (cos.f64 re))
(*.f64 -1 (cos.f64 re))
(neg.f64 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -1/2)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -1/2)
(/.f64 (+.f64 1 (cos.f64 (*.f64 2 re))) -1/2)
(pow.f64 (cos.f64 re) -1/2)
(pow.f64 (cos.f64 re) -1)
(/.f64 1 (cos.f64 re))
(pow.f64 (cos.f64 re) 3)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(/.f64 1 (cos.f64 re))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(neg.f64 (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(cos.f64 re)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 -1/2 (/.f64 -1 (cos.f64 re)))
(*.f64 1/2 (cos.f64 re))
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
1
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
1
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(*.f64 -1/8 (pow.f64 (cos.f64 re) 3))
(*.f64 (pow.f64 (cos.f64 re) 3) -1/8)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(*.f64 1/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 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(*.f64 (*.f64 -1/2 (cos.f64 re)) (exp.f64 -1/2))
(*.f64 (cos.f64 re) (*.f64 -1/2 (exp.f64 -1/2)))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
0
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
0

eval51.0ms (0.8%)

Compiler

Compiled 2717 to 1610 computations (40.7% saved)

prune40.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1727179
Fresh000
Picked112
Done000
Total1738181
Accuracy
100.0%
Counts
181 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.1%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
99.8%
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
51.8%
(cos.f64 re)
75.1%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
99.8%
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
51.8%
(cos.f64 re)
Compiler

Compiled 302 to 232 computations (23.2% saved)

localize264.0ms (4.1%)

Localize:

Found 9 expressions with local error:

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

Compiled 104 to 34 computations (67.3% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

15 calls:

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

rewrite52.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
196×associate-*r*
122×associate-*l*
104×log1p-expm1-u
104×expm1-log1p-u
103×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02142
124142
2354542
Stop Event
unsound
Counts
4 → 59
Calls
Call 1
Inputs
(log.f64 (exp.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -2)
(*.f64 -2 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.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)))
(-.f64 (exp.f64 (log1p.f64 (exp.f64 (cos.f64 re)))) -2)
(*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re)))
(*.f64 (exp.f64 (cos.f64 re)) -2)
(*.f64 -2 (exp.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (cos.f64 re)) (cos.f64 re))
(pow.f64 (exp.f64 (cos.f64 re)) -2)
(pow.f64 (exp.f64 (cos.f64 re)) 1/3)
(pow.f64 -2 (cos.f64 re))
(sqrt.f64 (exp.f64 (cos.f64 re)))
(fabs.f64 (exp.f64 (cos.f64 re)))
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(log.f64 (+.f64 -2 (expm1.f64 (exp.f64 (cos.f64 re)))))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
-2
-1
0
1/4
1/2
1
3/2
2
3
4
8
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(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)))

simplify106.0ms (1.7%)

Algorithm
egg-herbie
Rules
1528×associate-+r+
1252×associate-+l+
984×fma-def
908×distribute-lft-in
898×distribute-rgt-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01362262
13132146
28362018
332302014
464732014
Stop Event
node limit
Counts
107 → 117
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(exp.f64 1)
(+.f64 (exp.f64 1) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))))
(+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1)))))
(+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 re 6) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.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 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.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))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -2)
(*.f64 -2 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.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)))
(-.f64 (exp.f64 (log1p.f64 (exp.f64 (cos.f64 re)))) -2)
(*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re)))
(*.f64 (exp.f64 (cos.f64 re)) -2)
(*.f64 -2 (exp.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (cos.f64 re)) (cos.f64 re))
(pow.f64 (exp.f64 (cos.f64 re)) -2)
(pow.f64 (exp.f64 (cos.f64 re)) 1/3)
(pow.f64 -2 (cos.f64 re))
(sqrt.f64 (exp.f64 (cos.f64 re)))
(fabs.f64 (exp.f64 (cos.f64 re)))
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(log.f64 (+.f64 -2 (expm1.f64 (exp.f64 (cos.f64 re)))))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
-2
-1
0
1/4
1/2
1
3/2
2
3
4
8
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(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)))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (pow.f64 re 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 1)) (*.f64 -1/720 (pow.f64 re 6)))
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(cos.f64 re)
(exp.f64 1)
(E.f64)
(+.f64 (exp.f64 1) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))))
(+.f64 (E.f64) (*.f64 (*.f64 -1/2 (pow.f64 re 2)) (E.f64)))
(*.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (E.f64))
(+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1)))))
(+.f64 (E.f64) (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (E.f64)) (*.f64 (*.f64 1/6 (pow.f64 re 4)) (E.f64))))
(+.f64 (E.f64) (*.f64 (E.f64) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 4) 1/6))))
(fma.f64 (E.f64) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/6)) (E.f64))
(+.f64 (exp.f64 1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 re 6) (exp.f64 1))) (*.f64 1/6 (*.f64 (pow.f64 re 4) (exp.f64 1))))))
(+.f64 (E.f64) (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (E.f64)) (fma.f64 -31/720 (*.f64 (pow.f64 re 6) (E.f64)) (*.f64 (*.f64 1/6 (pow.f64 re 4)) (E.f64)))))
(+.f64 (*.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (E.f64)) (*.f64 (E.f64) (+.f64 (*.f64 (pow.f64 re 4) 1/6) (*.f64 (pow.f64 re 6) -31/720))))
(fma.f64 (E.f64) (fma.f64 (pow.f64 re 4) 1/6 (*.f64 (pow.f64 re 6) -31/720)) (*.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (E.f64)))
(*.f64 (E.f64) (+.f64 (fma.f64 -1/2 (pow.f64 re 2) 1) (fma.f64 (pow.f64 re 4) 1/6 (*.f64 (pow.f64 re 6) -31/720))))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)))
(+.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 2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) 1/2)
(fma.f64 (pow.f64 im 2) 1/2 1)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2))) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2))) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2))) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 1/2) (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440)) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 2) -1/4 1/2) (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) -2)
(+.f64 (cos.f64 re) 2)
(+.f64 2 (cos.f64 re))
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -2)
(*.f64 -2 (cos.f64 re))
(*.f64 (cos.f64 re) -2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -2)
(/.f64 (+.f64 1 (cos.f64 (*.f64 re 2))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.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)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(pow.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (exp.f64 (cos.f64 re)))) -2)
(+.f64 (exp.f64 (log1p.f64 (exp.f64 (cos.f64 re)))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (cos.f64 re)))
(exp.f64 (*.f64 2 (cos.f64 re)))
(pow.f64 (exp.f64 2) (cos.f64 re))
(pow.f64 (exp.f64 (cos.f64 re)) 2)
(*.f64 (exp.f64 (cos.f64 re)) -2)
(*.f64 -2 (exp.f64 (cos.f64 re)))
(*.f64 -2 (exp.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (cos.f64 re)) (cos.f64 re))
(pow.f64 (exp.f64 (cos.f64 re)) -2)
(pow.f64 (exp.f64 (cos.f64 re)) 1/3)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 -2 (cos.f64 re))
(sqrt.f64 (exp.f64 (cos.f64 re)))
(fabs.f64 (exp.f64 (cos.f64 re)))
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(exp.f64 (cos.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 (exp.f64 (cos.f64 re)))))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(exp.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
(exp.f64 (cos.f64 re))
-2
-1
0
1/4
1/2
1
3/2
2
3
4
8
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) -2)
(+.f64 (cos.f64 re) 2)
(+.f64 2 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -2)
(/.f64 (+.f64 1 (cos.f64 (*.f64 re 2))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(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)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(pow.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)

eval234.0ms (3.6%)

Compiler

Compiled 8788 to 5251 computations (40.2% saved)

prune104.0ms (1.6%)

Pruning

22 alts after pruning (17 fresh and 5 done)

PrunedKeptTotal
New67416690
Fresh112
Picked145
Done011
Total67622698
Accuracy
100.0%
Counts
698 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
33.5%
(/.f64 1 (cos.f64 re))
35.1%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
48.6%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
49.7%
(*.f64 (fma.f64 im im 2) 1/2)
56.8%
(*.f64 (*.f64 1/2 (/.f64 1 (cos.f64 re))) (fma.f64 im im 2))
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
26.7%
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
10.6%
(*.f64 2 (/.f64 1 (cos.f64 re)))
12.6%
(*.f64 2 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
8.5%
(*.f64 1/2 8)
31.9%
(*.f64 1/2 2)
10.0%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1/2)
8.3%
(*.f64 1/2 1/4)
3.0%
(*.f64 1/2 -1)
3.1%
(*.f64 1/2 -2)
51.6%
(log.f64 (exp.f64 (cos.f64 re)))
51.8%
(cos.f64 re)
33.5%
(/.f64 1 (cos.f64 re))
35.1%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
48.6%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
49.7%
(*.f64 (fma.f64 im im 2) 1/2)
56.8%
(*.f64 (*.f64 1/2 (/.f64 1 (cos.f64 re))) (fma.f64 im im 2))
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
26.7%
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
10.6%
(*.f64 2 (/.f64 1 (cos.f64 re)))
12.6%
(*.f64 2 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
8.5%
(*.f64 1/2 8)
31.9%
(*.f64 1/2 2)
10.0%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1/2)
8.3%
(*.f64 1/2 1/4)
3.0%
(*.f64 1/2 -1)
3.1%
(*.f64 1/2 -2)
51.6%
(log.f64 (exp.f64 (cos.f64 re)))
51.8%
(cos.f64 re)
Compiler

Compiled 608 to 520 computations (14.5% saved)

localize236.0ms (3.7%)

Localize:

Found 7 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (pow.f64 im 2) 1/2)
100.0%
(cos.f64 re)
99.9%
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
100.0%
(cos.f64 re)
99.8%
(/.f64 1 (cos.f64 re))
100.0%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
100.0%
(cos.f64 re)
Compiler

Compiled 71 to 45 computations (36.6% saved)

series15.0ms (0.2%)

Counts
4 → 64
Calls

18 calls:

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

rewrite116.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1046×log-prod
862×log1p-expm1-u
862×expm1-log1p-u
530×pow-prod-up
458×pow-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02188
122086
2250586
Stop Event
node limit
Counts
4 → 130
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
(/.f64 1 (cos.f64 re))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) 1/2)
Outputs
(+.f64 0 (*.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) 0))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2))
(log.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(exp.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))))
(exp.f64 (*.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 2))
(log1p.f64 (expm1.f64 (*.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) 0))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 0 (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(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) 0))
(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 0 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cos.f64 re) 0))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 0 (cos.f64 re)))
(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) 0))
(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 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(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) 0))
(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 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(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 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(+.f64 0 (/.f64 1 (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))) (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cos.f64 re)))) 1)
(*.f64 1 (/.f64 1 (cos.f64 re)))
(*.f64 (/.f64 1 (cos.f64 re)) 1)
(*.f64 (/.f64 1 (cos.f64 re)) (log.f64 (exp.f64 1)))
(*.f64 -1 (/.f64 1 (neg.f64 (cos.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (cos.f64 re) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) -2)) (/.f64 1 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cos.f64 re) -1/2) (pow.f64 (cos.f64 re) -1/2))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (/.f64 1 (cbrt.f64 (cos.f64 re))))
(pow.f64 (cos.f64 re) -1)
(pow.f64 (/.f64 1 (cos.f64 re)) 1)
(pow.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (cos.f64 re) -3) 1/3)
(pow.f64 (sqrt.f64 (cos.f64 re)) -2)
(pow.f64 (pow.f64 (cos.f64 re) -1/2) 2)
(pow.f64 (neg.f64 (neg.f64 (cos.f64 re))) -1)
(sqrt.f64 (pow.f64 (cos.f64 re) -2))
(log.f64 (exp.f64 (/.f64 1 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (cos.f64 re) -3))
(expm1.f64 (log1p.f64 (/.f64 1 (cos.f64 re))))
(exp.f64 (neg.f64 (log.f64 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 re)) 1) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 re)) -1) 1))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (cos.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) -3)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) -1/2)) 2))
(log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 re))))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1)
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (fma.f64 2 (log.f64 im) (log.f64 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))

simplify91.0ms (1.4%)

Algorithm
egg-herbie
Rules
1358×distribute-lft-in
1294×distribute-rgt-in
456×associate-+r+
430×distribute-lft-neg-out
414×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03545342
18345156
226194906
Stop Event
node limit
Counts
194 → 199
Calls
Call 1
Inputs
(*.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
1
(+.f64 1 (*.f64 1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 5/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 61/720 (pow.f64 re 6)) (+.f64 (*.f64 5/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.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) 0))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2))
(log.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(exp.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))))
(exp.f64 (*.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 2))
(log1p.f64 (expm1.f64 (*.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) 0))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 0 (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(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) 0))
(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 0 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cos.f64 re) 0))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 0 (cos.f64 re)))
(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) 0))
(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 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(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) 0))
(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 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(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 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(+.f64 0 (/.f64 1 (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))) (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cos.f64 re)))) 1)
(*.f64 1 (/.f64 1 (cos.f64 re)))
(*.f64 (/.f64 1 (cos.f64 re)) 1)
(*.f64 (/.f64 1 (cos.f64 re)) (log.f64 (exp.f64 1)))
(*.f64 -1 (/.f64 1 (neg.f64 (cos.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (cos.f64 re) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) -2)) (/.f64 1 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cos.f64 re) -1/2) (pow.f64 (cos.f64 re) -1/2))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (/.f64 1 (cbrt.f64 (cos.f64 re))))
(pow.f64 (cos.f64 re) -1)
(pow.f64 (/.f64 1 (cos.f64 re)) 1)
(pow.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (cos.f64 re) -3) 1/3)
(pow.f64 (sqrt.f64 (cos.f64 re)) -2)
(pow.f64 (pow.f64 (cos.f64 re) -1/2) 2)
(pow.f64 (neg.f64 (neg.f64 (cos.f64 re))) -1)
(sqrt.f64 (pow.f64 (cos.f64 re) -2))
(log.f64 (exp.f64 (/.f64 1 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (cos.f64 re) -3))
(expm1.f64 (log1p.f64 (/.f64 1 (cos.f64 re))))
(exp.f64 (neg.f64 (log.f64 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 re)) 1) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 re)) -1) 1))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (cos.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) -3)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) -1/2)) 2))
(log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 re))))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1)
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (fma.f64 2 (log.f64 im) (log.f64 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))
Outputs
(*.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (*.f64 1/2 (exp.f64 im))))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (*.f64 (exp.f64 im) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (exp.f64 im) (+.f64 (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2) (*.f64 1/48 (pow.f64 re 4))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (*.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (exp.f64 im) (+.f64 (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 1/2 (+.f64 (cos.f64 re) (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 im)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re)))))
(fma.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 1/2 (+.f64 (cos.f64 re) (*.f64 im (cos.f64 re)))))
(fma.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)) (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 im) (+.f64 (*.f64 1/4 (pow.f64 im 2)) 1/2)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 1/2 (+.f64 (cos.f64 re) (*.f64 im (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 1/2 (*.f64 1/2 im)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 im) 1/4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
1
(+.f64 1 (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 1/2 (pow.f64 re 2) 1)
(+.f64 1 (+.f64 (*.f64 5/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 5/24 (pow.f64 re 4) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 5/24)))
(+.f64 (fma.f64 1/2 (pow.f64 re 2) 1) (*.f64 (pow.f64 re 4) 5/24))
(+.f64 1 (+.f64 (*.f64 61/720 (pow.f64 re 6)) (+.f64 (*.f64 5/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 1 (fma.f64 61/720 (pow.f64 re 6) (fma.f64 5/24 (pow.f64 re 4) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 1 (fma.f64 (pow.f64 re 6) 61/720 (fma.f64 1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 5/24))))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2)) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (exp.f64 im)) (cos.f64 re))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (exp.f64 im)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (exp.f64 im)) (cos.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (exp.f64 im)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (exp.f64 im)) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 3)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) 1/3)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))) 1))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re))) 1) 1))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 3))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (+.f64 im (log.f64 1/2)) (log.f64 (cos.f64 re)))) 1/3))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 2))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(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) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(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 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(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) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(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 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(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) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(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 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 0 (/.f64 1 (cos.f64 re)))
(/.f64 1 (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))) (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cos.f64 re)))) 1)
(/.f64 1 (cos.f64 re))
(*.f64 1 (/.f64 1 (cos.f64 re)))
(/.f64 1 (cos.f64 re))
(*.f64 (/.f64 1 (cos.f64 re)) 1)
(/.f64 1 (cos.f64 re))
(*.f64 (/.f64 1 (cos.f64 re)) (log.f64 (exp.f64 1)))
(/.f64 1 (cos.f64 re))
(*.f64 -1 (/.f64 1 (neg.f64 (cos.f64 re))))
(/.f64 1 (cos.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (cos.f64 re) -2)))
(/.f64 (cbrt.f64 (pow.f64 (cos.f64 re) -2)) (cbrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) -2)) (/.f64 1 (cbrt.f64 (cos.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (cos.f64 re) -2)))
(/.f64 (cbrt.f64 (pow.f64 (cos.f64 re) -2)) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cos.f64 re) -1/2) (pow.f64 (cos.f64 re) -1/2))
(/.f64 1 (cos.f64 re))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (/.f64 1 (cbrt.f64 (cos.f64 re))))
(/.f64 1 (cos.f64 re))
(pow.f64 (cos.f64 re) -1)
(/.f64 1 (cos.f64 re))
(pow.f64 (/.f64 1 (cos.f64 re)) 1)
(/.f64 1 (cos.f64 re))
(pow.f64 (/.f64 1 (cbrt.f64 (cos.f64 re))) 3)
(/.f64 1 (cos.f64 re))
(pow.f64 (pow.f64 (cos.f64 re) -3) 1/3)
(/.f64 1 (cos.f64 re))
(pow.f64 (sqrt.f64 (cos.f64 re)) -2)
(pow.f64 (pow.f64 (cos.f64 re) -1/2) 2)
(/.f64 1 (cos.f64 re))
(pow.f64 (neg.f64 (neg.f64 (cos.f64 re))) -1)
(/.f64 1 (cos.f64 re))
(sqrt.f64 (pow.f64 (cos.f64 re) -2))
(/.f64 1 (cos.f64 re))
(log.f64 (exp.f64 (/.f64 1 (cos.f64 re))))
(/.f64 1 (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cos.f64 re)))))
(/.f64 1 (cos.f64 re))
(cbrt.f64 (pow.f64 (cos.f64 re) -3))
(/.f64 1 (cos.f64 re))
(expm1.f64 (log1p.f64 (/.f64 1 (cos.f64 re))))
(/.f64 1 (cos.f64 re))
(exp.f64 (neg.f64 (log.f64 (cos.f64 re))))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -1))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 re))) 1))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 re)) 1) -1))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 re)) -1) 1))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 re))) 1) 1))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (cos.f64 re)))) 3))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) -3)) 1/3))
(/.f64 1 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) -1/2)) 2))
(/.f64 1 (cos.f64 re))
(log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 re))))
(/.f64 1 (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 1)
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 1)
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 3)
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 3) 1/3)
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) 2)
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 (cos.f64 re) 2))))
(fabs.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) 3))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))) 1) 1))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 3))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))) 1/3))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2)))) 2))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))) (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 3)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) 1/3)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (pow.f64 im 2))
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))
(*.f64 1/2 (pow.f64 im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 1/2 (pow.f64 im 2))
(cbrt.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3))
(*.f64 1/2 (pow.f64 im 2))
(expm1.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1) 1))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (*.f64 3 (fma.f64 2 (log.f64 im) (log.f64 1/2))) 1/3))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(*.f64 1/2 (pow.f64 im 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (pow.f64 im 2))

eval299.0ms (4.7%)

Compiler

Compiled 6711 to 4607 computations (31.4% saved)

prune95.0ms (1.5%)

Pruning

21 alts after pruning (13 fresh and 8 done)

PrunedKeptTotal
New5113514
Fresh21012
Picked235
Done055
Total51521536
Accuracy
100.0%
Counts
536 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
33.5%
(/.f64 1 (cos.f64 re))
35.1%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
49.7%
(*.f64 (fma.f64 im im 2) 1/2)
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
12.2%
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 im)))
10.6%
(*.f64 2 (/.f64 1 (cos.f64 re)))
12.6%
(*.f64 2 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
58.7%
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
47.2%
(*.f64 1/2 (exp.f64 im))
8.5%
(*.f64 1/2 8)
31.9%
(*.f64 1/2 2)
10.0%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1/2)
8.3%
(*.f64 1/2 1/4)
3.0%
(*.f64 1/2 -1)
3.1%
(*.f64 1/2 -2)
51.6%
(log.f64 (exp.f64 (cos.f64 re)))
51.8%
(cos.f64 re)
33.5%
(/.f64 1 (cos.f64 re))
35.1%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
49.7%
(*.f64 (fma.f64 im im 2) 1/2)
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
12.2%
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 im)))
10.6%
(*.f64 2 (/.f64 1 (cos.f64 re)))
12.6%
(*.f64 2 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
58.7%
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
47.2%
(*.f64 1/2 (exp.f64 im))
8.5%
(*.f64 1/2 8)
31.9%
(*.f64 1/2 2)
10.0%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1/2)
8.3%
(*.f64 1/2 1/4)
3.0%
(*.f64 1/2 -1)
3.1%
(*.f64 1/2 -2)
51.6%
(log.f64 (exp.f64 (cos.f64 re)))
51.8%
(cos.f64 re)
Compiler

Compiled 484 to 418 computations (13.6% saved)

localize82.0ms (1.3%)

Localize:

Found 6 expressions with local error:

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

Compiled 61 to 34 computations (44.3% saved)

series4.0ms (0.1%)

Counts
2 → 40
Calls

12 calls:

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

rewrite98.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
930×log-prod
851×log1p-expm1-u
851×expm1-log1p-u
610×prod-diff
400×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01550
118246
2234246
Stop Event
node limit
Counts
2 → 83
Calls
Call 1
Inputs
(*.f64 (exp.f64 im) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 im)))
Outputs
(+.f64 0 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (exp.f64 im) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (exp.f64 im) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (exp.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 im) (cos.f64 re))))
(exp.f64 (+.f64 im (log.f64 (cos.f64 re))))
(exp.f64 (*.f64 (+.f64 im (log.f64 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 im (log.f64 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 im (log.f64 (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 im (log.f64 (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 im (log.f64 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 3)) (fma.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))) (-.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1/8)) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1/8) (cos.f64 re)) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4)) (cos.f64 re)) (+.f64 1/2 (*.f64 -1/2 im)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (exp.f64 (*.f64 (cos.f64 re) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im 1/2 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/2 1/2) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(fma.f64 im (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (cos.f64 re) 1/2 (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 (cos.f64 re) (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 im 1/2) (cos.f64 re) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.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 im 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/2)) (cos.f64 re)) (*.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 im 1/2)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (sqrt.f64 (*.f64 im 1/2)) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) im (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (cbrt.f64 (*.f64 (cos.f64 re) 1/2))) (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (cos.f64 re) 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 im 1/2)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 im 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 im 1/2))) (*.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 im 1/2)))
(fma.f64 (*.f64 1/2 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 (*.f64 (*.f64 im 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (*.f64 im 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) im) 1/2 (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2)) (cbrt.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 im 1/2))) (sqrt.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))

simplify80.0ms (1.2%)

Algorithm
egg-herbie
Rules
1028×distribute-lft-in
980×distribute-rgt-in
792×times-frac
706×unswap-sqr
622×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02723799
17233611
224113404
Stop Event
node limit
Counts
123 → 142
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 im (cos.f64 re)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 im (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 im (cos.f64 re)))))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 im)
(+.f64 (exp.f64 im) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 im))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (exp.f64 im)))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (exp.f64 im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (exp.f64 im))))))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(+.f64 1/2 (*.f64 1/2 im))
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im))))
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1/2 (*.f64 1/2 im)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im)))))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 im (cos.f64 re)))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 im (cos.f64 re)))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 0 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (exp.f64 im) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (exp.f64 im) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (exp.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 im) (cos.f64 re))))
(exp.f64 (+.f64 im (log.f64 (cos.f64 re))))
(exp.f64 (*.f64 (+.f64 im (log.f64 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 im (log.f64 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 im (log.f64 (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 im (log.f64 (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 im (log.f64 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 im) (cos.f64 re))))
(+.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 3)) (fma.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))) (-.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1/8)) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1/8) (cos.f64 re)) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4)) (cos.f64 re)) (+.f64 1/2 (*.f64 -1/2 im)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (exp.f64 (*.f64 (cos.f64 re) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im 1/2 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/2 1/2) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(fma.f64 im (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (cos.f64 re) 1/2 (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 (cos.f64 re) (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 im 1/2) (cos.f64 re) (*.f64 (cos.f64 re) 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.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 im 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/2)) (cos.f64 re)) (*.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 im 1/2)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (sqrt.f64 (*.f64 im 1/2)) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) im (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (cbrt.f64 (*.f64 (cos.f64 re) 1/2))) (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (cos.f64 re) 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 im 1/2)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 im 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 im 1/2))) (*.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 im 1/2)))
(fma.f64 (*.f64 1/2 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(fma.f64 (*.f64 (*.f64 im 1/2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (*.f64 im 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) im) 1/2 (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2)) (cbrt.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 im 1/2))) (sqrt.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 im (cos.f64 re)))
(*.f64 (+.f64 im 1) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 im 1))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 im (cos.f64 re))))
(+.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) im)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 im (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (+.f64 (+.f64 im 1) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 im (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) im))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 im (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) 1) (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/6 im) 1/2)) (+.f64 im 1)))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 im)
(+.f64 (exp.f64 im) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 im))))
(+.f64 (exp.f64 im) (*.f64 -1/2 (*.f64 (exp.f64 im) (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (exp.f64 im))
(+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (exp.f64 im)))))
(+.f64 (exp.f64 im) (fma.f64 -1/2 (*.f64 (exp.f64 im) (pow.f64 re 2)) (*.f64 (*.f64 1/24 (pow.f64 re 4)) (exp.f64 im))))
(+.f64 (exp.f64 im) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 (exp.f64 im) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (exp.f64 im))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (exp.f64 im))))))
(+.f64 (exp.f64 im) (fma.f64 -1/2 (*.f64 (exp.f64 im) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (exp.f64 im) (pow.f64 re 6)) (*.f64 (*.f64 1/24 (pow.f64 re 4)) (exp.f64 im)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (exp.f64 im)) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (exp.f64 im) (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6))))))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(*.f64 (cos.f64 re) (exp.f64 im))
(+.f64 1/2 (*.f64 1/2 im))
(fma.f64 im 1/2 1/2)
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im)))
(+.f64 1/2 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 im 1/2 1/2)) (*.f64 im 1/2)))
(+.f64 1/2 (fma.f64 (*.f64 -1/2 (pow.f64 re 2)) (fma.f64 im 1/2 1/2) (*.f64 im 1/2)))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 im 1/2 1/2))
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im))))
(+.f64 1/2 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 im 1/2 1/2)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 im 1/2 1/2)) (*.f64 im 1/2))))
(+.f64 (*.f64 (fma.f64 im 1/2 1/2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 im 1/2 1/2))
(+.f64 (fma.f64 im 1/2 1/2) (*.f64 (fma.f64 im 1/2 1/2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1/2 (*.f64 1/2 im)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im)))))
(+.f64 1/2 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 im 1/2 1/2)) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 im 1/2 1/2)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 im 1/2 1/2)) (*.f64 im 1/2)))))
(+.f64 1/2 (+.f64 (fma.f64 im 1/2 (*.f64 (fma.f64 im 1/2 1/2) (*.f64 1/24 (pow.f64 re 4)))) (*.f64 (fma.f64 im 1/2 1/2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 (fma.f64 im 1/2 1/2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))) (fma.f64 im 1/2 1/2))
(*.f64 1/2 (cos.f64 re))
(*.f64 (cos.f64 re) 1/2)
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(*.f64 1/2 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 im 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(*.f64 1/2 (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 im 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 0 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 (cos.f64 re) (exp.f64 im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))))
(*.f64 (cos.f64 re) (exp.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (exp.f64 im) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (exp.f64 im))
(pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (exp.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 im) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (exp.f64 im))
(pow.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (exp.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 im) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (exp.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (exp.f64 im))
(log.f64 (pow.f64 (exp.f64 (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (exp.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (exp.f64 im) (cos.f64 re)))))
(*.f64 (cos.f64 re) (exp.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 im) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (exp.f64 im))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (exp.f64 im))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (exp.f64 im) 3)))
(*.f64 (cos.f64 re) (exp.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 (+.f64 im (log.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 (*.f64 (+.f64 im (log.f64 (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 (*.f64 (*.f64 (+.f64 im (log.f64 (cos.f64 re))) 1) 1))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 im (log.f64 (cos.f64 re)))) 3))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 (*.f64 (*.f64 3 (+.f64 im (log.f64 (cos.f64 re)))) 1/3))
(*.f64 (cos.f64 re) (exp.f64 im))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 im (log.f64 (cos.f64 re)))) 2))
(*.f64 (cos.f64 re) (exp.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 im) (cos.f64 re))))
(*.f64 (cos.f64 re) (exp.f64 im))
(+.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) 1) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 1))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 1)
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 3)) (fma.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2) (-.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1/4) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2)))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 (pow.f64 im 3) 1/8 1/8)) (fma.f64 (cos.f64 re) (*.f64 1/4 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) (-.f64 (*.f64 im 1/2) 1/2))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 (pow.f64 im 3) 1/8 1/8)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (*.f64 im 1/2) (*.f64 (cos.f64 re) (fma.f64 im 1/2 -1/2))) (*.f64 1/4 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2)) (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))) (-.f64 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 im 1/2)))) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 im 1/2))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (+.f64 1/4 (*.f64 (pow.f64 im 2) -1/4))) (*.f64 (cos.f64 re) (fma.f64 im -1/2 1/2)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 3) 1/8 1/8)) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4) (fma.f64 (pow.f64 im 3) 1/8 1/8)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4)) (fma.f64 (pow.f64 im 3) 1/8 1/8))
(/.f64 (*.f64 (cos.f64 re) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4))) (+.f64 1/2 (*.f64 -1/2 im)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1/2 (*.f64 im -1/2)) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im -1/2 1/2)) (+.f64 1/4 (*.f64 (pow.f64 im 2) -1/4)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 3) 1/8 1/8) (cos.f64 re)) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4) (fma.f64 (pow.f64 im 3) 1/8 1/8)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 (*.f64 im 1/2) (fma.f64 im 1/2 -1/2) 1/4)) (fma.f64 (pow.f64 im 3) 1/8 1/8))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4)) (cos.f64 re)) (+.f64 1/2 (*.f64 -1/2 im)))
(/.f64 (cos.f64 re) (/.f64 (+.f64 1/2 (*.f64 im -1/2)) (-.f64 1/4 (*.f64 (pow.f64 im 2) 1/4))))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 im -1/2 1/2)) (+.f64 1/4 (*.f64 (pow.f64 im 2) -1/4)))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 1)
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 3)
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 2)
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im 1/2 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (exp.f64 (*.f64 (cos.f64 re) 1/2))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im 1/2 1/2) 3)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im 1/2 1/2) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 1))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))) 1) 1))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 3))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)) 3)) 1/3))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2)))) 2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 im (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (cos.f64 re) 1/2 (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (cos.f64 re) (*.f64 im 1/2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 1/2 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 1/2 (*.f64 im (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 im 1/2) (cos.f64 re) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 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 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2) (*.f64 (cbrt.f64 (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/2) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (sqrt.f64 (*.f64 im 1/2)) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) im (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cos.f64 re) 1/2) 1 (*.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)) 1))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (cbrt.f64 (*.f64 (cos.f64 re) 1/2))) (cbrt.f64 (*.f64 (cos.f64 re) 1/2)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 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 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 im 1/2))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (sqrt.f64 (*.f64 im 1/2)) (sqrt.f64 (cos.f64 re))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 im 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (*.f64 im 1/2))) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 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 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 1/2 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 im 1/2)))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (*.f64 im 1/2) (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 im 1/2 1/2))
(fma.f64 (*.f64 (*.f64 im 1/2) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cos.f64 re) im) 1/2 (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 (*.f64 im 1/2)) 2)) (cbrt.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 im 1/2))) (sqrt.f64 (*.f64 im 1/2)) (*.f64 (cos.f64 re) 1/2))
(*.f64 (cos.f64 re) (fma.f64 im 1/2 1/2))

eval295.0ms (4.6%)

Compiler

Compiled 6257 to 4096 computations (34.5% saved)

prune71.0ms (1.1%)

Pruning

24 alts after pruning (14 fresh and 10 done)

PrunedKeptTotal
New5006506
Fresh088
Picked235
Done178
Total50324527
Accuracy
100.0%
Counts
527 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
33.5%
(/.f64 1 (cos.f64 re))
35.1%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
15.0%
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im)))
10.2%
(+.f64 1/2 (*.f64 1/2 im))
49.7%
(*.f64 (fma.f64 im im 2) 1/2)
12.3%
(*.f64 (/.f64 1 (cos.f64 re)) (+.f64 1/2 (*.f64 1/2 im)))
15.0%
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 1/2 (*.f64 1/2 im)))
75.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4%
(*.f64 (cos.f64 re) (*.f64 im 1/2))
12.6%
(*.f64 2 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
11.1%
(*.f64 2 (cos.f64 re))
70.0%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
58.7%
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
47.2%
(*.f64 1/2 (exp.f64 im))
8.5%
(*.f64 1/2 8)
10.0%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1/2)
8.3%
(*.f64 1/2 1/4)
3.0%
(*.f64 1/2 -1)
3.1%
(*.f64 1/2 -2)
51.6%
(log.f64 (exp.f64 (cos.f64 re)))
51.8%
(cos.f64 re)
31.9%
1
Compiler

Compiled 431 to 320 computations (25.8% saved)

regimes177.0ms (2.8%)

Counts
34 → 1
Calls
Call 1
Inputs
1
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 8)
(+.f64 1/2 (*.f64 1/2 im))
(cos.f64 re)
(*.f64 1/2 (exp.f64 im))
(*.f64 2 (cos.f64 re))
(/.f64 1 (cos.f64 re))
(*.f64 2 (/.f64 1 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 im 1/2))
(*.f64 (fma.f64 im im 2) 1/2)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 1/2 im)))
(*.f64 2 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 (/.f64 1 (cos.f64 re)) (+.f64 1/2 (*.f64 1/2 im)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 1/2 (*.f64 1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1/2 (*.f64 1/2 im)))) (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (/.f64 1 (cos.f64 re))) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(log.f64 (exp.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (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:

92.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
18.0ms
re
18.0ms
im
15.0ms
(*.f64 1/2 (cos.f64 re))
14.0ms
(cos.f64 re)
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 275 to 184 computations (33.1% saved)

regimes398.0ms (6.2%)

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

4 calls:

125.0ms
(*.f64 1/2 (cos.f64 re))
114.0ms
re
107.0ms
(cos.f64 re)
32.0ms
im
Results
AccuracySegmentsBranch
89.3%3re
99.8%2im
88.5%2(*.f64 1/2 (cos.f64 re))
88.5%2(cos.f64 re)
Compiler

Compiled 208 to 150 computations (27.9% saved)

regimes43.0ms (0.7%)

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

1 calls:

26.0ms
im
Results
AccuracySegmentsBranch
99.4%2im
Compiler

Compiled 151 to 113 computations (25.2% saved)

regimes75.0ms (1.2%)

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

1 calls:

70.0ms
im
Results
AccuracySegmentsBranch
89.3%2im
Compiler

Compiled 128 to 100 computations (21.9% saved)

regimes21.0ms (0.3%)

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

3 calls:

7.0ms
im
6.0ms
re
5.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
51.8%1re
51.8%1(cos.f64 re)
51.8%1im
Compiler

Compiled 41 to 36 computations (12.2% saved)

regimes29.0ms (0.5%)

Accuracy

Total -19.7b remaining (-45.2%)

Threshold costs -19.7b (-45.2%)

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

2 calls:

6.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
31.9%1re
31.9%1im
Compiler

Compiled 35 to 32 computations (8.6% saved)

bsearch71.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
68.0ms
0.012071665710705523
24.52166290131871
Results
67.0ms128×body256valid
Compiler

Compiled 194 to 150 computations (22.7% saved)

bsearch33.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
33.0ms
0.012071665710705523
24.52166290131871
Results
20.0ms128×body256valid
Compiler

Compiled 138 to 110 computations (20.3% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
0.012071665710705523
24.52166290131871
Results
22.0ms128×body256valid
Compiler

Compiled 114 to 94 computations (17.5% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034207
149207
251207
352207
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 3152519739159347/4503599627370496) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 5854679515581645/4503599627370496) (cos.f64 re) (*.f64 1/2 (exp.f64 im)))
(cos.f64 re)
1
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(if (<=.f64 im 3152519739159347/4503599627370496) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 3152519739159347/4503599627370496) (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(if (<=.f64 im 5854679515581645/4503599627370496) (cos.f64 re) (*.f64 1/2 (exp.f64 im)))
(cos.f64 re)
1
Compiler

Compiled 69 to 50 computations (27.5% saved)

soundness655.0ms (10.2%)

Rules
1816×fma-def
1816×fma-def
1358×distribute-lft-in
1294×distribute-rgt-in
1268×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032316
1100308
2280308
3690298
41413294
54012294
66076294
77976294
020142
1270142
24351142
01884902
15364513
215544307
367844307
020142
1270142
24351142
03545342
18345156
226194906
01884902
15364513
215544307
367844307
Stop Event
node limit
node limit
unsound
node limit
unsound
node limit
Compiler

Compiled 241 to 121 computations (49.8% saved)

end0.0ms (0%)

preprocess72.0ms (1.1%)

Remove

(abs im)

(abs re)

Compiler

Compiled 352 to 244 computations (30.7% saved)

Profiling

Loading profile data...