math.cos on complex, real part

Time bar (total: 6.3s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample2.8s (44.5%)

Results
1.4s4118×body256infinite
1.4s4137×body256valid
0.0msbody512valid
Bogosity

preprocess187.0ms (3%)

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)

prune2.0ms (0%)

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

Compiled 26 to 20 computations (23.1% saved)

localize52.0ms (0.8%)

Localize:

Found 3 expressions with local error:

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

Compiled 36 to 14 computations (61.1% saved)

series7.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite265.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
200×associate-*r*
128×associate-*l*
90×add-exp-log
90×add-log-exp
90×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

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

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
214×fma-def
154×associate-*r*
120×associate-*l*
108×+-commutative
104×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01521637
13871637
218671637
Stop Event
unsound
Counts
86 → 77
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)))))
(*.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)))))
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)))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -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))) -2)
(pow.f64 (cos.f64 re) -2)
(pow.f64 (cos.f64 re) 1)
(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 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2
Outputs
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 (fma.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 (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/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)))))
(fma.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))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.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)))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/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 (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 (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 (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 (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 (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 (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 (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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(cos.f64 re)
1
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.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 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.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 (cos.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.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 (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 (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 (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 (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 (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 (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 (exp.f64 im) (exp.f64 (neg.f64 im))))
2
1
(+.f64 2 (pow.f64 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 (+.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 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 -2 (*.f64 -2 (cos.f64 (*.f64 re -2))))
(-.f64 (exp.f64 (log1p.f64 (cos.f64 re))) 1)
1
(*.f64 (cos.f64 re) (cos.f64 re))
1
(*.f64 (cos.f64 re) 1)
1
(*.f64 1 (cos.f64 re))
1
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -2)
(pow.f64 (cos.f64 re) -2)
1
(pow.f64 (cos.f64 re) 1)
1
(pow.f64 (cos.f64 re) 1/3)
1
(sqrt.f64 (cos.f64 re))
1
(fabs.f64 (cos.f64 re))
1
(log.f64 (exp.f64 (cos.f64 re)))
1
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
1
(cbrt.f64 (cos.f64 re))
1
(expm1.f64 (log1p.f64 (cos.f64 re)))
1
(exp.f64 (log.f64 (cos.f64 re)))
1
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
1
(log1p.f64 (expm1.f64 (cos.f64 re)))
1
(+.f64 (cos.f64 re) (cos.f64 re))
1
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
1
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
1
(/.f64 (*.f64 (cos.f64 re) -2) -2)
1
(/.f64 (*.f64 (cos.f64 re) -2) 1)
1
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
1
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
1
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
1
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
1
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
1
(sqrt.f64 (*.f64 (cos.f64 re) -2))
1
(fabs.f64 (*.f64 (cos.f64 re) -2))
1
(log.f64 (pow.f64 1 (cos.f64 re)))
1
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
1
(cbrt.f64 (*.f64 (cos.f64 re) -2))
1
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
1
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
1
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
1
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
1
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
1
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
1
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
1
-2
1
0
1
1/4
1
1/2
1
3/2
2
1

eval21.0ms (0.3%)

Compiler

Compiled 1071 to 567 computations (47.1% saved)

prune20.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New71677
Fresh000
Picked011
Done000
Total71778
Accuracy
100.0%
Counts
78 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.0%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.4%
(+.f64 (cos.f64 re) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
47.6%
(cos.f64 re)
8.0%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.4%
(+.f64 (cos.f64 re) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
47.6%
(cos.f64 re)
Compiler

Compiled 242 to 184 computations (24% saved)

localize209.0ms (3.3%)

Localize:

Found 7 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
100.0%
(cos.f64 re)
99.6%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
100.0%
(cos.f64 re)
100.0%
(cos.f64 re)
100.0%
(cos.f64 re)
99.8%
(*.f64 (pow.f64 im 2) (cos.f64 re))
Compiler

Compiled 85 to 37 computations (56.5% saved)

series6.0ms (0.1%)

Counts
3 → 24
Calls

12 calls:

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

rewrite86.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
186×associate-*r*
116×associate-*l*
107×log1p-expm1-u
107×expm1-log1p-u
106×cbrt-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01969
124769
2360769
Stop Event
unsound
Counts
3 → 39
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4

simplify118.0ms (1.9%)

Algorithm
egg-herbie
Rules
1484×distribute-rgt-out
1414×associate-+r+
844×*-commutative
548×associate-/r*
542×sqr-pow
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
067749
1154744
2383709
31301695
42378686
52784686
64566686
77146686
Stop Event
node limit
Counts
63 → 54
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
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)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
Outputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2))
(*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2)))
(fma.f64 im im (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))) (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 1 (*.f64 -1/720 (pow.f64 re 6))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))))
(*.f64 (pow.f64 im 2) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4)))
(+.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6)))
(fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 1/4))
(fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 2) 1/4 1/4))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/4 (fma.f64 17/180 (pow.f64 re 6) (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4))))
(+.f64 1/4 (fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6))))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 1/4)))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 2) 1/4 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
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)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4

