math.cos on complex, real part

Time bar (total: 5.4s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample2.2s (39.6%)

Results
537.0ms1028×body1024valid
495.0ms2602×body256valid
405.0ms1049×body1024infinite
371.0ms2588×body256infinite
179.0ms497×body512infinite
152.0ms490×body512valid
1.0msbody2048valid
Bogosity

preprocess179.0ms (3.3%)

Algorithm
egg-herbie
Rules
1664×fma-def
892×associate-/r/
792×sqr-pow
752×associate-/l/
674×fabs-mul
Problems
256×No Errors
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030220
184220
2185220
3346210
4676210
51904210
63504210
73909210
85001210
95865210
107301210
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 49 to 24 computations (51% saved)

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune47.0ms (0.9%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 52 to 38 computations (26.9% saved)

localize162.0ms (3%)

Localize:

Found 5 expressions with local error:

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

Compiled 66 to 26 computations (60.6% saved)

series12.0ms (0.2%)

Counts
5 → 76
Calls

21 calls:

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

rewrite75.0ms (1.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
020126
1270126
24367126
Stop Event
unsound
Counts
5 → 64
Calls
Call 1
Inputs
(/.f64 1/2 (exp.f64 im))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))

simplify167.0ms (3.1%)

Algorithm
egg-herbie
Rules
1664×fma-def
1218×associate-*r*
1034×associate-*l*
926×associate-+r+
872×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01454108
14573775
214173541
365073541
Stop Event
node limit
Counts
140 → 110
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 1/4 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 1/4 (pow.f64 im 2)))
(fma.f64 -1/2 im (fma.f64 1/4 (pow.f64 im 2) 1/2))
(+.f64 1/2 (+.f64 (*.f64 -1/2 im) (+.f64 (*.f64 -1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 1/2 (fma.f64 -1/2 im (fma.f64 -1/12 (pow.f64 im 3) (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 im 1/2) (fma.f64 1/4 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 im 3))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 im -1/12))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 1/24 (pow.f64 im 4)))
(fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 1/720 (pow.f64 im 6) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/720 (pow.f64 im 6) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 1/2) (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (/.f64 1 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (pow.f64 re 4)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 re 4)) 1) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 1/2) (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (*.f64 (cos.f64 re) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (cos.f64 re))
-1/2
-1/4
0
1/4
1/2
2
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) -1)
(neg.f64 (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(cos.f64 re)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 -1/2 (/.f64 -1 (cos.f64 re)))
(*.f64 1/2 (cos.f64 re))
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
1
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
1
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(*.f64 -1/8 (pow.f64 (cos.f64 re) 3))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(*.f64 1/2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 -1))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(*.f64 (*.f64 -1/2 (cos.f64 re)) (exp.f64 -1/2))
(*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 -1/2)))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
0
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
0
-1/2
-1/4
0
1/4
1/2
2
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) -1)
(neg.f64 (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))) 1)
(+.f64 1 (exp.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re)))))
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(cos.f64 re)
(/.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 -1/2 (/.f64 -1 (cos.f64 re)))
(*.f64 1/2 (cos.f64 re))
(/.f64 (*.f64 -1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (cos.f64 re)) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))))
1
(/.f64 (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))) (-.f64 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re))))
1
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1/2)
(pow.f64 (*.f64 -1/2 (cos.f64 re)) -1)
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 3)
(*.f64 -1/8 (pow.f64 (cos.f64 re) 3))
(pow.f64 (*.f64 -1/2 (cos.f64 re)) 1/3)
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(sqrt.f64 (*.f64 -1/2 (cos.f64 re)))
(fabs.f64 (*.f64 -1/2 (cos.f64 re)))
(*.f64 1/2 (fabs.f64 (cos.f64 re)))
(log.f64 (pow.f64 -1 (cos.f64 re)))
(*.f64 (cos.f64 re) (log.f64 -1))
(log.f64 (+.f64 -1 (expm1.f64 (*.f64 -1/2 (cos.f64 re)))))
(cbrt.f64 (*.f64 -1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1))
(/.f64 1 (*.f64 -1/2 (cos.f64 re)))
(/.f64 -2 (cos.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1/2 (cos.f64 re))) -1/2))
(*.f64 (*.f64 -1/2 (cos.f64 re)) (exp.f64 -1/2))
(*.f64 -1/2 (*.f64 (cos.f64 re) (exp.f64 -1/2)))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (cos.f64 re))))
(*.f64 -1/2 (cos.f64 re))
(fma.f64 -1 (*.f64 -1/2 (cos.f64 re)) (*.f64 -1/2 (cos.f64 re)))
0
(fma.f64 (*.f64 -1/2 (cos.f64 re)) -1 (*.f64 -1/2 (cos.f64 re)))
0

