math.exp on complex, real part

Time bar (total: 4.2s)

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 8 to 6 computations (25% saved)

sample916.0ms (21.7%)

Results
688.0ms6251×256valid
220.0ms2005×256infinite
Bogosity

preprocess155.0ms (3.7%)

Algorithm
egg-herbie
Rules
3076×fma-define
1146×associate-/l*
1074×times-frac
978×div-sub
724×fma-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 re)
00-0-im
00-0-re
00-0-(cos.f64 im)
00-0-(*.f64 (exp.f64 re) (cos.f64 im))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022163
145161
280155
3121155
4224155
5444155
61027155
72012155
86382155
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(neg.f64 (*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im)))
(neg.f64 (*.f64 (exp.f64 re) (cos.f64 (neg.f64 im))))
(*.f64 (exp.f64 im) (cos.f64 re))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (cos.f64 im) (exp.f64 (neg.f64 re)))
(/.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(*.f64 (exp.f64 re) (cos.f64 im))
(neg.f64 (*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im)))
(*.f64 (exp.f64 (neg.f64 re)) (neg.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 -1 (exp.f64 re)))
(neg.f64 (/.f64 (cos.f64 im) (exp.f64 re)))
(/.f64 (neg.f64 (cos.f64 im)) (exp.f64 re))
(/.f64 (cos.f64 im) (neg.f64 (exp.f64 re)))
(neg.f64 (*.f64 (exp.f64 re) (cos.f64 (neg.f64 im))))
(*.f64 (exp.f64 re) (neg.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (neg.f64 (exp.f64 re)))
(*.f64 (exp.f64 im) (cos.f64 re))
Symmetry

(abs im)

Compiler

Compiled 35 to 17 computations (51.4% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize30.0ms (0.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 14 to 6 computations (57.1% saved)

series6.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

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

rewrite173.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
588×unpow-prod-down
472×log-prod
460×cbrt-prod
398×log1p-expm1-u
398×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
110121
2110021
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(pow.f64 (E.f64) (+.f64 re (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log.f64 (cos.f64 im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log.f64 (cos.f64 im)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log.f64 (cos.f64 im)))) 2))

simplify80.0ms (1.9%)

Algorithm
egg-herbie
Rules
1592×prod-exp
832×fma-neg
822×associate-*r*
796×fma-define
692×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12751233
28171176
337201165
466071165
Stop Event
node limit
Counts
45 → 52
Calls
Call 1
Inputs
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(pow.f64 (E.f64) (+.f64 re (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log.f64 (cos.f64 im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log.f64 (cos.f64 im)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log.f64 (cos.f64 im)))) 2))
Outputs
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (fma.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)) (*.f64 (cos.f64 im) re)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (+.f64 re (fma.f64 1/2 (pow.f64 re 2) 1)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(+.f64 (cos.f64 im) (fma.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)) (*.f64 (cos.f64 im) re))))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1) (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 re 1/6) 1/2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (fma.f64 1/6 (pow.f64 re 3) 1)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)) (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4)))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (exp.f64 re) (+.f64 1 (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)) (fma.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (exp.f64 re)) (*.f64 (exp.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(fma.f64 (exp.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6))) (*.f64 (exp.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2) 1/2)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (E.f64) (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(*.f64 (cos.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log.f64 (cos.f64 im)))) 3))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log.f64 (cos.f64 im)))) 1/3))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log.f64 (cos.f64 im)))) 2))
(*.f64 (cos.f64 im) (exp.f64 re))

eval13.0ms (0.3%)

Compiler

Compiled 668 to 342 computations (48.8% saved)