eval262.0ms (4.2%)

Compiler

Compiled 7839 to 4839 computations (38.3% saved)

prune60.0ms (0.9%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New6708678
Fresh011
Picked235
Done011
Total67213685
Accuracy
100.0%
Counts
685 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2.9%
(+.f64 (cos.f64 re) (*.f64 1/2 -4))
8.3%
(+.f64 (cos.f64 re) 1)
34.5%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
11.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
45.0%
(*.f64 1/2 (fma.f64 im im 2))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
47.6%
(cos.f64 re)
27.4%
1
8.0%
1/4
64.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2.9%
(+.f64 (cos.f64 re) (*.f64 1/2 -4))
8.3%
(+.f64 (cos.f64 re) 1)
34.5%
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
11.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.8%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
45.0%
(*.f64 1/2 (fma.f64 im im 2))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
47.6%
(cos.f64 re)
27.4%
1
8.0%
1/4
Compiler

Compiled 340 to 280 computations (17.6% saved)

localize114.0ms (1.8%)

Localize:

Found 7 expressions with local error:

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

Compiled 84 to 55 computations (34.5% saved)

series6.0ms (0.1%)

Counts
4 → 60
Calls

15 calls:

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

rewrite136.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1162×prod-diff
800×log1p-expm1-u
725×expm1-log1p-u
442×log1p-udef
440×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02479
128278
2363178
Stop Event
node limit
Counts
4 → 103
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) (*.f64 1/2 -4))
(*.f64 (pow.f64 re 2) 1/4)
Outputs
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 6) 8)) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 6) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (pow.f64 im 2)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 1))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(*.f64 1 (+.f64 (cos.f64 re) 1))
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 re))) (hypot.f64 1 (sqrt.f64 (cos.f64 re))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1)))
(exp.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log1p.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(fma.f64 1 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -2))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 2)) (/.f64 4 (+.f64 (cos.f64 re) 2)))
(*.f64 1 (+.f64 (cos.f64 re) -2))
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 2)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(fma.f64 1 (cos.f64 re) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4))) 1)
(pow.f64 (*.f64 (pow.f64 re 2) 1/4) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4)))

simplify81.0ms (1.3%)