eval43.0ms (0.8%)

Compiler

Compiled 1595 to 1009 computations (36.7% saved)

prune25.0ms (0.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1046110
Fresh000
Picked112
Done000
Total1057112
Accuracy
100.0%
Counts
112 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.5%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
10.1%
(*.f64 2 (cos.f64 re))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
45.6%
(cos.f64 re)
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.5%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
10.1%
(*.f64 2 (cos.f64 re))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
45.6%
(cos.f64 re)
Compiler

Compiled 242 to 184 computations (24% saved)

localize204.0ms (3.7%)

Localize:

Found 5 expressions with local error:

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

Compiled 94 to 43 computations (54.3% saved)

series14.0ms (0.3%)

Counts
5 → 47
Calls

27 calls:

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

rewrite31.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
294×associate-*r*
174×associate-*l*
143×log1p-expm1-u
143×expm1-log1p-u
141×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023115
1315115
25148115
Stop Event
unsound
Counts
5 → 65
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
Outputs
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8

simplify128.0ms (2.4%)

Algorithm
egg-herbie
Rules
1654×fma-def
1038×distribute-rgt-out
964×distribute-lft-out
742×associate-+r+
740×associate-+l+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01042080
12931981
29231710
340521670
464461670
568171670
676141670
Stop Event
node limit
Counts
112 → 81
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720))))))
(cos.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
Outputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2)))
(fma.f64 im im (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6))))))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2)))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) -1/4 1/2)))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 2) 1/2))))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) -1/4 (fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) -1/1440 (fma.f64 (pow.f64 im 2) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48)))))
(+.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) -1/4 1/2)) (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (pow.f64 im 2) (+.f64 (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 2) -1/4 1/2)))
(*.f64 (pow.f64 im 2) (+.f64 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440)) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (*.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 1/2) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720))))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2) (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48)) (*.f64 (pow.f64 re 6) (fma.f64 -1/1440 (pow.f64 im 2) -1/720))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (fma.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24) (*.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 2) -1/1440 -1/720)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 2) -1/4 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440)) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(cos.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2))))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) -1/4 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (*.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 4) 1/48 1/2) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 4) 1/48))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2) (fma.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48)) (*.f64 (pow.f64 re 6) (fma.f64 -1/1440 (pow.f64 im 2) -1/720))))))
(fma.f64 1/2 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/4 -1/2) (fma.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 2) 1/48 1/24) (*.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 2) -1/1440 -1/720)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 6) -1/1440 (*.f64 (pow.f64 re 4) 1/48)) (fma.f64 (pow.f64 re 2) -1/4 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 (pow.f64 re 2) -1/4 (*.f64 (pow.f64 re 6) -1/1440)) (fma.f64 (pow.f64 re 4) 1/48 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) 1/2 1))
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8
-2
-1
-1/2
0
1/8
1/4
1/2
1
3/2
2
3
4
8

eval34.0ms (0.6%)

Compiler

Compiled 1418 to 1077 computations (24% saved)

prune28.0ms (0.5%)

Pruning

13 alts after pruning (7 fresh and 6 done)

PrunedKeptTotal
New75681
Fresh011
Picked055
Done011
Total751388
Accuracy
100.0%
Counts
88 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.8%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
9.2%
(+.f64 (cos.f64 re) (*.f64 1/2 1))
4.5%
(+.f64 (cos.f64 re) (*.f64 1/2 -2))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.5%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
10.1%
(*.f64 2 (cos.f64 re))
44.1%
(*.f64 1/2 (fma.f64 im im 2))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
23.5%
(*.f64 1/2 2)
45.6%
(cos.f64 re)
65.8%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
9.2%
(+.f64 (cos.f64 re) (*.f64 1/2 1))
4.5%
(+.f64 (cos.f64 re) (*.f64 1/2 -2))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.5%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
10.1%
(*.f64 2 (cos.f64 re))
44.1%
(*.f64 1/2 (fma.f64 im im 2))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
23.5%
(*.f64 1/2 2)
45.6%
(cos.f64 re)
Compiler

Compiled 350 to 282 computations (19.4% saved)