prune11.0ms (0.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New47552
Fresh000
Picked011
Done000
Total47653
Accuracy
100.0%
Counts
53 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.9%
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
48.0%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
72.4%
(exp.f64 re)
47.0%
(cos.f64 im)
Compiler

Compiled 85 to 61 computations (28.2% saved)

localize444.0ms (10.5%)

Localize:

Found 6 expressions with local error:

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

Compiled 85 to 40 computations (52.9% saved)

series70.0ms (1.7%)

Counts
6 → 75
Calls

30 calls:

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

rewrite159.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
1025×log1p-expm1-u
1025×expm1-log1p-u
266×associate-*r*
166×associate-*l*
144×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

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

simplify141.0ms (3.3%)

Algorithm
egg-herbie
Rules
980×fma-neg
738×associate-*r*
730×fma-define
646×associate-*l*
518×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046910016
112529404
249719354
Stop Event
node limit
Counts
240 → 264
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 4)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (*.f64 -1/45 (pow.f64 im 6))))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (+.f64 (*.f64 -1/45 (pow.f64 im 6)) (*.f64 -17/2520 (pow.f64 im 8)))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re))))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)))))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 re (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
re
(*.f64 1/2 (pow.f64 re 2))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 -1/720 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/720)))))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(+.f64 0 (log.f64 (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (log.f64 (cbrt.f64 (cos.f64 im))))
(+.f64 (log.f64 (sqrt.f64 (cos.f64 im))) (log.f64 (sqrt.f64 (cos.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (cos.f64 im)))) 1)
(*.f64 (log.f64 (cos.f64 im)) 1)
(*.f64 1 (log.f64 (cos.f64 im)))
(*.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))))
(pow.f64 (log.f64 (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 3)
(pow.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (log.f64 (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 2))
(cbrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (log.f64 (cos.f64 im))))
(log1p.f64 (-.f64 (cos.f64 im) 1))
(exp.f64 (log.f64 (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (log.f64 (log.f64 (cos.f64 im))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re)))) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(*.f64 1 (*.f64 (cos.f64 im) (exp.f64 re)))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (*.f64 (exp.f64 re) 1) (cos.f64 im))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (cos.f64 im)) re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re))) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (fma.f64 re re (-.f64 1 re)))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(exp.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (*.f64 (cos.f64 im) re) 1) (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) re)) (-.f64 (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) re)) (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3))) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (cos.f64 im)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (cos.f64 im)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (fma.f64 1/2 (pow.f64 re 2) re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 1))
(fma.f64 (cos.f64 im) re (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))
(fma.f64 re (cos.f64 im) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 re 2) re))) 1)
(-.f64 (/.f64 (pow.f64 re 2) (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/4) (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))))
(*.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))
(*.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) (sqrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2)))))
(*.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (/.f64 1 (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))) (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3))))
(/.f64 1 (/.f64 (+.f64 re (*.f64 -1/2 (pow.f64 re 2))) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (+.f64 (*.f64 (pow.f64 re 4) 1/4) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3))) (neg.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))) (neg.f64 (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re 4) 1/4) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 re 2) re))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 1))
(fma.f64 1 re (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 1 (*.f64 1/2 (pow.f64 re 2)) re)
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 (pow.f64 re 2) 1/2 re)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/4)) (cbrt.f64 (*.f64 1/2 (pow.f64 re 2))) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 (*.f64 re (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 1/2)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) (/.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (cos.f64 im) (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(*.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re))))))
(*.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (/.f64 1 (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(*.f64 (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1) (cos.f64 im))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re)))) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (pow.f64 (cos.f64 im) 2)) (-.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) (cos.f64 im)))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 2))
(log.f64 (exp.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 1))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) (cos.f64 im))
(fma.f64 (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) (sqrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) (cos.f64 im))
Outputs
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/12 (pow.f64 im 4)))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 im 4)))
(fma.f64 -1/12 (pow.f64 im 4) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (*.f64 -1/45 (pow.f64 im 6))))
(fma.f64 -1/2 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 im 4) (*.f64 -1/45 (pow.f64 im 6))))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/12 (pow.f64 im 4)) (+.f64 (*.f64 -1/45 (pow.f64 im 6)) (*.f64 -17/2520 (pow.f64 im 8)))))
(fma.f64 -1/2 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 im 4) (fma.f64 -1/45 (pow.f64 im 6) (*.f64 -17/2520 (pow.f64 im 8)))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) (cos.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))))
(+.f64 (cos.f64 im) (fma.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3)) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (fma.f64 1/2 (pow.f64 re 2) re))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (*.f64 -1 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (exp.f64 re)))
(*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (exp.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re))))))
(+.f64 (*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 (exp.f64 re) (+.f64 (*.f64 (pow.f64 im 6) -1/720) (*.f64 (pow.f64 im 4) 1/24))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 re (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 re (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re))))))
(+.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re 1)))))
(+.f64 re (+.f64 (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/24))) 1))
(+.f64 (+.f64 re 1) (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)))))))
(+.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re 1)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re 1))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1)) (*.f64 (+.f64 re 1) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) -1/720))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 1/2 (pow.f64 re 2) re)
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (fma.f64 1/2 (pow.f64 re 2) re)) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re (*.f64 (pow.f64 re 2) -1/4))) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 re (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (fma.f64 1/2 (pow.f64 re 2) re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 1/2 (pow.f64 re 2) re)) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/24))) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 re (fma.f64 -1/2 (*.f64 (pow.f64 im 2) (fma.f64 1/2 (pow.f64 re 2) re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (fma.f64 1/2 (pow.f64 re 2) re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 1/2 (pow.f64 re 2) re)) (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 re (+.f64 (fma.f64 1/2 (pow.f64 re 2) (*.f64 (pow.f64 im 4) (fma.f64 re 1/24 (*.f64 (pow.f64 re 2) 1/48)))) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 6) -1/720)))))
(*.f64 re (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
re
(*.f64 1/2 (pow.f64 re 2))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)))))
(+.f64 1 (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (*.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2))))
(+.f64 re (+.f64 1 (fma.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2) (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (+.f64 re 1) (fma.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))))
(+.f64 1 (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (fma.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (fma.f64 1/2 (pow.f64 re 2) re)))))))
(+.f64 re (+.f64 (fma.f64 1/2 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2) (*.f64 (pow.f64 im 4) (fma.f64 1/24 (fma.f64 1/2 (pow.f64 re 2) re) 1/24)))) 1))
(+.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 -1/720 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/720)))))))
(+.f64 1 (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (fma.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2) (fma.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (fma.f64 1/2 (pow.f64 re 2) re))) (*.f64 (pow.f64 im 6) (fma.f64 -1/720 (fma.f64 1/2 (pow.f64 re 2) re) -1/720))))))
(+.f64 re (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) (fma.f64 -1/2 (fma.f64 1/2 (pow.f64 re 2) re) -1/2) (fma.f64 (pow.f64 im 4) (fma.f64 1/24 (fma.f64 1/2 (pow.f64 re 2) re) 1/24) (*.f64 (pow.f64 im 6) (fma.f64 -1/720 (fma.f64 1/2 (pow.f64 re 2) re) -1/720)))))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (*.f64 re (cos.f64 im))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(+.f64 0 (log.f64 (cos.f64 im)))
(log.f64 (cos.f64 im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (log.f64 (cbrt.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(+.f64 (log.f64 (sqrt.f64 (cos.f64 im))) (log.f64 (sqrt.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (cos.f64 im)))) 1)
(expm1.f64 (log1p.f64 (log.f64 (cos.f64 im))))
(*.f64 (log.f64 (cos.f64 im)) 1)
(log.f64 (cos.f64 im))
(*.f64 1 (log.f64 (cos.f64 im)))
(log.f64 (cos.f64 im))
(*.f64 (cbrt.f64 (log.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2))
(log.f64 (cos.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2) (cbrt.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(*.f64 (sqrt.f64 (log.f64 (cos.f64 im))) (sqrt.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(pow.f64 (log.f64 (cos.f64 im)) 1)
(log.f64 (cos.f64 im))
(pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 3)
(log.f64 (cos.f64 im))
(pow.f64 (pow.f64 (log.f64 (cos.f64 im)) 3) 1/3)
(log.f64 (cos.f64 im))
(pow.f64 (sqrt.f64 (log.f64 (cos.f64 im))) 2)
(log.f64 (cos.f64 im))
(sqrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 2))
(log.f64 (cos.f64 im))
(cbrt.f64 (pow.f64 (log.f64 (cos.f64 im)) 3))
(log.f64 (cos.f64 im))
(expm1.f64 (log1p.f64 (log.f64 (cos.f64 im))))
(log1p.f64 (-.f64 (cos.f64 im) 1))
(log1p.f64 (+.f64 (cos.f64 im) -1))
(exp.f64 (log.f64 (log.f64 (cos.f64 im))))
(log.f64 (cos.f64 im))
(exp.f64 (*.f64 (log.f64 (log.f64 (cos.f64 im))) 1))
(log.f64 (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re)))) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 1 (*.f64 (cos.f64 im) (exp.f64 re)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) 1) (cos.f64 im))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1)
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 3)
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3) 1/3)
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (exp.f64 re))) 2)
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (cos.f64 im)) re))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)) 2)) (cbrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re))) (sqrt.f64 (+.f64 (log.f64 (cos.f64 im)) re)))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 2))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re)))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 3))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (exp.f64 re))))
(exp.f64 (-.f64 (log.f64 (cos.f64 im)) (neg.f64 re)))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (fma.f64 re re (-.f64 1 re)))
(/.f64 (cos.f64 im) (/.f64 (fma.f64 re re (-.f64 1 re)) (+.f64 (pow.f64 re 3) 1)))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 re re (-.f64 1 re))) (+.f64 (pow.f64 re 3) 1))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (cos.f64 im))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (cos.f64 im) (/.f64 (fma.f64 re re (-.f64 1 re)) (+.f64 (pow.f64 re 3) 1)))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 re re (-.f64 1 re))) (+.f64 (pow.f64 re 3) 1))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (cos.f64 im))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (*.f64 (+.f64 (log.f64 (cos.f64 im)) (log1p.f64 re)) 1))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(+.f64 (*.f64 (*.f64 (cos.f64 im) re) 1) (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) 1))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) re)) (-.f64 (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) 3)) (+.f64 (*.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (-.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) re)))))
(/.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))) (-.f64 (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 (pow.f64 re 4) 1/4 (pow.f64 re 2))) (*.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (cos.f64 im) (pow.f64 re 3)))))
(/.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))) (fma.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 (pow.f64 re 4) 1/4 (pow.f64 re 2)) (*.f64 (*.f64 re (pow.f64 (cos.f64 im) 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) re)) (*.f64 (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2)))))
(/.f64 (*.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) (*.f64 (cos.f64 im) (-.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) (-.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(/.f64 (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4))) (*.f64 (cos.f64 im) (fma.f64 -1/2 (pow.f64 re 2) re)))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3))) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 (cos.f64 im) (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3))))) (cos.f64 im))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3))))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re (*.f64 -1/2 (pow.f64 re 2))) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 -1/2 (pow.f64 re 2) re)) (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (/.f64 (fma.f64 -1/2 (pow.f64 re 2) re) (cos.f64 im)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (cos.f64 im)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 (cos.f64 im) (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3))))) (cos.f64 im))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3))))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)))
(/.f64 (*.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (cos.f64 im)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re (*.f64 -1/2 (pow.f64 re 2))) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 -1/2 (pow.f64 re 2) re)) (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (/.f64 (fma.f64 -1/2 (pow.f64 re 2) re) (cos.f64 im)))
(pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 1)
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 3)
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) 1/3)
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 2)
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 1))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(fma.f64 (cos.f64 im) re (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(fma.f64 re (cos.f64 im) (*.f64 (cos.f64 im) (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 re 2) re))) 1)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(-.f64 (/.f64 (pow.f64 re 2) (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))) (/.f64 (*.f64 (pow.f64 re 4) 1/4) (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (fma.f64 -1/2 (pow.f64 re 2) re))
(*.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))
(fma.f64 1/2 (pow.f64 re 2) re)
(*.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1)
(fma.f64 1/2 (pow.f64 re 2) re)
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 2))
(fma.f64 1/2 (pow.f64 re 2) re)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1/2 (pow.f64 re 2) re)
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) (sqrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1/2 (pow.f64 re 2) re)
(*.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2)))))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3)))))
(*.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (/.f64 1 (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (fma.f64 -1/2 (pow.f64 re 2) re))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))) (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3))))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 1 (/.f64 (+.f64 re (*.f64 -1/2 (pow.f64 re 2))) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (fma.f64 -1/2 (pow.f64 re 2) re))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3)) (+.f64 (*.f64 (pow.f64 re 4) 1/4) (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 3) 1/2))))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (fma.f64 -1/2 (pow.f64 re 2) re))
(/.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 re 2) 3) 1/8) (pow.f64 re 3))) (neg.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 (pow.f64 re 3) 1/2)))))
(/.f64 1 (/.f64 (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 4) 1/4) (*.f64 1/2 (pow.f64 re 3)))) (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 4) 1/4 (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 2) 3) 1/8 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/4 (fma.f64 re re (*.f64 -1/2 (pow.f64 re 3)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4))) (neg.f64 (+.f64 re (*.f64 -1/2 (pow.f64 re 2)))))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (fma.f64 -1/2 (pow.f64 re 2) re))
(/.f64 (-.f64 (*.f64 (pow.f64 re 4) 1/4) (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 4) 1/4)) (+.f64 re (*.f64 -1/2 (pow.f64 re 2))))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 4) -1/4)) (fma.f64 -1/2 (pow.f64 re 2) re))
(pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1)
(fma.f64 1/2 (pow.f64 re 2) re)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 3)
(fma.f64 1/2 (pow.f64 re 2) re)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 3) 1/3)
(fma.f64 1/2 (pow.f64 re 2) re)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 2)
(fma.f64 1/2 (pow.f64 re 2) re)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 2))
(fma.f64 1/2 (pow.f64 re 2) re)
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1/2 (pow.f64 re 2) re)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 re 2) re))))
(fma.f64 1/2 (pow.f64 re 2) re)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 re 2) re) 3))
(fma.f64 1/2 (pow.f64 re 2) re)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1/2 (pow.f64 re 2) re)
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1/2 (pow.f64 re 2) re)
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 re 2) re)) 1))
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 1 re (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 1 (*.f64 1/2 (pow.f64 re 2)) re)
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 (pow.f64 re 2) 1/2 re)
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/4)) (cbrt.f64 (*.f64 1/2 (pow.f64 re 2))) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 (*.f64 re (sqrt.f64 1/2)) (*.f64 re (sqrt.f64 1/2)) re)
(fma.f64 1/2 (pow.f64 re 2) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 1/2 (pow.f64 re 2)))
(fma.f64 1/2 (pow.f64 re 2) re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(-.f64 (/.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) (/.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 1)
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 2))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) 1) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(*.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (/.f64 1 (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(*.f64 (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) 1) (cos.f64 im))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re)))) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) 1) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) 1) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) 1) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (pow.f64 (cos.f64 im) 2) (fma.f64 1/2 (pow.f64 re 2) re))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) 1) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (fma.f64 1/2 (pow.f64 re 2) re) (pow.f64 (cos.f64 im) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2)) (*.f64 (cos.f64 im) (-.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (pow.f64 (cos.f64 im) 2)) (-.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) (cos.f64 im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) 2) (pow.f64 (cos.f64 im) 2)) (fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (neg.f64 (cos.f64 im))))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 1)
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 3)
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 3) 1/3)
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 2)
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 2))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(log.f64 (exp.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re))) 3))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))) 1))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 1 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)) (cos.f64 im))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im) (cos.f64 im))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) (cos.f64 im))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) (sqrt.f64 (*.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re))) (cos.f64 im))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (pow.f64 re 2) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 (fma.f64 1/2 (pow.f64 re 2) re)))

