math.cos on complex, real part

Details

Time bar (total: 7.5s)

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.1s (28.5%)

Results
524.0ms1020×body1024valid
470.0ms2568×body256valid
440.0ms1036×body1024infinite
371.0ms2542×body256infinite
170.0ms560×body512valid
138.0ms529×body512infinite
1.0msbody2048valid
Bogosity

preprocess162.0ms (2.2%)

Algorithm
egg-herbie
Rules
1744×fma-def
1496×times-frac
770×sqr-pow
640×unswap-sqr
620×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
15170
213870
326366
438066
568366
6155466
7263766
8378966
9453366
10512166
11601566
12750766
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify108.0ms (1.4%)

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

Useful iterations: 3 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Accurracy
100.0%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize73.0ms (1%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
2 → 28
Calls

9 calls:

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

rewrite34.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
264×add-exp-log
262×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
127340
2427840
Stop Event
unsound
Counts
2 → 42
Calls
Call 1
Inputs
(cos.f64 re)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.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) 3)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
166×fma-def
154×associate-*r*
136×associate-*l*
98×*-commutative
94×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01391086
13621086
218131086
Stop Event
unsound
Counts
70 → 67
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 -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) 3)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 1 (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 -1/4 (*.f64 re re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 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 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)))))
(*.f64 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))))
(+.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 re re)) (cos.f64 0)) -2)
(pow.f64 (cos.f64 re) -2)
1
(pow.f64 (cos.f64 re) 1)
1
(pow.f64 (cos.f64 re) 3)
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) 3)
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

eval15.0ms (0.2%)

Compiler

Compiled 963 to 466 computations (51.6% saved)

prune18.0ms (0.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New61667
Fresh000
Picked011
Done000
Total61768
Accurracy
100.0%
Counts
68 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.5%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
8.7%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
11.9%
(+.f64 (cos.f64 re) (cos.f64 re))
55.9%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re 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)))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.6%
(cos.f64 re)
78.5%
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
8.7%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
11.9%
(+.f64 (cos.f64 re) (cos.f64 re))
55.9%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re 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)))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.6%
(cos.f64 re)
Compiler

Compiled 262 to 192 computations (26.7% saved)

localize131.0ms (1.8%)

Local Accuracy

Found 7 expressions with local accuracy:

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

Compiled 75 to 24 computations (68% saved)

series6.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite98.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1300×log-prod
790×pow-prod-down
670×pow-prod-up
620×pow-exp
498×expm1-udef
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01463
128763
2329363
Stop Event
node limit
Counts
3 → 82
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (*.f64 im im))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(+.f64 0 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 1) (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 1)
(*.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)))
(pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(+.f64 0 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))) 1)
(*.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)) 1)
(*.f64 1 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(expm1.f64 (log1p.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2))))

simplify97.0ms (1.3%)