localize275.0ms (5.1%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
99.6%
(+.f64 (cos.f64 re) (*.f64 1/2 1))
75.6%
(+.f64 (cos.f64 re) (*.f64 1/2 -2))
100.0%
(*.f64 (pow.f64 im 2) 1/2)
Compiler

Compiled 71 to 48 computations (32.4% saved)

series3.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

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

rewrite80.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
796×log1p-expm1-u
796×expm1-log1p-u
752×log-prod
474×pow-prod-down
382×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

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

simplify77.0ms (1.4%)

Algorithm
egg-herbie
Rules
968×div-sub
826×log-prod
686×fma-def
628×unswap-sqr
598×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02683690
15843519
216043168
359603126
Stop Event
node limit
Counts
142 → 144
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/40320 (pow.f64 re 8)) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
(-.f64 (cos.f64 re) 1)
3/2
(+.f64 3/2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 0 (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) 1/2))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) 3)
(pow.f64 (*.f64 (pow.f64 im 4) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) 1/2)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (cos.f64 re) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(*.f64 (+.f64 (cos.f64 re) -1) (log.f64 (exp.f64 1)))
(*.f64 1 (+.f64 (cos.f64 re) -1))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1)) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1)) (+.f64 -1 (pow.f64 (cos.f64 re) 3))) -1)
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)) -1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -1))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -1)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -1)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1))) 2))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(fma.f64 (cos.f64 re) 1 -1)
(fma.f64 1 (cos.f64 re) -1)
(fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1)
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (cos.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1/2)) (/.f64 1/4 (+.f64 (cos.f64 re) -1/2)))
(*.f64 1 (+.f64 1/2 (cos.f64 re)))
(*.f64 (+.f64 1/2 (cos.f64 re)) 1)
(*.f64 (+.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) 2) (cbrt.f64 (+.f64 1/2 (cos.f64 re))))
(*.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re))) (sqrt.f64 (+.f64 1/2 (cos.f64 re))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (/.f64 1 (+.f64 (cos.f64 re) -1/2)))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (cos.f64 re) 3) 1/8)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1/2) (+.f64 (pow.f64 (cos.f64 re) 2) -1/4)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 (cos.f64 re) -1/2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8)) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4)) (neg.f64 (+.f64 (cos.f64 re) -1/2)))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(pow.f64 (+.f64 1/2 (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re))) 2)
(pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (cos.f64 re) 3) 1/8)) -1)
(pow.f64 (/.f64 (+.f64 (cos.f64 re) -1/2) (+.f64 (pow.f64 (cos.f64 re) 2) -1/4)) -1)
(sqrt.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 2))
(log.f64 (exp.f64 (+.f64 1/2 (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (+.f64 1/2 (cos.f64 re))))
(exp.f64 (log.f64 (+.f64 1/2 (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (+.f64 1/2 (cos.f64 re))))
(fma.f64 (cos.f64 re) 1 1/2)
(fma.f64 1 (cos.f64 re) 1/2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 1/2)
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)) 1/2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1/2)
Outputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))
(fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/40320 (pow.f64 re 8)) (*.f64 1/24 (pow.f64 re 4)))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/40320 (pow.f64 re 8) (*.f64 1/24 (pow.f64 re 4)))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/24 (pow.f64 re 4) (*.f64 1/40320 (pow.f64 re 8)))))
(fma.f64 -1/720 (pow.f64 re 6) (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 1/40320 (pow.f64 re 8)))))
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
3/2
(+.f64 3/2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) 3/2)
(fma.f64 -1/2 (pow.f64 re 2) 3/2)
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) 3/2)
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (fma.f64 -1/2 (pow.f64 re 2) 3/2))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 3/2))
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))) 3/2)
(+.f64 (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))) (fma.f64 -1/2 (pow.f64 re 2) 3/2))
(+.f64 (*.f64 -1/720 (pow.f64 re 6)) (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) 3/2)))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 1/2 (cos.f64 re))
(+.f64 0 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) 1/2))) 1)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) 3)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 (pow.f64 im 4) 1/4) 1/2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 6) 1/3)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (pow.f64 im 2))
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 1/2 (pow.f64 im 2))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 6))
(*.f64 1/2 (pow.f64 im 2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) 1/2)) 1) 1))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) 3))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 1/2)) 6)) 1/3))
(*.f64 1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2))
(*.f64 1/2 (pow.f64 im 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 (cos.f64 re) -1)
(*.f64 (+.f64 (cos.f64 re) -1) (log.f64 (exp.f64 1)))
(+.f64 (cos.f64 re) -1)
(*.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 (cos.f64 re) -1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(+.f64 (cos.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1))))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1) 1))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(+.f64 (cos.f64 re) -1)
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1)) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1) 1))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1)))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1) 1))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1))))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 (cos.f64 re) -1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(+.f64 (cos.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) 1/2)
(+.f64 (cos.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(+.f64 (cos.f64 re) -1)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(+.f64 (cos.f64 re) -1)
(pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1) (*.f64 (cos.f64 re) -1)) (+.f64 -1 (pow.f64 (cos.f64 re) 3))) -1)
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) 1) 1))
(pow.f64 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 -1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (tan.f64 (/.f64 re 2)) (/.f64 (sin.f64 re) -1))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(+.f64 (cos.f64 re) -1)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -1))))
(+.f64 (cos.f64 re) -1)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(+.f64 (cos.f64 re) -1)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -1)) 1))
(+.f64 (cos.f64 re) -1)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -1)) 1) 1))
(+.f64 (cos.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1))) 3))
(+.f64 (cos.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) 1/3))
(+.f64 (cos.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1))) 2))
(+.f64 (cos.f64 re) -1)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(fma.f64 (cos.f64 re) 1 -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 1 (cos.f64 re) -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1)
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)) -1)
(fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) -1)
(-.f64 (exp.f64 (log1p.f64 (+.f64 1/2 (cos.f64 re)))) 1)
(+.f64 1/2 (cos.f64 re))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1/2)) (/.f64 1/4 (+.f64 (cos.f64 re) -1/2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(*.f64 1 (+.f64 1/2 (cos.f64 re)))
(+.f64 1/2 (cos.f64 re))
(*.f64 (+.f64 1/2 (cos.f64 re)) 1)
(+.f64 1/2 (cos.f64 re))
(*.f64 (+.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 1)))
(+.f64 1/2 (cos.f64 re))
(*.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) 2))
(+.f64 1/2 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) 2) (cbrt.f64 (+.f64 1/2 (cos.f64 re))))
(+.f64 1/2 (cos.f64 re))
(*.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re))) (sqrt.f64 (+.f64 1/2 (cos.f64 re))))
(+.f64 1/2 (cos.f64 re))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (*.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)) 1/4))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (/.f64 1 (+.f64 (cos.f64 re) -1/2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (cos.f64 re) 3) 1/8)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (*.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)) 1/4))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1/2) (+.f64 (pow.f64 (cos.f64 re) 2) -1/4)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (*.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (*.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 (cos.f64 re) -1/2))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8)) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (*.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)) 1/4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4)) (neg.f64 (+.f64 (cos.f64 re) -1/2)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(pow.f64 (+.f64 1/2 (cos.f64 re)) 1)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) 3)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 2) 1/2)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 3) 1/3)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re))) 2)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 1/4) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (cos.f64 re) 3) 1/8)) -1)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 1/2 (cos.f64 re))))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (+.f64 1/4 (*.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 -1/2 (cos.f64 re)) 1/4))
(pow.f64 (/.f64 (+.f64 (cos.f64 re) -1/2) (+.f64 (pow.f64 (cos.f64 re) 2) -1/4)) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 1/4 (+.f64 -1/2 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 -1/2 (cos.f64 re))) (/.f64 -1/4 (+.f64 -1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1/4) (+.f64 -1/2 (cos.f64 re)))
(sqrt.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 2))
(+.f64 1/2 (cos.f64 re))
(log.f64 (exp.f64 (+.f64 1/2 (cos.f64 re))))
(+.f64 1/2 (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 1/2 (cos.f64 re)))))
(+.f64 1/2 (cos.f64 re))
(cbrt.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 3))
(+.f64 1/2 (cos.f64 re))
(expm1.f64 (log1p.f64 (+.f64 1/2 (cos.f64 re))))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (log.f64 (+.f64 1/2 (cos.f64 re))))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (+.f64 1/2 (cos.f64 re))) 1))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 1/2 (cos.f64 re))) 1) 1))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re)))) 3))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 1/2 (cos.f64 re)))) 1/3))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re)))) 2))
(+.f64 1/2 (cos.f64 re))
(log1p.f64 (expm1.f64 (+.f64 1/2 (cos.f64 re))))
(+.f64 1/2 (cos.f64 re))
(fma.f64 (cos.f64 re) 1 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 1 (cos.f64 re) 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 1/2)
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 2)) (cbrt.f64 (cos.f64 re)) 1/2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cos.f64 re) 2)) 1/2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1/2)
(+.f64 1/2 (cos.f64 re))