Algorithm
egg-herbie
Rules
1680×fma-def
1388×unswap-sqr
1030×distribute-rgt-in
1022×distribute-lft-in
390×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02944861
17474613
226014426
Stop Event
node limit
Counts
163 → 178
Calls
Call 1
Inputs
(*.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))))
2
(+.f64 2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 2 (+.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 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
(+.f64 1 (cos.f64 re))
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 1)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(-.f64 (cos.f64 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 6) 8)) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 6) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (pow.f64 im 2)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 1))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(*.f64 1 (+.f64 (cos.f64 re) 1))
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 re))) (hypot.f64 1 (sqrt.f64 (cos.f64 re))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1)))
(exp.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log1p.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(fma.f64 1 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -2))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 2)) (/.f64 4 (+.f64 (cos.f64 re) 2)))
(*.f64 1 (+.f64 (cos.f64 re) -2))
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 2)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(fma.f64 1 (cos.f64 re) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4))) 1)
(pow.f64 (*.f64 (pow.f64 re 2) 1/4) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4)))
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 1/2 (pow.f64 im 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 (fma.f64 im im 2) (pow.f64 re 2)) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 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 (fma.f64 im im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(fma.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) (*.f64 1/48 (pow.f64 re 4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.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 (fma.f64 im im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (fma.f64 im im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (*.f64 1/2 (fma.f64 im im 2)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2)))
(fma.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) (*.f64 -1/1440 (pow.f64 re 6))) (*.f64 (fma.f64 im im 2) (fma.f64 1/48 (pow.f64 re 4) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
2
(+.f64 2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 2 (*.f64 (pow.f64 re 2) -1/2))
(fma.f64 (pow.f64 re 2) -1/2 2)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 2 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 2 (fma.f64 (pow.f64 re 2) -1/2 (*.f64 (pow.f64 re 4) 1/24)))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 2))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 2 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 2 (fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 2 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 2) -1/2 (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 1)
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(fma.f64 -1/2 (pow.f64 re 2) -1)
(fma.f64 (pow.f64 re 2) -1/2 -1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/24)) -1)
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 -1))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 (pow.f64 re 4) 1/24))) -1)
(+.f64 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720)) (fma.f64 (pow.f64 re 2) -1/2 -1))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 6) -1/720 -1)))
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(-.f64 (cos.f64 re) 2)
(+.f64 (cos.f64 re) -2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im 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/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (-.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (-.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (*.f64 (pow.f64 (cos.f64 re) 3) 1/8) (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (fma.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4 (*.f64 (cos.f64 re) -1/2)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))) (-.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re))))) (-.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 -1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)) (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 6) 8)) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -2)))) (+.f64 (pow.f64 im 6) 8))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4)) (+.f64 (pow.f64 im 6) 8))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 2 (pow.f64 im 2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (pow.f64 im 2))) (-.f64 4 (pow.f64 im 4)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 6) 8) (*.f64 1/2 (cos.f64 re))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 im 6) 8) (/.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (cos.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -2)))) (+.f64 (pow.f64 im 6) 8))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 (pow.f64 im 2) (fma.f64 im im -2) 4)) (+.f64 (pow.f64 im 6) 8))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (cos.f64 re))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 2 (pow.f64 im 2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 2 (pow.f64 im 2))) (-.f64 4 (pow.f64 im 4)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cos.f64 re)) 2 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(fma.f64 2 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 1))) 1)
(+.f64 (cos.f64 re) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(*.f64 1 (+.f64 (cos.f64 re) 1))
(+.f64 (cos.f64 re) 1)
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (cos.f64 re) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(+.f64 (cos.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(*.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 re))) (hypot.f64 1 (sqrt.f64 (cos.f64 re))))
(+.f64 (cos.f64 re) 1)
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (-.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (cos.f64 re) -1) (pow.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 -1 (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (-.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (cos.f64 re) -1) (pow.f64 (cos.f64 re) 2)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 -1 (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (-.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (cos.f64 re) -1) (pow.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (-.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (cos.f64 re) -1) (pow.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 -1 (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (-.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (cos.f64 re) -1) (pow.f64 (cos.f64 re) 2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 -1 (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 -1 (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(+.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(+.f64 (cos.f64 re) 1)
(pow.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 re))) 2)
(+.f64 (cos.f64 re) 1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(+.f64 (cos.f64 re) 1)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))
(+.f64 (cos.f64 re) 1)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(+.f64 (cos.f64 re) 1)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(exp.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log1p.f64 (cos.f64 re)) 1))
(exp.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(fma.f64 1 (cos.f64 re) 1)
(+.f64 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(+.f64 (cos.f64 re) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 (cos.f64 re) 1)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -2))) 1)
(+.f64 (cos.f64 re) -2)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 2)) (/.f64 4 (+.f64 (cos.f64 re) 2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 4 (+.f64 2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 2 (cos.f64 re))) (/.f64 -4 (+.f64 2 (cos.f64 re))))
(*.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -2)
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(+.f64 (cos.f64 re) -2)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(+.f64 (cos.f64 re) -2)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) 2))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (fma.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)) 4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(+.f64 (cos.f64 re) -2)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(+.f64 (cos.f64 re) -2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(+.f64 (cos.f64 re) -2)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(+.f64 (cos.f64 re) -2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(+.f64 (cos.f64 re) -2)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(+.f64 (cos.f64 re) -2)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(+.f64 (cos.f64 re) -2)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(+.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(fma.f64 1 (cos.f64 re) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(+.f64 (cos.f64 re) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4))) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(pow.f64 (*.f64 (pow.f64 re 2) 1/4) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 1/4)) 3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3) 1/3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 (pow.f64 re 2) 1/4)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(fabs.f64 (pow.f64 (*.f64 1/2 re) 2))
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4))))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 2) 1/4) 3))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 2) 1/4)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(exp.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 1/4)) 1))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 2) 1/4)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)