Algorithm
egg-herbie
Rules
1686×fma-def
678×log-prod
626×distribute-lft-in
588×*-commutative
588×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02703830
16353434
218913358
371903342
Stop Event
node limit
Counts
142 → 157
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)) (*.f64 (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720) (pow.f64 re 6))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4))))
(+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 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))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(+.f64 0 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 1) (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 1)
(*.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 1)
(*.f64 1 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)))
(pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(+.f64 0 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))) 1)
(*.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)) 1)
(*.f64 1 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(expm1.f64 (log1p.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2))))
Outputs
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im))
(*.f64 (*.f64 im im) (fma.f64 (*.f64 -1/2 re) re 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 (*.f64 -1/2 re) re 1) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (+.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 im im) (*.f64 re re)) (*.f64 -1/720 (*.f64 (*.f64 im im) (pow.f64 re 6))))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 re 4)) (fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 (*.f64 re re)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 im im (*.f64 (*.f64 im im) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 re (*.f64 -1/2 re))))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 im (*.f64 im 1/2) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2))))
(+.f64 1 (fma.f64 (*.f64 re re) (fma.f64 (*.f64 im im) -1/4 -1/2) (*.f64 im (*.f64 im 1/2))))
(fma.f64 im (*.f64 im 1/2) (fma.f64 re (*.f64 re (fma.f64 im (*.f64 im -1/4) -1/2)) 1))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2)))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (fma.f64 (*.f64 im im) 1/48 1/24) (fma.f64 (*.f64 re re) (fma.f64 (*.f64 im im) -1/4 -1/2) (*.f64 im (*.f64 im 1/2)))))
(fma.f64 (pow.f64 re 4) (fma.f64 im (*.f64 im 1/48) 1/24) (fma.f64 im (*.f64 im 1/2) (fma.f64 re (*.f64 re (fma.f64 im (*.f64 im -1/4) -1/2)) 1)))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)) (*.f64 (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720) (pow.f64 re 6))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (fma.f64 1/2 (*.f64 im im) (fma.f64 (fma.f64 -1/4 (*.f64 im im) -1/2) (*.f64 re re) (*.f64 (pow.f64 re 6) (fma.f64 -1/1440 (*.f64 im im) -1/720))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (fma.f64 (*.f64 im im) 1/48 1/24) (fma.f64 (*.f64 im im) 1/2 (fma.f64 (pow.f64 re 6) (fma.f64 (*.f64 im im) -1/1440 -1/720) (*.f64 (*.f64 re re) (fma.f64 (*.f64 im im) -1/4 -1/2))))))
(+.f64 (fma.f64 im (*.f64 im 1/2) (fma.f64 re (*.f64 re (fma.f64 im (*.f64 im -1/4) -1/2)) 1)) (fma.f64 (pow.f64 re 6) (fma.f64 im (*.f64 im -1/1440) -1/720) (*.f64 (pow.f64 re 4) (fma.f64 im (*.f64 im 1/48) 1/24))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(fma.f64 (*.f64 re re) 1/4 1/4)
(*.f64 1/4 (fma.f64 re re 1))
(+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4))))
(+.f64 1/4 (fma.f64 1/4 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/6)))
(+.f64 1/4 (fma.f64 (pow.f64 re 4) 1/6 (*.f64 re (*.f64 re 1/4))))
(fma.f64 (pow.f64 re 4) 1/6 (*.f64 1/4 (fma.f64 re re 1)))
(+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 1/4 (+.f64 (*.f64 1/4 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 4)))))
(fma.f64 17/180 (pow.f64 re 6) (+.f64 1/4 (fma.f64 1/4 (*.f64 re re) (*.f64 (pow.f64 re 4) 1/6))))
(+.f64 (fma.f64 (pow.f64 re 4) 1/6 (*.f64 re (*.f64 re 1/4))) (fma.f64 (pow.f64 re 6) 17/180 1/4))
(fma.f64 (fma.f64 re re 1) 1/4 (fma.f64 (pow.f64 re 4) 1/6 (*.f64 (pow.f64 re 6) 17/180)))
(/.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))
(/.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))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (cos.f64 re))))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 1)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 im im)) 1)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 3)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (cos.f64 re)))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im)))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 im im))) 1) 1))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 im im)))) 3))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 im im))))
(*.f64 (*.f64 im im) (cos.f64 re))
(*.f64 im (*.f64 im (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 0 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 1) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 im im) 1/2 1)) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 im im) 1/2 1)) (cos.f64 re)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 im (*.f64 im 1/2) 1)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 1)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 1)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 1 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) 3) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 (*.f64 im im) 1/2) (pow.f64 (cos.f64 re) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 3) 1) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 2) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (fma.f64 1/8 (pow.f64 (*.f64 im im) 3) 1)) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 (*.f64 im im) -1/2) (*.f64 1/4 (pow.f64 im 4))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 (*.f64 im im) 1/2)) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 (cos.f64 re) (*.f64 im (*.f64 im 1/2))) (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))
(pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 1)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 3)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 2) 1/2)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 3) 1/3)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 2)
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 2))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (exp.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(cbrt.f64 (pow.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)) 3))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(expm1.f64 (log1p.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 1))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))) 1) 1))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 3))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 1/3))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re)))) 2))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log1p.f64 (expm1.f64 (fma.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im) (cos.f64 re))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 0 (*.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)))) 1)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2)) 1)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1 (*.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 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) 3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -6)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.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))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.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))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -4))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) 3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -6)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(log1p.f64 (expm1.f64 (*.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))

eval314.0ms (4.2%)

Compiler

Compiled 9774 to 4948 computations (49.4% saved)

prune113.0ms (1.5%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New81910829
Fresh011
Picked325
Done011
Total82214836
Accurracy
100.0%
Counts
836 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
54.1%
(fma.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im)) (cos.f64 re))
65.7%
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
78.5%
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
47.5%
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
28.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
12.1%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
78.5%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
55.9%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re 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)))
25.0%
(*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.6%
(cos.f64 re)
29.4%
1
8.7%
1/4
54.1%
(fma.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 re re)) 1) (*.f64 im im)) (cos.f64 re))
65.7%
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
78.5%
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
47.5%
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
28.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
12.1%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
78.5%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
55.9%
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re 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)))
25.0%
(*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.6%
(cos.f64 re)
29.4%
1
8.7%
1/4
Compiler

Compiled 554 to 414 computations (25.3% saved)

localize345.0ms (4.6%)

Local Accuracy

Found 7 expressions with local accuracy:

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

Compiled 159 to 70 computations (56% saved)

series7.0ms (0.1%)

Counts
5 → 108
Calls

27 calls:

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

rewrite45.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
522×add-sqr-sqrt
506×pow1
506×*-un-lft-identity
484×add-exp-log
484×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025115
1552115
Stop Event
node limit
Counts
5 → 100
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
(*.f64 (*.f64 1/2 (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
re
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
re
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
re
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
re
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
im
re

simplify104.0ms (1.4%)

Algorithm
egg-herbie
Rules
1518×fma-def
998×distribute-lft-in
968×distribute-rgt-in
884×associate-*r*
862×distribute-lft-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01154022
13263432
211093202
348673114
Stop Event
node limit
Counts
208 → 98
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)) (*.f64 (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720) (pow.f64 re 6))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))))))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 1/720 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 6))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
Outputs
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 im (*.f64 1/2 im))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 im im) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) 1/2))
(*.f64 im (*.f64 im (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/48 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (*.f64 im im) (+.f64 1/2 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(fma.f64 -1/1440 (*.f64 (*.f64 im im) (pow.f64 re 6)) (fma.f64 1/2 (*.f64 im im) (fma.f64 1/48 (*.f64 (*.f64 im im) (pow.f64 re 4)) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) 1/2)))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4))) (fma.f64 -1/1440 (pow.f64 re 6) 1/2)))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/1440 (pow.f64 re 6) 1/2) (fma.f64 -1/4 (*.f64 re re) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 im im)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 1/2 im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re (fma.f64 (*.f64 im im) -1/4 -1/2)))))
(*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 re (*.f64 re -1/2) 1))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2)))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (fma.f64 (*.f64 im im) 1/48 1/24) (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re (fma.f64 (*.f64 im im) -1/4 -1/2))))))
(fma.f64 (pow.f64 re 4) (fma.f64 im (*.f64 im 1/48) 1/24) (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1)))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (fma.f64 re (*.f64 re -1/2) 1) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)) (*.f64 (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720) (pow.f64 re 6))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (fma.f64 1/2 (*.f64 im im) (fma.f64 (fma.f64 -1/4 (*.f64 im im) -1/2) (*.f64 re re) (*.f64 (pow.f64 re 6) (fma.f64 -1/1440 (*.f64 im im) -1/720))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (fma.f64 (*.f64 im im) 1/48 1/24) (fma.f64 1/2 (*.f64 im im) (fma.f64 (*.f64 re re) (fma.f64 (*.f64 im im) -1/4 -1/2) (*.f64 (pow.f64 re 6) (fma.f64 (*.f64 im im) -1/1440 -1/720))))))
(+.f64 (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1)) (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (+.f64 (*.f64 (pow.f64 re 6) -1/720) (*.f64 (pow.f64 re 4) 1/24))))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (fma.f64 re (*.f64 re -1/2) 1) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 im im)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 1/2 im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re (fma.f64 (*.f64 im im) -1/4 -1/2)))))
(*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 re (*.f64 re -1/2) 1))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2)))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (fma.f64 (*.f64 im im) 1/48 1/24) (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re (fma.f64 (*.f64 im im) -1/4 -1/2))))))
(fma.f64 (pow.f64 re 4) (fma.f64 im (*.f64 im 1/48) 1/24) (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1)))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (fma.f64 re (*.f64 re -1/2) 1) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 1 (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2))) (*.f64 -1/720 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 6)))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (*.f64 im im) 1/48)) (fma.f64 1/2 (*.f64 im im) (fma.f64 (fma.f64 -1/4 (*.f64 im im) -1/2) (*.f64 re re) (*.f64 (pow.f64 re 6) (fma.f64 -1/1440 (*.f64 im im) -1/720))))))
(+.f64 1 (fma.f64 (pow.f64 re 4) (fma.f64 (*.f64 im im) 1/48 1/24) (fma.f64 1/2 (*.f64 im im) (fma.f64 (*.f64 re re) (fma.f64 (*.f64 im im) -1/4 -1/2) (*.f64 (pow.f64 re 6) (fma.f64 (*.f64 im im) -1/1440 -1/720))))))
(+.f64 (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1)) (*.f64 (fma.f64 im (*.f64 1/2 im) 1) (+.f64 (*.f64 (pow.f64 re 6) -1/720) (*.f64 (pow.f64 re 4) 1/24))))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (fma.f64 re (*.f64 re -1/2) 1) (+.f64 (*.f64 (pow.f64 re 4) 1/24) (*.f64 (pow.f64 re 6) -1/720))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cos.f64 re) (fma.f64 im (*.f64 1/2 im) 1))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (*.f64 re re) -1/2)
(*.f64 re (*.f64 re -1/2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (*.f64 re (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (*.f64 re (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(fma.f64 (*.f64 re re) -1/2 1)
(fma.f64 re (*.f64 re -1/2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 (*.f64 re re) (fma.f64 -1/4 (*.f64 im im) -1/2))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re (fma.f64 (*.f64 im im) -1/4 -1/2)))))
(*.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 re (*.f64 re -1/2) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 re (*.f64 re -1/2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/24 (*.f64 (+.f64 1 (*.f64 (*.f64 re re) -1/2)) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (*.f64 im im) (+.f64 1 (*.f64 (*.f64 re re) -1/2)))))))
(+.f64 1 (fma.f64 (*.f64 re re) -1/2 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (*.f64 re re) -1/2 1)) (*.f64 1/24 (*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4))))))
(+.f64 1 (fma.f64 re (*.f64 re -1/2) (*.f64 (fma.f64 re (*.f64 re -1/2) 1) (+.f64 (*.f64 im (*.f64 1/2 im)) (*.f64 1/24 (pow.f64 im 4))))))
(*.f64 (fma.f64 re (*.f64 re -1/2) 1) (+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/720 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 6))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))))
(+.f64 1 (fma.f64 1/720 (*.f64 (+.f64 1 (*.f64 (*.f64 re re) -1/2)) (pow.f64 im 6)) (fma.f64 -1/2 (*.f64 re re) (fma.f64 1/24 (*.f64 (+.f64 1 (*.f64 (*.f64 re re) -1/2)) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (*.f64 im im) (+.f64 1 (*.f64 (*.f64 re re) -1/2))))))))
(+.f64 1 (fma.f64 1/720 (*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 6)) (fma.f64 (*.f64 re re) -1/2 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (*.f64 re re) -1/2 1)) (*.f64 1/24 (*.f64 (fma.f64 (*.f64 re re) -1/2 1) (pow.f64 im 4)))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 im 4)) 1) (fma.f64 re (*.f64 re -1/2) 1)) (*.f64 (fma.f64 re (*.f64 re -1/2) 1) (+.f64 (*.f64 im (*.f64 1/2 im)) (*.f64 1/720 (pow.f64 im 6)))))
(fma.f64 (pow.f64 im 6) (+.f64 1/720 (*.f64 (*.f64 re re) -1/1440)) (*.f64 (fma.f64 re (*.f64 re -1/2) 1) (+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) (+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (*.f64 (*.f64 re re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/4 (*.f64 re re) 1/2))
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27
-1
-1/2
-1/4
-1/8
-1/512
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
27

eval115.0ms (1.5%)

Compiler

Compiled 4226 to 2350 computations (44.4% saved)

prune48.0ms (0.6%)

Pruning

14 alts after pruning (7 fresh and 7 done)

PrunedKeptTotal
New2633266
Fresh246
Picked145
Done033
Total26614280
Accurracy
100.0%
Counts
280 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.7%
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
78.5%
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
74.5%
(+.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re))
47.5%
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
28.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
12.1%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
42.9%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
78.5%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.7%
(*.f64 re (*.f64 re (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.6%
(cos.f64 re)
29.4%
1
8.7%
1/4
65.7%
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
78.5%
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
74.5%
(+.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re))
47.5%
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
28.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
12.1%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
42.9%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
78.5%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.7%
(*.f64 re (*.f64 re (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
56.6%
(cos.f64 re)
29.4%
1
8.7%
1/4
Compiler

Compiled 452 to 340 computations (24.8% saved)

localize576.0ms (7.7%)

Local Accuracy

Found 10 expressions with local accuracy:

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

Compiled 227 to 123 computations (45.8% saved)

series16.0ms (0.2%)

Counts
7 → 148
Calls

39 calls:

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

rewrite152.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
812×add-sqr-sqrt
794×pow1
790×*-un-lft-identity
760×add-exp-log
760×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040213
1901189
Stop Event
node limit
Counts
7 → 114
Calls
Call 1
Inputs
(+.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (+.f64 1 (*.f64 -1/2 (*.f64 re re))))
(*.f64 re (*.f64 -1/4 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
(pow.f64 (cos.f64 re) 2)
(*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))) 1)
(*.f64 1 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))
(pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 1)
(pow.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 2) (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 2)
(log.f64 (exp.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 im (*.f64 im 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/2))) (exp.f64 (cos.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 2) (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(expm1.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 (*.f64 im 1/2) im (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 2) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(+.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) 1) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 -1/2 (*.f64 re re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)))) 1)
(pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))) 2)
(log.f64 (exp.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 im (*.f64 im 1/2)))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 im (*.f64 im 1/2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(fma.f64 1 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 (fma.f64 im (*.f64 im 1/2) 1) 1 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 -1/2 (*.f64 re re))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))))) 1)
(pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 2)
(log.f64 (exp.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (log.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))) 1)
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))
(*.f64 1 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) (/.f64 1 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 2) (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 2)
(pow.f64 (/.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) -1)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 2) (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 re))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2))) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 1 (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (pow.f64 (cos.f64 re) 2)))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 2)) (sqrt.f64 (pow.f64 (cos.f64 re) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) 2)
(log.f64 (exp.f64 (pow.f64 (cos.f64 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 re) 2))))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 4) (pow.f64 (cos.f64 re) 2)))
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2)))
(exp.f64 (log.f64 (pow.f64 (cos.f64 re) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 2) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 2)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 2) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(+.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (*.f64 (pow.f64 (cos.f64 re) 2) -1))
(+.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)))) 1)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 2)
(log.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(fma.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)) (*.f64 (pow.f64 (cos.f64 re) 2) -1))
(fma.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))