eval43.0ms (0.8%)

Compiler

Compiled 1652 to 1176 computations (28.8% saved)

prune39.0ms (0.7%)

Pruning

16 alts after pruning (7 fresh and 9 done)

PrunedKeptTotal
New1395144
Fresh022
Picked235
Done066
Total14116157
Accuracy
100.0%
Counts
157 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.3%
(pow.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re))) 2)
4.5%
(-.f64 (cos.f64 re) 1)
65.8%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
9.2%
(+.f64 1/2 (cos.f64 re))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.5%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
10.1%
(*.f64 2 (cos.f64 re))
44.1%
(*.f64 1/2 (fma.f64 im im 2))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
23.5%
(*.f64 1/2 2)
7.8%
(*.f64 -1/2 (pow.f64 re 2))
45.6%
(cos.f64 re)
7.4%
3/2
7.3%
(pow.f64 (sqrt.f64 (+.f64 1/2 (cos.f64 re))) 2)
4.5%
(-.f64 (cos.f64 re) 1)
65.8%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
9.2%
(+.f64 1/2 (cos.f64 re))
29.0%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.5%
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) 0))
10.1%
(*.f64 2 (cos.f64 re))
44.1%
(*.f64 1/2 (fma.f64 im im 2))
65.9%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
23.5%
(*.f64 1/2 2)
7.8%
(*.f64 -1/2 (pow.f64 re 2))
45.6%
(cos.f64 re)
7.4%
3/2
Compiler