eval124.0ms (2%)

Compiler

Compiled 4964 to 3559 computations (28.3% saved)

prune172.0ms (2.7%)

Pruning

16 alts after pruning (10 fresh and 6 done)

PrunedKeptTotal
New4057412
Fresh134
Picked325
Done044
Total40916425
Accuracy
100.0%
Counts
425 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
10.9%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
2.9%
(-.f64 (cos.f64 re) 2)
64.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
11.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
49.6%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
29.6%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
45.0%
(*.f64 1/2 (fma.f64 im im 2))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
73.8%
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
47.6%
(cos.f64 re)
8.2%
2
27.4%
1
8.0%
1/4
3.2%
-1
10.9%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
2.9%
(-.f64 (cos.f64 re) 2)
64.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
11.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
49.6%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
29.6%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
45.0%
(*.f64 1/2 (fma.f64 im im 2))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
73.8%
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
47.6%
(cos.f64 re)
8.2%
2
27.4%
1
8.0%
1/4
3.2%
-1
Compiler

Compiled 378 to 304 computations (19.6% saved)

localize133.0ms (2.1%)

Localize:

Found 9 expressions with local error:

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

Compiled 99 to 58 computations (41.4% saved)

series9.0ms (0.1%)

Counts
5 → 59
Calls

24 calls:

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

rewrite142.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
848×fma-def
831×log1p-expm1-u
831×expm1-log1p-u
488×expm1-udef
488×log1p-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023116
1299112
23740112
Stop Event
node limit
Counts
5 → 133
Calls
Call 1
Inputs
(*.f64 (fma.f64 im im 2) (cos.f64 re))
(-.f64 (cos.f64 re) 2)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(fma.f64 (cos.f64 re) (pow.f64 im 2) (*.f64 2 (cos.f64 re)))
(fma.f64 (pow.f64 im 2) (cos.f64 re) (*.f64 2 (cos.f64 re)))
(+.f64 (cos.f64 re) -2)
(+.f64 -2 (cos.f64 re))
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(*.f64 1 (+.f64 (cos.f64 re) -2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 1 (/.f64 (+.f64 2 (cos.f64 re)) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 2 (cos.f64 re))))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(fma.f64 (cos.f64 re) 1 -2)
(fma.f64 1 (cos.f64 re) -2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
(pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 re 2))) 3)
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3) 1/3)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2))))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 re 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (pow.f64 re 2))) 1))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (*.f64 (cos.f64 re) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (*.f64 (cos.f64 re) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (pow.f64 im 2) 3)))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 1)
(*.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (pow.f64 im 4) 1/4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4))) (neg.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))

simplify107.0ms (1.7%)