eval96.0ms (2.3%)

Compiler

Compiled 4834 to 3019 computations (37.5% saved)

prune38.0ms (0.9%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New2604264
Fresh000
Picked145
Done011
Total2619270
Accuracy
100.0%
Counts
270 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.6%
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
28.3%
(+.f64 re 1)
30.3%
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
48.0%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
72.4%
(exp.f64 re)
47.0%
(cos.f64 im)
Compiler

Compiled 68 to 51 computations (25% saved)

localize203.0ms (4.8%)

Localize:

Found 5 expressions with local error:

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

Compiled 79 to 48 computations (39.2% saved)

series110.0ms (2.6%)

Counts
5 → 96
Calls

27 calls:

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

rewrite150.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
1256×prod-diff
1021×log1p-expm1-u
432×expm1-log1p-u
228×associate-*r*
174×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

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

simplify171.0ms (4.1%)

Algorithm
egg-herbie
Rules
494×associate-*r*
478×log-prod
470×associate-*l*
468×fma-define
450×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04378574
112868301
248128172
Stop Event
node limit
Counts
243 → 246
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re))))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re)))))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(/.f64 (-.f64 (pow.f64 re 2) 1) (-.f64 re 1))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (/.f64 (pow.f64 re 2) (-.f64 re 1))) (/.f64 1 (-.f64 re 1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (/.f64 (pow.f64 re 2) (-.f64 re 1)))) (/.f64 1 (-.f64 re 1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 im 6) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (/.f64 (pow.f64 re 2) (-.f64 re 1))))) (/.f64 1 (-.f64 re 1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(/.f64 -1 (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 re (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 re (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(-.f64 re 1)
(-.f64 (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 re 1)))) 1)
(-.f64 (+.f64 re (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/4 (-.f64 re 1)) (*.f64 1/24 (-.f64 re 1))))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 re 1))))) 1)
(-.f64 (+.f64 re (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/4 (-.f64 re 1)) (*.f64 1/24 (-.f64 re 1))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 -1/720 (-.f64 re 1)) (+.f64 (*.f64 1/48 (-.f64 re 1)) (*.f64 1/2 (+.f64 (*.f64 -1/4 (-.f64 re 1)) (*.f64 1/24 (-.f64 re 1)))))))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 re 1)))))) 1)
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) re))) 1)
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) re))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) re)) 1))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)) (+.f64 re 1))
(+.f64 (+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 -1/2 (pow.f64 im 2))) 1)
(+.f64 (+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (*.f64 -1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3)) (+.f64 1 (pow.f64 re 3))) (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 re re (-.f64 1 re))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3)) (fma.f64 re re -1)) (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (fma.f64 re re (-.f64 1 re))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))) (*.f64 (fma.f64 re re (-.f64 1 re)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1)) (*.f64 (fma.f64 re re (-.f64 1 re)) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))) (*.f64 (+.f64 re -1) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (*.f64 (fma.f64 re re -1) (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(/.f64 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 1 (pow.f64 re 3))) (fma.f64 re re (-.f64 1 re)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 re 1) (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (+.f64 re 1) (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3)) (+.f64 re 1)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1) (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (pow.f64 im 2) 1)) (+.f64 re -1))
(pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3) (pow.f64 (+.f64 re 1) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (pow.f64 im 2)))) 1))
(fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) re (fma.f64 -1/2 (pow.f64 im 2) 1))
(-.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1)
(pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 im 2))) 3)
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2))))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (*.f64 (cbrt.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (+.f64 re -1))))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (sqrt.f64 (fma.f64 re re -1)) (*.f64 (sqrt.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (+.f64 re -1))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (neg.f64 (fma.f64 re re -1)) (/.f64 1 (/.f64 (-.f64 1 re) (cos.f64 im))))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(*.f64 (/.f64 1 (+.f64 re -1)) (/.f64 (fma.f64 re re -1) (/.f64 1 (cos.f64 im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 re re -1)) (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 re re -1)) 1) (/.f64 (sqrt.f64 (fma.f64 re re -1)) (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 re re -1)) (+.f64 re -1)) (/.f64 (sqrt.f64 (fma.f64 re re -1)) (/.f64 1 (cos.f64 im))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)) (/.f64 (fma.f64 re re -1) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))) (/.f64 (fma.f64 re re -1) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (+.f64 re -1)) (/.f64 (cbrt.f64 (fma.f64 re re -1)) (/.f64 1 (cos.f64 im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))) (/.f64 (cbrt.f64 (fma.f64 re re -1)) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 re re -1)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)) (/.f64 (sqrt.f64 (fma.f64 re re -1)) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(*.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(*.f64 (/.f64 (fma.f64 re re -1) 1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (-.f64 1 re)) (neg.f64 (cos.f64 im)))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(pow.f64 (/.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)
(neg.f64 (/.f64 (fma.f64 re re -1) (/.f64 (-.f64 1 re) (cos.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (cos.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 re re -1) 3) (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))) 1)
(*.f64 1 (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (+.f64 re -1) (/.f64 1 (cos.f64 im)))
(*.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 1)
(*.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (*.f64 (cbrt.f64 (+.f64 re -1)) (/.f64 1 (cos.f64 im))))
(*.f64 (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (sqrt.f64 (+.f64 re -1)) (*.f64 (sqrt.f64 (+.f64 re -1)) (/.f64 1 (cos.f64 im))))
(*.f64 (-.f64 1 re) (/.f64 1 (neg.f64 (cos.f64 im))))
(*.f64 (/.f64 1 (cos.f64 im)) (+.f64 re -1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (/.f64 (+.f64 re -1) (cbrt.f64 (cos.f64 im))))
(*.f64 (/.f64 1 (sqrt.f64 (cos.f64 im))) (/.f64 (+.f64 re -1) (sqrt.f64 (cos.f64 im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) 1) (/.f64 (cbrt.f64 (+.f64 re -1)) (cos.f64 im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (sqrt.f64 (cos.f64 im))) (/.f64 (cbrt.f64 (+.f64 re -1)) (sqrt.f64 (cos.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re -1)) 1) (/.f64 (sqrt.f64 (+.f64 re -1)) (cos.f64 im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re -1)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (/.f64 (sqrt.f64 (+.f64 re -1)) (cbrt.f64 (cos.f64 im))))
(pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 3)
(pow.f64 (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)
(pow.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) -1)
(neg.f64 (/.f64 (+.f64 re -1) (neg.f64 (cos.f64 im))))
(sqrt.f64 (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 2))
(log.f64 (exp.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(cbrt.f64 (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 re -1) 3) (pow.f64 (cos.f64 im) 3)))
(expm1.f64 (log1p.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(log1p.f64 (expm1.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(exp.f64 (log.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 1))
Outputs
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
(*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re))))
(+.f64 re (fma.f64 -1/2 (*.f64 re (pow.f64 im 2)) (*.f64 1/24 (*.f64 re (pow.f64 im 4)))))
(+.f64 re (*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (+.f64 (*.f64 1/24 (pow.f64 im 4)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) re)))))
(+.f64 re (fma.f64 -1/2 (*.f64 re (pow.f64 im 2)) (fma.f64 -1/720 (*.f64 re (pow.f64 im 6)) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 re (+.f64 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6))) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(*.f64 re (cos.f64 im))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(fma.f64 -1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
(*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
(*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 re (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cos.f64 im)
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 re (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (-.f64 (pow.f64 re 2) 1) (-.f64 re 1))
(/.f64 (fma.f64 re re -1) (+.f64 re -1))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (/.f64 (pow.f64 re 2) (-.f64 re 1))) (/.f64 1 (-.f64 re 1)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (/.f64 (pow.f64 re 2) (-.f64 re 1)))) (/.f64 1 (-.f64 re 1)))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (/.f64 (pow.f64 re 2) (+.f64 re -1)))) (/.f64 1 (+.f64 re -1)))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (*.f64 1/24 (*.f64 (/.f64 (pow.f64 im 4) (+.f64 re -1)) (fma.f64 re re -1)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (*.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (+.f64 re -1) (fma.f64 re re -1))))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 im 6) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 im 4) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))) (/.f64 (pow.f64 re 2) (-.f64 re 1))))) (/.f64 1 (-.f64 re 1)))
(-.f64 (fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (fma.f64 -1/720 (/.f64 (pow.f64 im 6) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (fma.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (/.f64 (pow.f64 re 2) (+.f64 re -1))))) (/.f64 1 (+.f64 re -1)))
(fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (+.f64 (fma.f64 -1/720 (/.f64 (pow.f64 im 6) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (*.f64 1/24 (*.f64 (/.f64 (pow.f64 im 4) (+.f64 re -1)) (fma.f64 re re -1)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1))))
(fma.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (fma.f64 re re -1))) (+.f64 (fma.f64 -1/720 (*.f64 (/.f64 (pow.f64 im 6) (+.f64 re -1)) (fma.f64 re re -1)) (*.f64 1/24 (/.f64 (pow.f64 im 4) (/.f64 (+.f64 re -1) (fma.f64 re re -1))))) (/.f64 (fma.f64 re re -1) (+.f64 re -1))))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (pow.f64 re 2) 1)) (-.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 -1 (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 re (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 re (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (/.f64 re (cos.f64 im)) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 re 1)
(+.f64 re -1)
(-.f64 (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 re 1)))) 1)
(+.f64 re (-.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 re -1)) 1))
(+.f64 re (fma.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 re -1)) -1))
(*.f64 (-.f64 1 re) (fma.f64 -1/2 (pow.f64 im 2) -1))
(-.f64 (+.f64 re (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/4 (-.f64 re 1)) (*.f64 1/24 (-.f64 re 1))))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 re 1))))) 1)
(+.f64 re (-.f64 (fma.f64 -1 (*.f64 (pow.f64 im 4) (*.f64 (+.f64 re -1) -5/24)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 re -1))) 1))
(+.f64 (-.f64 re (*.f64 (pow.f64 im 4) (*.f64 (+.f64 re -1) -5/24))) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 re -1)) -1))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 re -1) 1/2)) (fma.f64 (pow.f64 im 4) (*.f64 (-.f64 1 re) -5/24) -1)))
(-.f64 (+.f64 re (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/4 (-.f64 re 1)) (*.f64 1/24 (-.f64 re 1))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 -1/720 (-.f64 re 1)) (+.f64 (*.f64 1/48 (-.f64 re 1)) (*.f64 1/2 (+.f64 (*.f64 -1/4 (-.f64 re 1)) (*.f64 1/24 (-.f64 re 1)))))))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 re 1)))))) 1)
(+.f64 re (-.f64 (fma.f64 -1 (*.f64 (pow.f64 im 4) (*.f64 (+.f64 re -1) -5/24)) (fma.f64 -1 (*.f64 (pow.f64 im 6) (fma.f64 -1/720 (+.f64 re -1) (fma.f64 1/48 (+.f64 re -1) (*.f64 1/2 (*.f64 (+.f64 re -1) -5/24))))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 re -1)))) 1))
(+.f64 re (+.f64 (-.f64 (*.f64 (pow.f64 im 4) (neg.f64 (*.f64 (+.f64 re -1) -5/24))) (*.f64 (pow.f64 im 6) (+.f64 (*.f64 (+.f64 re -1) -5/48) (*.f64 (+.f64 re -1) 7/360)))) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 re -1)) -1)))
(+.f64 re (+.f64 (-.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 re -1) 1/2)) (*.f64 (pow.f64 im 6) (*.f64 (+.f64 re -1) -61/720))) (fma.f64 (pow.f64 im 4) (*.f64 (-.f64 1 re) -5/24) -1)))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(/.f64 (-.f64 re 1) (cos.f64 im))
(/.f64 (+.f64 re -1) (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) re))) 1)
(expm1.f64 (log1p.f64 (*.f64 re (cos.f64 im))))
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(*.f64 re (cos.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(*.f64 re (cos.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(*.f64 re (cos.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(*.f64 re (cos.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(*.f64 re (cos.f64 im))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))
(*.f64 re (cos.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) re))))
(*.f64 re (cos.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(*.f64 re (cos.f64 im))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)))
(*.f64 re (cos.f64 im))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)))
(*.f64 re (cos.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(expm1.f64 (log1p.f64 (*.f64 re (cos.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) re)) 1))
(*.f64 re (cos.f64 im))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)) (+.f64 re 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 -1/2 (pow.f64 im 2))) 1)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(+.f64 (+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))) 1)
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3)) (+.f64 1 (pow.f64 re 3))) (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 re re (-.f64 1 re))))
(*.f64 (/.f64 (+.f64 1 (*.f64 -1/8 (pow.f64 (pow.f64 im 2) 3))) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3)) (fma.f64 re re -1)) (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (+.f64 1 (*.f64 -1/8 (pow.f64 (pow.f64 im 2) 3))) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (fma.f64 re re (-.f64 1 re))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (fma.f64 re re (-.f64 1 re)) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (fma.f64 re re (-.f64 1 re)) (fma.f64 -1/2 (pow.f64 im 2) -1))) (+.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re -1)))
(/.f64 (fma.f64 re re -1) (/.f64 (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (fma.f64 (pow.f64 im 4) 1/4 -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))) (*.f64 (fma.f64 re re (-.f64 1 re)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (/.f64 (+.f64 1 (*.f64 -1/8 (pow.f64 (pow.f64 im 2) 3))) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1)) (*.f64 (fma.f64 re re (-.f64 1 re)) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (fma.f64 re re (-.f64 1 re)) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (fma.f64 re re (-.f64 1 re)) (fma.f64 -1/2 (pow.f64 im 2) -1))) (+.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))) (*.f64 (+.f64 re -1) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (+.f64 1 (*.f64 -1/8 (pow.f64 (pow.f64 im 2) 3))) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (fma.f64 re re -1) (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (fma.f64 re re -1) (/.f64 (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (fma.f64 (pow.f64 im 4) 1/4 -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (+.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (-.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (-.f64 (+.f64 (*.f64 (pow.f64 re 2) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (-.f64 (*.f64 (+.f64 (pow.f64 re 2) 1) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))))
(/.f64 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (-.f64 (*.f64 (pow.f64 re 2) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (fma.f64 (pow.f64 re 2) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (neg.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))) (-.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 re re -1))) (+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) -1) (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 1 (pow.f64 re 3))) (fma.f64 re re (-.f64 1 re)))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (fma.f64 re re (-.f64 1 re)) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (+.f64 re 1) (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 re 1) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (*.f64 -1/8 (pow.f64 (pow.f64 im 2) 3)))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (+.f64 re 1))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3)) (+.f64 re 1)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (-.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 re 1) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (*.f64 -1/8 (pow.f64 (pow.f64 im 2) 3)))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (+.f64 re 1))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 4) 1/4) -1) (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (+.f64 re 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (fma.f64 re re (-.f64 1 re)) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (pow.f64 im 2) 1)) (+.f64 re -1))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 1)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 3)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3) 1/3)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))) 2)
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 2))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)) 3))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3) (pow.f64 (+.f64 re 1) 3)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (pow.f64 im 2)))) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) re (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(-.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 1)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 im 2))) 3)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3) 1/3)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.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 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (pow.f64 im 2)) 3))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(exp.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (pow.f64 im 2))) 1))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) -1)
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) 0)
(*.f64 -1/2 (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) 1)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (*.f64 (cbrt.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (+.f64 re -1))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (sqrt.f64 (fma.f64 re re -1)) (*.f64 (sqrt.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (+.f64 re -1))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (neg.f64 (fma.f64 re re -1)) (/.f64 1 (/.f64 (-.f64 1 re) (cos.f64 im))))
(/.f64 (*.f64 (neg.f64 (fma.f64 re re -1)) 1) (/.f64 (-.f64 1 re) (cos.f64 im)))
(*.f64 (neg.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (-.f64 1 re)))
(*.f64 (cos.f64 im) (/.f64 (neg.f64 (fma.f64 re re -1)) (-.f64 1 re)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 1 (+.f64 re -1)) (/.f64 (fma.f64 re re -1) (/.f64 1 (cos.f64 im))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 re re -1)) (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 re re -1)) 1) (/.f64 (sqrt.f64 (fma.f64 re re -1)) (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 re re -1)) (+.f64 re -1)) (/.f64 (sqrt.f64 (fma.f64 re re -1)) (/.f64 1 (cos.f64 im))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)) (/.f64 (fma.f64 re re -1) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))) (/.f64 (fma.f64 re re -1) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (+.f64 re -1)) (/.f64 (cbrt.f64 (fma.f64 re re -1)) (/.f64 1 (cos.f64 im))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 re re -1)) 2) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))) (/.f64 (cbrt.f64 (fma.f64 re re -1)) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 re re -1)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)) (/.f64 (sqrt.f64 (fma.f64 re re -1)) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (/.f64 (fma.f64 re re -1) 1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(*.f64 (fma.f64 re re -1) (/.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (-.f64 1 re)) (neg.f64 (cos.f64 im)))
(/.f64 (*.f64 (neg.f64 (fma.f64 re re -1)) 1) (/.f64 (-.f64 1 re) (cos.f64 im)))
(*.f64 (neg.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (-.f64 1 re)))
(*.f64 (cos.f64 im) (/.f64 (neg.f64 (fma.f64 re re -1)) (-.f64 1 re)))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3) 1/3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (/.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(neg.f64 (/.f64 (fma.f64 re re -1) (/.f64 (-.f64 1 re) (cos.f64 im))))
(/.f64 (*.f64 (neg.f64 (fma.f64 re re -1)) 1) (/.f64 (-.f64 1 re) (cos.f64 im)))
(*.f64 (neg.f64 (fma.f64 re re -1)) (/.f64 (cos.f64 im) (-.f64 1 re)))
(*.f64 (cos.f64 im) (/.f64 (neg.f64 (fma.f64 re re -1)) (-.f64 1 re)))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 3))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 re re -1) 3) (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))) 1)
(expm1.f64 (log1p.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 1 (/.f64 (+.f64 re -1) (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (+.f64 re -1) (/.f64 1 (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 1)
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (*.f64 (cbrt.f64 (+.f64 re -1)) (/.f64 1 (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (sqrt.f64 (+.f64 re -1)) (*.f64 (sqrt.f64 (+.f64 re -1)) (/.f64 1 (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (-.f64 1 re) (/.f64 1 (neg.f64 (cos.f64 im))))
(/.f64 (*.f64 (-.f64 1 re) 1) (neg.f64 (cos.f64 im)))
(/.f64 (-.f64 1 re) (neg.f64 (cos.f64 im)))
(*.f64 (/.f64 1 (cos.f64 im)) (+.f64 re -1))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (/.f64 (+.f64 re -1) (cbrt.f64 (cos.f64 im))))
(/.f64 (/.f64 (+.f64 re -1) (cbrt.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (cos.f64 im)) 2))
(*.f64 (/.f64 1 (sqrt.f64 (cos.f64 im))) (/.f64 (+.f64 re -1) (sqrt.f64 (cos.f64 im))))
(/.f64 (/.f64 (+.f64 re -1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) 1) (/.f64 (cbrt.f64 (+.f64 re -1)) (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(*.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 re -1)) 2) (sqrt.f64 (cos.f64 im))) (/.f64 (cbrt.f64 (+.f64 re -1)) (sqrt.f64 (cos.f64 im))))
(*.f64 (/.f64 1 (sqrt.f64 (cos.f64 im))) (/.f64 (+.f64 re -1) (sqrt.f64 (cos.f64 im))))
(/.f64 (/.f64 (+.f64 re -1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re -1)) 1) (/.f64 (sqrt.f64 (+.f64 re -1)) (cos.f64 im)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re -1)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (/.f64 (sqrt.f64 (+.f64 re -1)) (cbrt.f64 (cos.f64 im))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (/.f64 (+.f64 re -1) (cbrt.f64 (cos.f64 im))))
(/.f64 (/.f64 (+.f64 re -1) (cbrt.f64 (cos.f64 im))) (pow.f64 (cbrt.f64 (cos.f64 im)) 2))
(pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 1)
(/.f64 (+.f64 re -1) (cos.f64 im))
(pow.f64 (cbrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 3)
(/.f64 (+.f64 re -1) (cos.f64 im))
(pow.f64 (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 3) 1/3)
(/.f64 (+.f64 re -1) (cos.f64 im))
(pow.f64 (sqrt.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 2)
(/.f64 (+.f64 re -1) (cos.f64 im))
(pow.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) -1)
(/.f64 (+.f64 re -1) (cos.f64 im))
(neg.f64 (/.f64 (+.f64 re -1) (neg.f64 (cos.f64 im))))
(/.f64 (*.f64 (-.f64 1 re) 1) (neg.f64 (cos.f64 im)))
(/.f64 (-.f64 1 re) (neg.f64 (cos.f64 im)))
(sqrt.f64 (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 2))
(/.f64 (+.f64 re -1) (cos.f64 im))
(log.f64 (exp.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 re -1) (cos.f64 im)))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(cbrt.f64 (pow.f64 (/.f64 (+.f64 re -1) (cos.f64 im)) 3))
(/.f64 (+.f64 re -1) (cos.f64 im))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 re -1) 3) (pow.f64 (cos.f64 im) 3)))
(/.f64 (+.f64 re -1) (cos.f64 im))
(expm1.f64 (log1p.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(log1p.f64 (expm1.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(exp.f64 (log.f64 (/.f64 (+.f64 re -1) (cos.f64 im))))
(/.f64 (+.f64 re -1) (cos.f64 im))
(exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 re -1) (cos.f64 im))) 1))
(/.f64 (+.f64 re -1) (cos.f64 im))

eval94.0ms (2.2%)

Compiler

Compiled 4383 to 3170 computations (27.7% saved)

prune40.0ms (1%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New2433246
Fresh000
Picked134
Done055
Total24411255
Accuracy
100.0%
Counts
255 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.6%
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
28.3%
(+.f64 re 1)
29.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
12.3%
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
48.0%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
72.4%
(exp.f64 re)
47.0%
(cos.f64 im)
3.4%
re
Compiler

Compiled 78 to 59 computations (24.4% saved)

localize75.0ms (1.8%)

Localize:

Found 2 expressions with local error:

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

Compiled 48 to 36 computations (25% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite80.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1030×unpow-prod-down
700×log-prod
632×log1p-expm1-u
632×expm1-log1p-u
512×pow-prod-down
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01431
115427
2185927
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
Outputs
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re) (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(+.f64 (*.f64 (*.f64 -1/2 re) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 1)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (fma.f64 re re -1)) (+.f64 re -1))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(fma.f64 im (*.f64 im -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) -1/2 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) (*.f64 -1/2 re) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 re (*.f64 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (*.f64 -1/2 re) (pow.f64 im 2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) re (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) 2) (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))

simplify111.0ms (2.6%)

Algorithm
egg-herbie
Rules
1036×associate-/r*
824×distribute-lft-in
816×distribute-rgt-in
700×associate-/l*
592×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01191865
12711821
26681817
324871817
Stop Event
node limit
Counts
65 → 56
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re) (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(+.f64 (*.f64 (*.f64 -1/2 re) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 1)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (fma.f64 re re -1)) (+.f64 re -1))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(fma.f64 im (*.f64 im -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) -1/2 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 im 2) (*.f64 -1/2 re) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 re (*.f64 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (*.f64 -1/2 re) (pow.f64 im 2) (*.f64 (pow.f64 im 2) -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) re (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) 2) (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re) (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1) (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 (*.f64 -1/2 re) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 1)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 -1/2 (pow.f64 im 2)) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (*.f64 -1/2 (pow.f64 im 2)) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 (pow.f64 im 2) (-.f64 (fma.f64 re re 1) re)) (fma.f64 -1/2 (pow.f64 re 3) -1/2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 -1/2 (pow.f64 im 2)) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(/.f64 (pow.f64 im 2) (/.f64 (+.f64 re -1) (*.f64 -1/2 (fma.f64 re re -1))))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re -1)) (fma.f64 -1/2 (*.f64 re re) 1/2))
(*.f64 (fma.f64 re re -1) (/.f64 -1/2 (/.f64 (+.f64 re -1) (pow.f64 im 2))))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)) 1)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 3)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/2 re -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))) 1) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2)))) 3))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 im (*.f64 im -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 im 2) -1/2 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 im 2) (*.f64 -1/2 re) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 -1/2 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 re (*.f64 (pow.f64 im 2) -1/2) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) -1/2) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (*.f64 -1/2 re) (pow.f64 im 2) (*.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) re (*.f64 (*.f64 (pow.f64 im 2) -1/2) 1))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/2) 1 (*.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) 2) (cbrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/2 re -1/2))