simplify125.0ms (1.7%)

Algorithm
egg-herbie
Rules
1340×times-frac
718×unswap-sqr
700×associate-+l+
612×associate-+r+
466×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03958722
19968636
232007832
Stop Event
node limit
Counts
262 → 258
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/2 re)
(+.f64 (*.f64 -1/2 re) (*.f64 -1/4 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 -1/48 (*.f64 re (pow.f64 im 4))) (*.f64 -1/4 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 -1/48 (*.f64 re (pow.f64 im 4))) (*.f64 -1/4 (*.f64 re (pow.f64 im 2))))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))) (/.f64 1 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))))) (/.f64 1 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 6)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))))) (/.f64 1 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.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 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
1
(+.f64 1 (*.f64 -1 (pow.f64 re 2)))
(+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 re 6)) (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2)))))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2)))) 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4))))) 1)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 6))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4)))))) 1)
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 -1 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2))) (*.f64 1/4 (pow.f64 im 4))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2))) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4))) (*.f64 1/4 (pow.f64 im 4)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2))) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 -2/45 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 6)))))) 1)
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 -1 (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))) 1)
(*.f64 1 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))
(pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 1)
(pow.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 2) (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 2)
(log.f64 (exp.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 im (*.f64 im 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/2))) (exp.f64 (cos.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 2) (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(expm1.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 (*.f64 im 1/2) im (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 2) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(+.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) 1) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 -1/2 (*.f64 re re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)))) 1)
(pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))) 2)
(log.f64 (exp.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 im (*.f64 im 1/2)))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 im (*.f64 im 1/2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(fma.f64 1 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 (fma.f64 im (*.f64 im 1/2) 1) 1 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 -1/2 (*.f64 re re))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))))) 1)
(pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 2)
(log.f64 (exp.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (log.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))) 1)
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))
(*.f64 1 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) (/.f64 1 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 2) (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 2)
(pow.f64 (/.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) -1)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 2) (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 re))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2))) 1)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 1 (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (pow.f64 (cos.f64 re) 2)))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 2)) (sqrt.f64 (pow.f64 (cos.f64 re) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) 2)
(log.f64 (exp.f64 (pow.f64 (cos.f64 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 re) 2))))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 4) (pow.f64 (cos.f64 re) 2)))
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2)))
(exp.f64 (log.f64 (pow.f64 (cos.f64 re) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))) 1)
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 2) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 2)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 2) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(+.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (*.f64 (pow.f64 (cos.f64 re) 2) -1))
(+.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)))) 1)
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 2)
(log.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(fma.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)) (*.f64 (pow.f64 (cos.f64 re) 2) -1))
(fma.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 im (*.f64 1/2 im) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (fma.f64 im (*.f64 1/2 im) 1) (*.f64 -1/2 (*.f64 re re)))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re -1/2))))
(+.f64 (*.f64 re (*.f64 re -1/2)) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 im (*.f64 1/2 im) 1) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 re (*.f64 re -1/2))) (fma.f64 1/24 (pow.f64 re 4) 1))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (*.f64 re (*.f64 re -1/2)) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(fma.f64 1/24 (pow.f64 re 4) (+.f64 (fma.f64 im (*.f64 1/2 im) 1) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) (*.f64 -1/720 (pow.f64 re 6)))) (fma.f64 1/24 (pow.f64 re 4) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 1 (*.f64 -1/2 (pow.f64 re 2)))
(fma.f64 -1/2 (*.f64 re re) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 im (*.f64 1/2 im) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))
(*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 im (*.f64 1/2 im) 1)))
(*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))
(*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 im (*.f64 1/2 im) 1)))
(*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/2 re)
(*.f64 re -1/2)
(+.f64 (*.f64 -1/2 re) (*.f64 -1/4 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/2 re (*.f64 (*.f64 -1/4 re) (*.f64 im im)))
(fma.f64 re -1/2 (*.f64 (*.f64 im im) (*.f64 re -1/4)))
(*.f64 re (+.f64 (*.f64 -1/4 (*.f64 im im)) -1/2))
(+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 -1/48 (*.f64 re (pow.f64 im 4))) (*.f64 -1/4 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/2 re (fma.f64 -1/48 (*.f64 re (pow.f64 im 4)) (*.f64 (*.f64 -1/4 re) (*.f64 im im))))
(fma.f64 re -1/2 (fma.f64 -1/4 (*.f64 re (*.f64 im im)) (*.f64 re (*.f64 (pow.f64 im 4) -1/48))))
(fma.f64 re -1/2 (*.f64 re (+.f64 (*.f64 (*.f64 im im) -1/4) (*.f64 (pow.f64 im 4) -1/48))))
(+.f64 (*.f64 -1/1440 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 -1/48 (*.f64 re (pow.f64 im 4))) (*.f64 -1/4 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/1440 (*.f64 re (pow.f64 im 6)) (fma.f64 -1/2 re (fma.f64 -1/48 (*.f64 re (pow.f64 im 4)) (*.f64 (*.f64 -1/4 re) (*.f64 im im)))))
(fma.f64 -1/1440 (*.f64 re (pow.f64 im 6)) (fma.f64 re -1/2 (fma.f64 -1/4 (*.f64 re (*.f64 im im)) (*.f64 re (*.f64 (pow.f64 im 4) -1/48)))))
(fma.f64 -1/1440 (*.f64 re (pow.f64 im 6)) (fma.f64 re -1/2 (*.f64 re (+.f64 (*.f64 (*.f64 im im) -1/4) (*.f64 (pow.f64 im 4) -1/48)))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 -1/4 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1/4 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/4 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))) (/.f64 1 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(+.f64 (*.f64 -1/2 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 re re)))) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(fma.f64 -1/2 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 re re))) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 re re)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))))) (/.f64 1 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(-.f64 (fma.f64 -1/2 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 re re))) (fma.f64 1/24 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (pow.f64 re 4))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (fma.f64 1/2 (*.f64 im im) -1))))) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)))
(+.f64 (fma.f64 -1/2 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 re re))) (/.f64 (*.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (*.f64 im im) -1))) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 re re)) (/.f64 (*.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 1/2 (*.f64 im im) -1))) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 6)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))))) (/.f64 1 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(-.f64 (fma.f64 -1/2 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 re re))) (fma.f64 1/24 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (pow.f64 re 4))) (fma.f64 -1/720 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (pow.f64 re 6))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (fma.f64 1/2 (*.f64 im im) -1)))))) (/.f64 1 (fma.f64 1/2 (*.f64 im im) -1)))
(fma.f64 -1/2 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 re re))) (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 re 4)) (*.f64 -1/720 (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 re 6)))) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)) (pow.f64 re 4)) (/.f64 -1/720 (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 4) 1/4 -1))))) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 re re)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (cos.f64 re))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
1
(+.f64 1 (*.f64 -1 (pow.f64 re 2)))
(+.f64 1 (neg.f64 (*.f64 re re)))
(-.f64 1 (*.f64 re re))
(+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/3 (pow.f64 re 4) (neg.f64 (*.f64 re re))))
(+.f64 1 (-.f64 (*.f64 (pow.f64 re 4) 1/3) (*.f64 re re)))
(-.f64 (+.f64 1 (*.f64 (pow.f64 re 4) 1/3)) (*.f64 re re))
(+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 re 6)) (+.f64 (*.f64 1/3 (pow.f64 re 4)) (*.f64 -1 (pow.f64 re 2)))))
(+.f64 1 (fma.f64 -2/45 (pow.f64 re 6) (fma.f64 1/3 (pow.f64 re 4) (neg.f64 (*.f64 re re)))))
(+.f64 1 (fma.f64 (pow.f64 re 6) -2/45 (-.f64 (*.f64 (pow.f64 re 4) 1/3) (*.f64 re re))))
(+.f64 (-.f64 1 (*.f64 re re)) (fma.f64 (pow.f64 re 6) -2/45 (*.f64 (pow.f64 re 4) 1/3)))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 1/2 (*.f64 im im) -1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2)))) 1)
(+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) -1)))) -1)
(fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) -1)) -1))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) -1))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4))))) 1)
(+.f64 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) -1))))) -1)
(+.f64 -1 (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) -1))))))
(+.f64 (fma.f64 1/2 (*.f64 im im) -1) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (+.f64 (*.f64 re (*.f64 re -1/2)) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 6))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4)))))) 1)
(+.f64 (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) -1)))))) -1)
(+.f64 -1 (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/2 (*.f64 im im) (fma.f64 -1/2 (*.f64 (*.f64 re re) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (*.f64 im im) -1)))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) -1)) (*.f64 (fma.f64 1/2 (*.f64 im im) -1) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 -1 (cos.f64 re))
(neg.f64 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 im im))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) im) im))
(*.f64 im (*.f64 (cos.f64 re) (*.f64 1/2 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(-.f64 (*.f64 1/4 (pow.f64 im 4)) 1)
(fma.f64 1/4 (pow.f64 im 4) -1)
(fma.f64 (pow.f64 im 4) 1/4 -1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2))) (*.f64 1/4 (pow.f64 im 4))) 1)
(+.f64 (neg.f64 (*.f64 (*.f64 re re) (fma.f64 1/4 (pow.f64 im 4) -1))) (fma.f64 1/4 (pow.f64 im 4) -1))
(fma.f64 (neg.f64 (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 re re) (fma.f64 (pow.f64 im 4) 1/4 -1))
(*.f64 (-.f64 1 (*.f64 re re)) (fma.f64 (pow.f64 im 4) 1/4 -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2))) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4))) (*.f64 1/4 (pow.f64 im 4)))) 1)
(+.f64 (fma.f64 -1 (*.f64 (*.f64 re re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/3 (*.f64 (pow.f64 re 4) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (pow.f64 im 4) 1/4))) -1)
(+.f64 -1 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 re 4) (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) 1/3))) (*.f64 re (*.f64 re (fma.f64 (pow.f64 im 4) 1/4 -1)))))
(+.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (-.f64 (*.f64 (pow.f64 re 4) 1/3) (*.f64 re re))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 2))) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 4))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 -2/45 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1) (pow.f64 re 6)))))) 1)
(+.f64 (fma.f64 -1 (*.f64 (*.f64 re re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/3 (*.f64 (pow.f64 re 4) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 (pow.f64 re 6) (fma.f64 1/4 (pow.f64 im 4) -1)) -2/45)))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/4 -1)) 1/3 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (pow.f64 re 6) -2/45)))) (*.f64 re (*.f64 re (fma.f64 (pow.f64 im 4) 1/4 -1)))))
(+.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 (pow.f64 re 6) -2/45 (*.f64 (pow.f64 re 4) 1/3))) (*.f64 (-.f64 1 (*.f64 re re)) (fma.f64 (pow.f64 im 4) 1/4 -1)))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (pow.f64 (cos.f64 re) 2) (-.f64 (*.f64 1/4 (pow.f64 im 4)) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 -1 (pow.f64 (cos.f64 re) 2))
(neg.f64 (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(*.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) 2)) (pow.f64 im 4))
(*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4)))
(*.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) 2)) (pow.f64 im 4))
(*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 (cos.f64 re) 2)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (cos.f64 re) 2) (pow.f64 im 4))) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 1 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 2) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 im (*.f64 im 1/2)) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 2) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 (cos.f64 re) 2)) (fma.f64 1/2 (*.f64 im im) (neg.f64 (cos.f64 re))))
(pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 1)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 2) (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 1/3)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 2)
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 im (*.f64 im 1/2)))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (*.f64 im (*.f64 im 1/2))) (exp.f64 (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re)) 2) (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))) 1))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 im (*.f64 im 1/2) (cos.f64 re))))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 im (*.f64 im 1/2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 1 (*.f64 im (*.f64 im 1/2)) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 im im) 1/2 (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (*.f64 im 1/2) im (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/2))) 2) (cbrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 im (*.f64 im 1/2)))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (sqrt.f64 (*.f64 im (*.f64 im 1/2))) (cos.f64 re))
(fma.f64 1/2 (*.f64 im im) (cos.f64 re))
(+.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) 1) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)))) 1)
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 1)
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))) 1/3)
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))) 2)
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (exp.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1)) 2) (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 im (*.f64 im 1/2)))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 re (*.f64 re -1/2))) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 im (*.f64 im 1/2)))) 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (*.f64 re re))) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 re (*.f64 re -1/2))) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 -1/2 (*.f64 re re) 1))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 im (*.f64 im 1/2) 1) 1 (*.f64 (fma.f64 im (*.f64 im 1/2) 1) (*.f64 -1/2 (*.f64 re re))))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) 2) (cbrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (sqrt.f64 (fma.f64 im (*.f64 im 1/2) 1)) (*.f64 (*.f64 -1/2 (*.f64 re re)) (fma.f64 im (*.f64 im 1/2) 1)))
(+.f64 (fma.f64 -1/2 (*.f64 re re) 1) (*.f64 (*.f64 1/2 (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 im im)))
(+.f64 1 (fma.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 -1/2 (*.f64 re re) 1)) (*.f64 re (*.f64 re -1/2))))
(*.f64 (fma.f64 -1/2 (*.f64 re re) 1) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))))) 1)
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 1)
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(pow.f64 (*.f64 (pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 1/3)
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 2)
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(log.f64 (exp.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))))))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(exp.f64 (log.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))) 1))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 -1/4 (*.f64 2 (cosh.f64 im))))))
(*.f64 re (*.f64 -1/2 (cosh.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 1 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) (/.f64 1 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 2) (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 1/3)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 2)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (/.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) -1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1))) 2) (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 im (*.f64 im 1/2) -1)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (*.f64 im im) -1)))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 re))))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 re re))))
(fma.f64 1/2 (cos.f64 (+.f64 re re)) 1/2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2))) 1)
(pow.f64 (cos.f64 re) 2)
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (cos.f64 re) 2)
(*.f64 1 (pow.f64 (cos.f64 re) 2))
(pow.f64 (cos.f64 re) 2)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 2)) (sqrt.f64 (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 2) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(pow.f64 (cos.f64 re) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0)) 2)
(/.f64 (+.f64 1 (cos.f64 (+.f64 re re))) 2)
(log.f64 (exp.f64 (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 re) 2))))
(pow.f64 (cos.f64 re) 2)
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 4) (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(exp.f64 (log.f64 (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 re) 2)) 1))
(pow.f64 (cos.f64 re) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 re) 2)))
(pow.f64 (cos.f64 re) 2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 2) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1)) 2) (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (fma.f64 im (*.f64 im 1/2) -1))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (*.f64 im im) -1))
(+.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (*.f64 (pow.f64 (cos.f64 re) 2) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(+.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)))) 1)
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 1)
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 1/3)
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 2)
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1)) 2) (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))) 1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (fma.f64 1/4 (pow.f64 im 4) -1))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(fma.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)) (*.f64 (pow.f64 (cos.f64 re) 2) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))
(fma.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2) (*.f64 -1 (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (pow.f64 (cos.f64 re) 2))
(*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (pow.f64 (cos.f64 re) 2))

eval199.0ms (2.7%)

Compiler

Compiled 8130 to 5596 computations (31.2% saved)

prune75.0ms (1%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New3686374
Fresh022
Picked325
Done077
Total37117388
Accurracy
100.0%
Counts
388 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.4%
(/.f64 (neg.f64 (pow.f64 (cos.f64 re) 2)) (*.f64 (cos.f64 re) (-.f64 (*.f64 im (*.f64 im 1/2)) 1)))
78.5%
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re))
74.5%
(+.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re))
47.5%
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
28.8%
(+.f64 1 (*.f64 -1/2 (*.f64 re re)))
12.1%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
8.3%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (*.f64 (*.f64 re re) -1/2))
78.5%
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
4.9%
(*.f64 (*.f64 re re) -1/2)
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
8.3%
(*.f64 re (*.f64 re (+.f64 (*.f64 -1/4 (*.f64 im im)) -1/2)))
9.7%
(*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im))))
64.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
21.1%
(*.f64 1/2 (*.f64 im im))
56.6%
(cos.f64 re)
29.4%
1
8.7%
1/4
Compiler