Algorithm
egg-herbie
Rules
1176×distribute-rgt-in
1162×distribute-lft-in
964×associate-+r+
664×log-prod
358×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03596177
18876028
229965861
Stop Event
node limit
Counts
192 → 207
Calls
Call 1
Inputs
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (pow.f64 im 2))))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 1)
(*.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 (*.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 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(fma.f64 (cos.f64 re) (pow.f64 im 2) (*.f64 2 (cos.f64 re)))
(fma.f64 (pow.f64 im 2) (cos.f64 re) (*.f64 2 (cos.f64 re)))
(+.f64 (cos.f64 re) -2)
(+.f64 -2 (cos.f64 re))
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(*.f64 1 (+.f64 (cos.f64 re) -2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 1 (/.f64 (+.f64 2 (cos.f64 re)) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 2 (cos.f64 re))))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(fma.f64 (cos.f64 re) 1 -2)
(fma.f64 1 (cos.f64 re) -2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
(pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 re 2))) 3)
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3) 1/3)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2))))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 re 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (pow.f64 re 2))) 1))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (*.f64 (cos.f64 re) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (*.f64 (cos.f64 re) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (pow.f64 im 2) 3)))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 1)
(*.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (pow.f64 im 4) 1/4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4))) (neg.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
Outputs
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (cos.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (pow.f64 im 2)))
(+.f64 2 (fma.f64 -1/2 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 (*.f64 -1/2 (pow.f64 re 2)) (fma.f64 im im 2) (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 im im 2))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (pow.f64 im 2))))
(+.f64 2 (fma.f64 -1/2 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (pow.f64 im 2))))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 im im 2))
(+.f64 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 2 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (pow.f64 im 2)))))
(+.f64 2 (fma.f64 -1/2 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (fma.f64 im im 2) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (pow.f64 im 2)))))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 -1/720 (pow.f64 re 6)))) (+.f64 (fma.f64 1/24 (*.f64 (fma.f64 im im 2) (pow.f64 re 4)) (pow.f64 im 2)) 2))
(+.f64 2 (+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))))) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
-1
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(fma.f64 -1/2 (pow.f64 re 2) -1)
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) -1)
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) -1))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))) -1)
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 -1/2 (pow.f64 re 2) -1))
(+.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 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/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 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/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 im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) 1/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)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/24 (pow.f64 re 4) (*.f64 (pow.f64 im 2) 1/2)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 (pow.f64 im 2) 1/2 (*.f64 1/24 (pow.f64 re 4))))))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 2 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 2 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(fma.f64 (cos.f64 re) (pow.f64 im 2) (*.f64 2 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(fma.f64 (pow.f64 im 2) (cos.f64 re) (*.f64 2 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 im im 2))
(+.f64 (cos.f64 re) -2)
(+.f64 -2 (cos.f64 re))
(+.f64 (cos.f64 re) -2)
(*.f64 (+.f64 (cos.f64 re) -2) 1)
(+.f64 (cos.f64 re) -2)
(*.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -2)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2))
(+.f64 (cos.f64 re) -2)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) (sqrt.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 2 (cos.f64 re)) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) -2))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)) (+.f64 (pow.f64 (cos.f64 re) 3) -8)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 2 (cos.f64 re) 4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 2 (cos.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 2 (cos.f64 re))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 2 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 -2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -2) 1)
(+.f64 (cos.f64 re) -2)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -2)) 3)
(+.f64 (cos.f64 re) -2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3) 1/3)
(+.f64 (cos.f64 re) -2)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -2)) 2)
(+.f64 (cos.f64 re) -2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 2))
(+.f64 (cos.f64 re) -2)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -2))))
(+.f64 (cos.f64 re) -2)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -2) 3))
(+.f64 (cos.f64 re) -2)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -2)) 1))
(+.f64 (cos.f64 re) -2)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) -2)
(fma.f64 (cos.f64 re) 1 -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 1 (cos.f64 re) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -2)
(+.f64 (cos.f64 re) -2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -2)
(+.f64 (cos.f64 re) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
(*.f64 -1/2 (pow.f64 re 2))
(pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(*.f64 -1/2 (pow.f64 re 2))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 re 2))) 3)
(*.f64 -1/2 (pow.f64 re 2))
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3) 1/3)
(*.f64 -1/2 (pow.f64 re 2))
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(*.f64 -1/2 (pow.f64 re 2))
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) -1/2))
(*.f64 -1/2 (pow.f64 re 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 -1/2 (pow.f64 re 2))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3))
(*.f64 -1/2 (pow.f64 re 2))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 -1/2 (pow.f64 re 2))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 -1/2 (pow.f64 re 2))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (pow.f64 re 2))) 1))
(*.f64 -1/2 (pow.f64 re 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 -1/2 (pow.f64 re 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))) 1)
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 3)
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 3) 1/3)
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (cos.f64 re) 2) 1/4)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) (pow.f64 (cos.f64 re) 2)) 1/4))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))))
(fabs.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 3))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (*.f64 (cos.f64 re) 1/2) 3)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (pow.f64 im 2) 3)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) 1))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))) 1)
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(*.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 1)
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(*.f64 1 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (pow.f64 im 4) 1/4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4)) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) 1) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) 1/4))) (neg.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 1)
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 3)
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 3) 1/3)
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 2)
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))) (exp.f64 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re)) 3))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))) 1))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))