Compiled 358 to 290 computations (19% saved)

localize191.0ms (3.5%)

Localize:

Found 5 expressions with local error:

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

Compiled 72 to 39 computations (45.8% saved)

series4.0ms (0.1%)

Counts
5 → 56
Calls

21 calls:

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

rewrite98.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
800×log1p-expm1-u
800×expm1-log1p-u
770×fma-def
498×prod-diff
472×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

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

simplify107.0ms (2%)

Algorithm
egg-herbie
Rules
1686×fma-def
978×distribute-rgt-in
976×distribute-lft-in
636×log-prod
426×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03715912
18775758
228515594
Stop Event
node limit
Counts
204 → 229
Calls
Call 1
Inputs
(*.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
3/2
(+.f64 3/2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 -1/2 (pow.f64 re 2))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/40320 (pow.f64 re 8)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 1)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (cos.f64 re) 0))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 0 (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cos.f64 re) 0))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 0 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 0))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 0 (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 1/2))) 1)
(-.f64 (/.f64 1/4 (-.f64 1/2 (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/2 (cos.f64 re))))
(*.f64 (+.f64 (cos.f64 re) 1/2) 1)
(*.f64 1 (+.f64 (cos.f64 re) 1/2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1/2)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 2)) (cbrt.f64 (+.f64 (cos.f64 re) 1/2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1/2)) (sqrt.f64 (+.f64 (cos.f64 re) 1/2)))
(*.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4)))
(*.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (/.f64 1 (-.f64 1/2 (cos.f64 re))))
(/.f64 1 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4) (+.f64 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 1/2 (cos.f64 re)) (-.f64 1/4 (pow.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4))
(/.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 (cos.f64 re) 1/2))))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4)))
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2))) (neg.f64 (-.f64 1/2 (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1/4) (-.f64 (cos.f64 re) 1/2))
(pow.f64 (+.f64 (cos.f64 re) 1/2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1/2)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1/2)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1/2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1/2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) 1/2)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) 1/2)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1/2)))
(fma.f64 (cos.f64 re) 1 1/2)
(fma.f64 1 (cos.f64 re) 1/2)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1/2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) 1/2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1/2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) 1/2)
(+.f64 (cos.f64 re) -1)
(+.f64 -1 (cos.f64 re))
(*.f64 1 (+.f64 (cos.f64 re) -1))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (+.f64 (pow.f64 (cos.f64 re) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -1))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(expm1.f64 (log.f64 (cos.f64 re)))
(expm1.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -1)) 1))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(fma.f64 (cos.f64 re) 1 -1)
(fma.f64 1 (cos.f64 re) -1)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) -1)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
(pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 re 2))) 3)
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3) 1/3)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(log.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 re 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2))))
(exp.f64 (fma.f64 2 (log.f64 re) (log.f64 -1/2)))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 re) (log.f64 -1/2)) 1))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/4) (pow.f64 im 4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (*.f64 (cos.f64 re) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (pow.f64 im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
Outputs
(*.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (*.f64 1/2 (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (exp.f64 im) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (*.f64 1/2 (exp.f64 im))))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/48 (pow.f64 re 4)) 1/2)))
(*.f64 (exp.f64 im) (+.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 1/48 (pow.f64 re 4))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (exp.f64 im))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (exp.f64 im))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))
(fma.f64 -1/4 (*.f64 (exp.f64 im) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (exp.f64 im) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (exp.f64 im) (pow.f64 re 4)) (*.f64 1/2 (exp.f64 im)))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 1/48 (pow.f64 re 4)) 1/2)) (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (exp.f64 im) (+.f64 (fma.f64 -1/4 (pow.f64 re 2) (*.f64 -1/1440 (pow.f64 re 6))) (fma.f64 1/48 (pow.f64 re 4) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))
(*.f64 1/2 (+.f64 (cos.f64 re) (*.f64 im (cos.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 im 1/2))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re)))))
(fma.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 1/2 (+.f64 (cos.f64 re) (*.f64 im (cos.f64 re)))))
(fma.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)) (*.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 im) (fma.f64 1/4 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 3) (cos.f64 re))) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (cos.f64 re))) (+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (*.f64 im (cos.f64 re))))))
(fma.f64 1/12 (*.f64 (cos.f64 re) (pow.f64 im 3)) (fma.f64 1/4 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 1/2 (+.f64 (cos.f64 re) (*.f64 im (cos.f64 re))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/12 (pow.f64 im 3)) (*.f64 1/4 (pow.f64 im 2)))))
(*.f64 (cos.f64 re) (+.f64 (fma.f64 1/2 im 1/2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 im) 1/4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
3/2
(+.f64 3/2 (*.f64 -1/2 (pow.f64 re 2)))
(+.f64 3/2 (*.f64 (pow.f64 re 2) -1/2))
(fma.f64 (pow.f64 re 2) -1/2 3/2)
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 3/2 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 3/2 (fma.f64 (pow.f64 re 2) -1/2 (*.f64 (pow.f64 re 4) 1/24)))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 3/2))
(+.f64 3/2 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 3/2 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 3/2 (fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720))))
(+.f64 3/2 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 2) -1/2 (*.f64 (pow.f64 re 6) -1/720))))
(*.f64 -1/2 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) -1/2)
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))
(fma.f64 -1/2 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/24))
(fma.f64 (pow.f64 re 2) -1/2 (*.f64 (pow.f64 re 4) 1/24))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 (pow.f64 re 4) 1/24)))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 (pow.f64 re 6) -1/720)))
(fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 2) -1/2 (*.f64 (pow.f64 re 6) -1/720)))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/40320 (pow.f64 re 8)) (*.f64 1/24 (pow.f64 re 4)))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/40320 (pow.f64 re 8) (*.f64 (pow.f64 re 4) 1/24))))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 6) -1/720 (fma.f64 (pow.f64 re 4) 1/24 (*.f64 1/40320 (pow.f64 re 8)))))
(fma.f64 (pow.f64 re 2) -1/2 (fma.f64 (pow.f64 re 4) 1/24 (fma.f64 (pow.f64 re 6) -1/720 (*.f64 1/40320 (pow.f64 re 8)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)))))
(fma.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2)) (fma.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2)) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))))))
(+.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (*.f64 (pow.f64 im 2) (fma.f64 -1/1440 (pow.f64 re 6) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 3)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3) 1/3)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2)
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 2))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 3))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 1))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (cos.f64 re) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) 1 (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 1 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) 0)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) 0)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) 0)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))) 0)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(*.f64 (cos.f64 re) (*.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 2)) (cbrt.f64 (*.f64 1/2 (exp.f64 im)))))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (cos.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) 0))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)) (*.f64 0 (cos.f64 re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 1/2))) 1)
(+.f64 1/2 (cos.f64 re))
(-.f64 (/.f64 1/4 (-.f64 1/2 (cos.f64 re))) (/.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/2 (cos.f64 re))))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 -1/4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1/2))
(*.f64 (+.f64 (cos.f64 re) 1/2) 1)
(+.f64 1/2 (cos.f64 re))
(*.f64 1 (+.f64 (cos.f64 re) 1/2))
(+.f64 1/2 (cos.f64 re))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1/2)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 2)))
(*.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) (cbrt.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 2)) (cbrt.f64 (+.f64 (cos.f64 re) 1/2)))
(*.f64 (cbrt.f64 (+.f64 1/2 (cos.f64 re))) (cbrt.f64 (pow.f64 (+.f64 1/2 (cos.f64 re)) 2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1/2)) (sqrt.f64 (+.f64 (cos.f64 re) 1/2)))
(+.f64 1/2 (cos.f64 re))
(*.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4)))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) 1) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(*.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (/.f64 1 (-.f64 1/2 (cos.f64 re))))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 -1/4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1/2))
(/.f64 1 (/.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4) (+.f64 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) 1) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 1 (/.f64 (-.f64 1/2 (cos.f64 re)) (-.f64 1/4 (pow.f64 (cos.f64 re) 2))))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 -1/4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1/2))
(/.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) 1) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1/4 (*.f64 (cos.f64 re) 1/2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) 1) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 -1/4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1/2))
(/.f64 (neg.f64 (+.f64 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (cos.f64 re) (-.f64 (cos.f64 re) 1/2) 1/4)))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) 1) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1/8) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1/2) 1/4))
(/.f64 (neg.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2))) (neg.f64 (-.f64 1/2 (cos.f64 re))))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 -1/4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1/2))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1/4) (-.f64 (cos.f64 re) 1/2))
(/.f64 (-.f64 1/4 (pow.f64 (cos.f64 re) 2)) (-.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 -1/4 (pow.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) -1/2))
(pow.f64 (+.f64 (cos.f64 re) 1/2) 1)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1/2)) 3)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 3) 1/3)
(+.f64 1/2 (cos.f64 re))
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1/2)) 2)
(+.f64 1/2 (cos.f64 re))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 2))
(+.f64 1/2 (cos.f64 re))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1/2)))
(+.f64 1/2 (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1/2))))
(+.f64 1/2 (cos.f64 re))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1/2) 3))
(+.f64 1/2 (cos.f64 re))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1/2)))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) 1/2)))
(+.f64 1/2 (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) 1/2)) 1))
(+.f64 1/2 (cos.f64 re))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1/2)))
(+.f64 1/2 (cos.f64 re))
(fma.f64 (cos.f64 re) 1 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 1 (cos.f64 re) 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1/2)
(+.f64 1/2 (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) 1/2)
(+.f64 1/2 (cos.f64 re))
(+.f64 (cos.f64 re) -1)
(+.f64 -1 (cos.f64 re))
(+.f64 (cos.f64 re) -1)
(*.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 (cos.f64 re) -1)
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 (cos.f64 re) -1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(+.f64 (cos.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (fma.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re) 1))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(+.f64 (cos.f64 re) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (+.f64 (pow.f64 (cos.f64 re) 3) -1)))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (fma.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re) 1))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (fma.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (fma.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (+.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) -1) (fma.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 (cos.f64 re) -1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(+.f64 (cos.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(+.f64 (cos.f64 re) -1)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(+.f64 (cos.f64 re) -1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(+.f64 (cos.f64 re) -1)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) -1))))
(+.f64 (cos.f64 re) -1)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(+.f64 (cos.f64 re) -1)
(expm1.f64 (log.f64 (cos.f64 re)))
(expm1.f64 (*.f64 (log.f64 (cos.f64 re)) 1))
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 re) -1)) 1))
(+.f64 (cos.f64 re) -1)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 (cos.f64 re) -1)
(fma.f64 (cos.f64 re) 1 -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 1 (cos.f64 re) -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1) -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1) -1)
(+.f64 (cos.f64 re) -1)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2)))) 1)
(*.f64 (pow.f64 re 2) -1/2)
(pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 1)
(*.f64 (pow.f64 re 2) -1/2)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 re 2))) 3)
(*.f64 (pow.f64 re 2) -1/2)
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3) 1/3)
(*.f64 (pow.f64 re 2) -1/2)
(pow.f64 (*.f64 re (sqrt.f64 -1/2)) 2)
(*.f64 (pow.f64 re 2) -1/2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/4))
(log.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) -1/2)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 (pow.f64 re 2) -1/2)
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 re 2)) 3))
(*.f64 (pow.f64 re 2) -1/2)
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 re 2) -1/2)
(exp.f64 (fma.f64 2 (log.f64 re) (log.f64 -1/2)))
(*.f64 (pow.f64 re 2) -1/2)
(exp.f64 (*.f64 (fma.f64 2 (log.f64 re) (log.f64 -1/2)) 1))
(*.f64 (pow.f64 re 2) -1/2)
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 re 2))))
(*.f64 (pow.f64 re 2) -1/2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 3)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3) 1/3)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/4) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))))
(fabs.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) 3))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (*.f64 (cos.f64 re) 1/2) 3)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/2) 3) (pow.f64 (pow.f64 im 2) 3)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))) 1))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))