Compiled 408 to 251 computations (38.5% saved)

regimes88.0ms (1.2%)

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

6 calls:

32.0ms
im
15.0ms
re
11.0ms
(*.f64 1/2 (cos.f64 re))
11.0ms
(cos.f64 re)
9.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
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 280 to 157 computations (43.9% saved)

regimes100.0ms (1.3%)

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

4 calls:

40.0ms
im
30.0ms
re
19.0ms
(cos.f64 re)
6.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
AccuracySegmentsBranch
90.4%3re
94.1%4im
90.3%2(cos.f64 re)
91.8%2(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 211 to 113 computations (46.4% saved)

regimes36.0ms (0.5%)

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

1 calls:

32.0ms
im
Results
AccuracySegmentsBranch
94.1%4im
Compiler

Compiled 132 to 76 computations (42.4% saved)

regimes97.0ms (1.3%)

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

3 calls:

58.0ms
(cos.f64 re)
23.0ms
im
9.0ms
re
Results
AccuracySegmentsBranch
78.5%1re
78.5%1(cos.f64 re)
80.7%3im
Compiler

Compiled 131 to 75 computations (42.7% saved)

regimes50.0ms (0.7%)

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

3 calls:

33.0ms
im
7.0ms
re
6.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
82.0%5im
74.5%1(cos.f64 re)
74.5%1re
Compiler

Compiled 110 to 65 computations (40.9% saved)

regimes29.0ms (0.4%)

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

1 calls:

26.0ms
im
Results
AccuracySegmentsBranch
80.1%4im
Compiler

Compiled 95 to 56 computations (41.1% saved)

regimes22.0ms (0.3%)

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

1 calls:

19.0ms
im
Results
AccuracySegmentsBranch
77.9%3im
Compiler

Compiled 87 to 51 computations (41.4% saved)

regimes49.0ms (0.7%)

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

3 calls:

18.0ms
im
18.0ms
re
10.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
67.5%2(cos.f64 re)
67.2%3re
75.1%3im
Compiler

Compiled 86 to 52 computations (39.5% saved)

regimes15.0ms (0.2%)

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

2 calls:

7.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
47.5%1re
47.5%1im
Compiler

Compiled 80 to 48 computations (40% saved)

regimes30.0ms (0.4%)

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

2 calls:

16.0ms
re
12.0ms
im
Results
AccuracySegmentsBranch
47.0%3im
35.7%3re
Compiler

Compiled 34 to 22 computations (35.3% saved)

regimes6.0ms (0.1%)

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

2 calls:

3.0ms
im
3.0ms
re
Results
AccuracySegmentsBranch
29.4%1re
29.4%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/4
Outputs
1/4
Calls

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.0000001360052333
2.0000002158403056
Compiler

Compiled 18 to 14 computations (22.2% saved)

bsearch124.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
8.821965957947457e-12
0.0006177763086112386
62.0ms
-0.00046458616204269677
-0.00036878887164637264
28.0ms
-2.2579664362915592e+164
-3.998303108407795e+155
Results
68.0ms112×body256valid
20.0ms53×body1024valid
12.0ms95×body256infinite
8.0ms24×body1024infinite
7.0ms27×body512valid
5.0ms25×body512infinite
Compiler

Compiled 504 to 395 computations (21.6% saved)

bsearch103.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
2.902472632722119e+145
6.147741257191619e+162
29.0ms
19120.015081183683
771902.3829104009
17.0ms
-9.99008272468047e+22
-2.74974509526097e+22
23.0ms
-2.7890857017326662e+141
-2.076862932134975e+140
Results
41.0ms264×body256infinite
40.0ms115×body1024infinite
16.0ms69×body512infinite
Compiler

Compiled 634 to 462 computations (27.1% saved)

bsearch102.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
66.0ms
0.0006177763086112386
19120.015081183683
16.0ms
-9.99008272468047e+22
-2.74974509526097e+22
20.0ms
-2.7890857017326662e+141
-2.076862932134975e+140
Results
38.0ms23×body512valid
14.0ms36×body1024valid
14.0ms105×body256infinite
13.0ms42×body1024infinite
12.0ms84×body256valid
6.0ms29×body512infinite
1.0msbody2048valid
Compiler

Compiled 374 to 278 computations (25.7% saved)

bsearch68.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
36.0ms
0.0006177763086112386
19120.015081183683
32.0ms
-932.4329332627427
-0.9029609204315935
Results
30.0ms73×body1024valid
22.0ms153×body256valid
12.0ms44×body512valid
1.0msbody2048valid
Compiler

Compiled 290 to 218 computations (24.8% saved)

bsearch45.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
33.0ms
8.821965957947457e-12
0.0006177763086112386
12.0ms
-0.00046458616204269677
-0.00036878887164637264
Results
18.0ms47×body1024valid
16.0ms109×body256valid
9.0ms36×body512valid
Compiler

Compiled 222 to 176 computations (20.7% saved)

bsearch112.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
82.0ms
0.0006177763086112386
19120.015081183683
30.0ms
-932.4329332627427
-0.9029609204315935
Results
50.0ms58×body512valid
35.0ms54×body1024valid
23.0ms160×body256valid
Compiler

Compiled 222 to 184 computations (17.1% saved)

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
34×*-commutative
12×+-commutative
if-if-or-not
sub-neg
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084710
1121710
2123710
3124710
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4503600077730459/2251799813685248) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im -400000000000000002870492616364067321632245924756641247226851088585002646721953360513066427938304757321546295253187048545040326136917876903810934614708453376) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im -4242751136953197/9223372036854775808) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5534023222112865/9223372036854775808) (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(if (<=.f64 im -1399999999999999956074575729413087053121335700446594957054201913619999986946067036442414233740475345531796686896772670537703051484719359197184) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im -28000000000000000000000) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (if (<=.f64 im 19500) (+.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re)) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))))))
(if (<=.f64 im -740000000000000005793189115884684527796760674188523539483780812431598645134936849019198818947800602280824741228370626595645946368662471442432) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im -28000000000000000000000) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (if (<=.f64 im 6530219459687219/4503599627370496) (cos.f64 re) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))))))
(if (<=.f64 im -3152519739159347/2251799813685248) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im 6530219459687219/4503599627370496) (cos.f64 re) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(if (<=.f64 im -4242751136953197/9223372036854775808) (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (if (<=.f64 im 4150517416584649/9223372036854775808) (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) 1/2))))
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
(if (<=.f64 im -6530219459687219/4503599627370496) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 6530219459687219/4503599627370496) 1 (*.f64 1/2 (*.f64 im im))))
1
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4503600077730459/2251799813685248) (+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (cos.f64 re)) (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4503600077730459/2251799813685248) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (*.f64 im im)))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im -400000000000000002870492616364067321632245924756641247226851088585002646721953360513066427938304757321546295253187048545040326136917876903810934614708453376) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im -4242751136953197/9223372036854775808) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 5534023222112865/9223372036854775808) (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(if (<=.f64 im -400000000000000002870492616364067321632245924756641247226851088585002646721953360513066427938304757321546295253187048545040326136917876903810934614708453376) (*.f64 im (*.f64 1/2 (*.f64 (cos.f64 re) im))) (if (or (<=.f64 im -4242751136953197/9223372036854775808) (not (<=.f64 im 5534023222112865/9223372036854775808))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))))
(*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(if (<=.f64 im -1399999999999999956074575729413087053121335700446594957054201913619999986946067036442414233740475345531796686896772670537703051484719359197184) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im -28000000000000000000000) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (if (<=.f64 im 19500) (+.f64 (*.f64 im (*.f64 1/2 im)) (cos.f64 re)) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))))))
(if (<=.f64 im -1399999999999999956074575729413087053121335700446594957054201913619999986946067036442414233740475345531796686896772670537703051484719359197184) (*.f64 im (*.f64 1/2 (*.f64 (cos.f64 re) im))) (if (<=.f64 im -28000000000000000000000) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (if (<=.f64 im 19500) (+.f64 (cos.f64 re) (*.f64 im (*.f64 1/2 im))) (if (<=.f64 im 18999999999999999064581089979963101249120767266604493066770021892695906750618596520567186646577434152905173284039181572611431631767743819258237216708624384) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (*.f64 im (*.f64 1/2 (*.f64 (cos.f64 re) im)))))))
(if (<=.f64 im -740000000000000005793189115884684527796760674188523539483780812431598645134936849019198818947800602280824741228370626595645946368662471442432) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im -28000000000000000000000) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (if (<=.f64 im 6530219459687219/4503599627370496) (cos.f64 re) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))))))
(if (<=.f64 im -740000000000000005793189115884684527796760674188523539483780812431598645134936849019198818947800602280824741228370626595645946368662471442432) (*.f64 im (*.f64 1/2 (*.f64 (cos.f64 re) im))) (if (<=.f64 im -28000000000000000000000) (*.f64 re (*.f64 re (*.f64 -1/2 (cosh.f64 im)))) (if (<=.f64 im 6530219459687219/4503599627370496) (cos.f64 re) (*.f64 im (*.f64 1/2 (*.f64 (cos.f64 re) im))))))
(if (<=.f64 im -3152519739159347/2251799813685248) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re)))) (if (<=.f64 im 6530219459687219/4503599627370496) (cos.f64 re) (*.f64 im (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(if (or (<=.f64 im -3152519739159347/2251799813685248) (not (<=.f64 im 6530219459687219/4503599627370496))) (*.f64 im (*.f64 1/2 (*.f64 (cos.f64 re) im))) (cos.f64 re))
(if (<=.f64 im -4242751136953197/9223372036854775808) (*.f64 (+.f64 1 (*.f64 (*.f64 im im) 1/2)) (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (if (<=.f64 im 4150517416584649/9223372036854775808) (cos.f64 re) (+.f64 1 (*.f64 (*.f64 im im) 1/2))))
(if (<=.f64 im -4242751136953197/9223372036854775808) (*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (+.f64 1 (*.f64 -1/2 (*.f64 re re)))) (if (<=.f64 im 4150517416584649/9223372036854775808) (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(+.f64 1 (*.f64 (*.f64 im im) 1/2))
(+.f64 (*.f64 1/2 (*.f64 im im)) 1)
(if (<=.f64 im -6530219459687219/4503599627370496) (*.f64 1/2 (*.f64 im im)) (if (<=.f64 im 6530219459687219/4503599627370496) 1 (*.f64 1/2 (*.f64 im im))))
(if (or (<=.f64 im -6530219459687219/4503599627370496) (not (<=.f64 im 6530219459687219/4503599627370496))) (*.f64 1/2 (*.f64 im im)) 1)
1
1/4
Compiler

Compiled 281 to 188 computations (33.1% saved)

soundness1.0s (14%)

Rules
1686×fma-def
1686×fma-def
1686×fma-def
1518×fma-def
1518×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
127340
2427840
01391086
13621086
218131086
01463
128763
2329363
01154022
13263432
211093202
348673114
03958722
19968636
232007832
02703830
16353434
218913358
371903342
02703830
16353434
218913358
371903342
01391086
13621086
218131086
02703830
16353434
218913358
371903342
01154022
13263432
211093202
348673114
040213
1901189
03958722
19968636
232007832
Stop Event
node limit
node limit
node limit
node limit
unsound
node limit
node limit
node limit
node limit
node limit
unsound
unsound
Compiler

Compiled 448 to 252 computations (43.8% saved)

end177.0ms (2.4%)

Compiler

Compiled 544 to 304 computations (44.1% saved)

Profiling

Loading profile data...