eval22.0ms (0.5%)

Compiler

Compiled 899 to 720 computations (19.9% saved)

prune76.0ms (1.8%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New70272
Fresh000
Picked123
Done088
Total711283
Accuracy
100.0%
Counts
83 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.6%
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
28.3%
(+.f64 re 1)
12.3%
(*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1)))
48.0%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
12.1%
(*.f64 -1/2 (pow.f64 im 2))
12.6%
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
75.8%
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
72.4%
(exp.f64 re)
47.0%
(cos.f64 im)
3.4%
re
Compiler

Compiled 179 to 122 computations (31.8% saved)

regimes36.0ms (0.8%)

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

5 calls:

10.0ms
(cos.f64 im)
9.0ms
im
8.0ms
re
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (exp.f64 re) (cos.f64 im))
100.0%1(exp.f64 re)
100.0%1(cos.f64 im)
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes71.0ms (1.7%)

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

4 calls:

25.0ms
im
20.0ms
(cos.f64 im)
19.0ms
re
6.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
91.7%3re
78.3%4im
91.7%3(exp.f64 re)
80.7%4(cos.f64 im)
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes28.0ms (0.7%)

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

2 calls:

14.0ms
(exp.f64 re)
14.0ms
re
Results
AccuracySegmentsBranch
91.2%3re
91.2%3(exp.f64 re)
Compiler