eval67.0ms (1.2%)

Compiler

Compiled 2897 to 1899 computations (34.4% saved)

prune41.0ms (0.8%)

Pruning

14 alts after pruning (4 fresh and 10 done)

PrunedKeptTotal
New2263229
Fresh112
Picked235
Done279
Total23114245
Accuracy
100.0%
Counts
245 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
4.5%
(-.f64 (cos.f64 re) 1)
65.8%
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
71.5%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
9.2%
(+.f64 1/2 (cos.f64 re))
71.5%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
44.1%
(*.f64 1/2 (fma.f64 im im 2))
11.3%
(*.f64 1/2 (*.f64 (+.f64 im 1) (cos.f64 re)))
63.5%
(*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re)))
49.5%
(*.f64 1/2 (exp.f64 im))
23.5%
(*.f64 1/2 2)
7.8%
(*.f64 -1/2 (pow.f64 re 2))
45.6%
(cos.f64 re)
7.4%
3/2
Compiler

Compiled 254 to 172 computations (32.3% saved)

regimes64.0ms (1.2%)

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

6 calls:

14.0ms
im
12.0ms
re
12.0ms
(*.f64 1/2 (cos.f64 re))
11.0ms
(cos.f64 re)
7.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 180 to 112 computations (37.8% saved)