eval182.0ms (2.9%)

Compiler

Compiled 7762 to 5427 computations (30.1% saved)

prune61.0ms (1%)

Pruning

18 alts after pruning (8 fresh and 10 done)

PrunedKeptTotal
New6194623
Fresh145
Picked145
Done066
Total62118639
Accuracy
100.0%
Counts
639 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.8%
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
10.9%
(-.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
16.9%
(-.f64 (log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
2.9%
(-.f64 (cos.f64 re) 2)
73.8%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
11.2%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
27.1%
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
29.6%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
20.6%
(*.f64 (pow.f64 im 2) 1/2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
45.0%
(*.f64 1/2 (fma.f64 im im 2))
63.8%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
73.8%
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
47.6%
(cos.f64 re)
8.2%
2
27.4%
1
8.0%
1/4
3.2%
-1
Compiler

Compiled 314 to 231 computations (26.4% saved)

regimes76.0ms (1.2%)

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

6 calls:

15.0ms
re
13.0ms
im
13.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
13.0ms
(cos.f64 re)
11.0ms
(*.f64 1/2 (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 206 to 141 computations (31.6% saved)

regimes113.0ms (1.8%)

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

4 calls:

38.0ms
im
25.0ms
re
21.0ms
(*.f64 1/2 (cos.f64 re))
21.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
73.8%1re
29.6%1im
63.8%1(*.f64 1/2 (cos.f64 re))
63.8%1(cos.f64 re)
Compiler

Compiled 163 to 115 computations (29.4% saved)

regimes82.0ms (1.3%)

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

3 calls:

30.0ms
re
24.0ms
(*.f64 1/2 (cos.f64 re))
24.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
63.8%1(*.f64 1/2 (cos.f64 re))
63.8%1(cos.f64 re)
34.5%1re
Compiler

Compiled 109 to 75 computations (31.2% saved)

regimes18.0ms (0.3%)

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

1 calls:

15.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
64.8%1(cos.f64 re)
Compiler

Compiled 76 to 52 computations (31.6% saved)

regimes17.0ms (0.3%)

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

1 calls:

14.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
45.0%1(cos.f64 re)
Compiler

Compiled 69 to 49 computations (29% saved)

regimes7.0ms (0.1%)

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

1 calls:

5.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
47.6%1(cos.f64 re)
Compiler

Compiled 25 to 18 computations (28% saved)

regimes12.0ms (0.2%)

Counts
4 → 1
Calls
Call 1
Inputs
-1
1/4
1
2
Outputs
1
Calls

2 calls:

7.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
27.4%1im
27.4%1re
Compiler

Compiled 12 to 10 computations (16.7% saved)

regimes7.0ms (0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
-1
1/4
Outputs
1/4
Calls

2 calls:

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

Compiled 10 to 8 computations (20% saved)

regimes6.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
-1
Outputs
-1
Calls

2 calls:

3.0ms
re
2.0ms
im
Results
AccuracySegmentsBranch
3.2%1re
3.2%1im
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
029169
144169
246169
347169
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (fma.f64 im im 2))
(cos.f64 re)
1
1/4
-1
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (fma.f64 im im 2)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (fma.f64 im im 2))
(cos.f64 re)
1
1/4
-1
Compiler

Compiled 64 to 50 computations (21.9% saved)

soundness482.0ms (7.6%)

Rules
1680×fma-def
1484×distribute-rgt-out
1414×associate-+r+
1388×unswap-sqr
1030×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01969
124769
2360769
01677
120277
2329977
067749
1154744
2383709
31301695
42378686
52784686
64566686
77146686
023116
1299112
23740112
02944861
17474613
226014426
Stop Event
node limit
node limit
node limit
unsound
unsound
Compiler

Compiled 121 to 82 computations (32.2% saved)

end0.0ms (0%)

preprocess83.0ms (1.3%)

Remove

(abs im)

(abs re)

Compiler

Compiled 642 to 474 computations (26.2% saved)

Profiling

Loading profile data...