Compiled 7 to 5 computations (28.6% saved)

regimes11.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
re
(+.f64 re 1)
(cos.f64 im)
Outputs
(cos.f64 im)
Calls

3 calls:

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

Compiled 10 to 7 computations (30% saved)

regimes6.0ms (0.2%)

Counts
2 → 1
Calls
Call 1
Inputs
re
(+.f64 re 1)
Outputs
(+.f64 re 1)
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

regimes6.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
re
Outputs
re
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000144883732
1.000004373258575
0.0ms
0.0
0.9999994934222157
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000144883732
1.000004373258575
0.0ms
0.0
0.9999994934222157
Compiler

Compiled 12 to 9 computations (25% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
if-if-or-not
*-commutative
1-exp
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025168
138168
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4503608634569751/4503599627370496) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4503608634569751/4503599627370496) (cos.f64 im) (exp.f64 re)))
(cos.f64 im)
(+.f64 re 1)
re
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4503608634569751/4503599627370496) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 0) (not (<=.f64 (exp.f64 re) 4503608634569751/4503599627370496))) (exp.f64 re) (*.f64 (cos.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4503608634569751/4503599627370496) (cos.f64 im) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 0) (not (<=.f64 (exp.f64 re) 4503608634569751/4503599627370496))) (exp.f64 re) (cos.f64 im))
(cos.f64 im)
(+.f64 re 1)
re
Compiler

Compiled 57 to 39 computations (31.6% saved)

soundness403.0ms (9.5%)

Rules
1592×prod-exp
980×fma-neg
980×fma-neg
832×fma-neg
822×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12751233
28171176
337201165
466071165
046910016
112529404
249719354
046910016
112529404
249719354
Stop Event
node limit
node limit
node limit
Compiler

Compiled 33 to 19 computations (42.4% saved)

end0.0ms (0%)

preprocess185.0ms (4.4%)

Remove

(abs im)

Compiler

Compiled 178 to 108 computations (39.3% saved)

Profiling

Loading profile data...