regimes60.0ms (1.1%)

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

6 calls:

12.0ms
im
12.0ms
re
10.0ms
(*.f64 1/2 (cos.f64 re))
9.0ms
(cos.f64 re)
7.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 169 to 107 computations (36.7% saved)

regimes122.0ms (2.2%)

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

4 calls:

42.0ms
re
27.0ms
(cos.f64 re)
27.0ms
(*.f64 1/2 (cos.f64 re))
22.0ms
im
Results
AccuracySegmentsBranch
89.0%4re
99.6%2im
87.1%2(*.f64 1/2 (cos.f64 re))
87.1%2(cos.f64 re)
Compiler

Compiled 126 to 81 computations (35.7% saved)

regimes23.0ms (0.4%)

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

1 calls:

19.0ms
im
Results
AccuracySegmentsBranch
99.0%2im
Compiler

Compiled 89 to 57 computations (36% saved)

regimes23.0ms (0.4%)

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

1 calls:

18.0ms
im
Results
AccuracySegmentsBranch
99.0%2im
Compiler

Compiled 81 to 52 computations (35.8% saved)

regimes18.0ms (0.3%)

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

1 calls:

16.0ms
im
Results
AccuracySegmentsBranch
87.6%2im
Compiler

Compiled 58 to 39 computations (32.8% saved)

regimes14.0ms (0.3%)

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

3 calls:

6.0ms
im
4.0ms
re
3.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
45.6%1re
45.6%1(cos.f64 re)
45.6%1im
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes8.0ms (0.2%)

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

2 calls:

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

Compiled 12 to 10 computations (16.7% saved)

regimes6.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch31.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
0.0030463937761345404
2.5427328725059573
Results
14.0ms36×body1024valid
12.0ms81×body256valid
3.0ms11×body512valid
Compiler

Compiled 194 to 150 computations (22.7% saved)

bsearch30.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
0.0030463937761345404
2.5427328725059573
Results
11.0ms31×body1024valid
10.0ms72×body256valid
7.0ms25×body512valid
Compiler

Compiled 186 to 150 computations (19.4% saved)

bsearch31.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
31.0ms
0.0030463937761345404
2.5427328725059573
Results
16.0ms39×body1024valid
10.0ms74×body256valid
4.0ms15×body512valid
Compiler

Compiled 138 to 110 computations (20.3% saved)

bsearch36.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
35.0ms
2.5427328725059573
8831309.485170476
Results
16.0ms32×body1024valid
11.0ms84×body256valid
3.0ms12×body512valid
2.0msbody1024infinite
1.0msbody256infinite
1.0msbody512infinite
Compiler

Compiled 126 to 104 computations (17.5% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
047318
162318
264318
365318
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 3242591731706757/4503599627370496) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 3152519739159347/4503599627370496) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 5854679515581645/2251799813685248) (cos.f64 re) (*.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(*.f64 1/2 2)
3/2
Outputs
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 5854679515581645/4503599627370496) (*.f64 (*.f64 (cos.f64 re) 1/2) (fma.f64 im im 2)) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(if (<=.f64 im 3242591731706757/4503599627370496) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 3242591731706757/4503599627370496) (+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(if (<=.f64 im 3152519739159347/4503599627370496) (cos.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (cos.f64 re))))
(if (<=.f64 im 3152519739159347/4503599627370496) (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (exp.f64 im))))
(if (<=.f64 im 5854679515581645/2251799813685248) (cos.f64 re) (*.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(*.f64 1/2 2)
1
3/2
Compiler

Compiled 106 to 77 computations (27.4% saved)

soundness567.0ms (10.4%)

Rules
1686×fma-def
1664×fma-def
1664×fma-def
1654×fma-def
1218×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030220
184220
2185220
3346210
4676210
51904210
63504210
73909210
85001210
95865210
107301210
023115
1315115
25148115
020126
1270126
24367126
03715912
18775758
228515594
01042080
12931981
29231710
340521670
464461670
568171670
676141670
01454108
14573775
214173541
365073541
Stop Event
node limit
node limit
node limit
unsound
unsound
node limit
Compiler

Compiled 75 to 51 computations (32% saved)

end0.0ms (0%)

preprocess70.0ms (1.3%)

Remove

(abs re)

Compiler

Compiled 284 to 170 computations (40.1% saved)

Profiling

Loading profile data...