math.exp on complex, real part

Time bar (total: 4.7s)

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)

sample1.3s (27.5%)

Results
976.0ms6240×256valid
294.0ms2013×256infinite
1.0ms1024valid
Bogosity

preprocess168.0ms (3.6%)

Algorithm
egg-herbie
Rules
3324×fma-def
1146×associate-/l*
1074×times-frac
978×div-sub
710×associate-/r/
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-im
00-0-(exp.f64 re)
00-0-(cos.f64 im)
00-0-(*.f64 (exp.f64 re) (cos.f64 im))
00-0-re
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))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 14 to 10 computations (28.6% saved)

localize34.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)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite287.0ms (6.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))))
(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))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))

simplify101.0ms (2.2%)

Algorithm
egg-herbie
Rules
1548×prod-exp
832×associate-*r*
802×fma-def
698×associate-*l*
606×fma-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12681233
27941176
337931165
462451165
Stop Event
node limit
Counts
45 → 53
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))))
(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))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
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 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)) (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 (*.f64 -1/2 (pow.f64 im 2)) (exp.f64 re)))
(*.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/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.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/24 (pow.f64 im 4) (*.f64 -1/2 (pow.f64 im 2)))))
(+.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/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))))
(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))
(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))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))

eval12.0ms (0.2%)

Compiler

Compiled 679 to 349 computations (48.6% saved)

prune10.0ms (0.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New49453
Fresh000
Picked011
Done000
Total49554
Accuracy
100.0%
Counts
54 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
Compiler

Compiled 64 to 44 computations (31.3% saved)

localize60.0ms (1.3%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.8%
(*.f64 re (cos.f64 im))
99.9%
(*.f64 (+.f64 re 1) (cos.f64 im))
Compiler

Compiled 38 to 13 computations (65.8% saved)

series5.0ms (0.1%)

Counts
2 → 28
Calls

12 calls:

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

rewrite101.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
896×unpow-prod-down
662×log-prod
611×log1p-expm1-u
611×expm1-log1p-u
542×prod-exp
Iterations

Useful iterations: 0 (0.0ms)

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

simplify88.0ms (1.9%)

Algorithm
egg-herbie
Rules
1648×fma-def
814×distribute-lft-in
780×distribute-rgt-in
668×hypot-def
654×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02072607
15112451
214752400
360352372
Stop Event
node limit
Counts
98 → 112
Calls
Call 1
Inputs
(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))
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 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(+.f64 0 (*.f64 (+.f64 re 1) (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 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)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(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)) 2) 1/2)
(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)
(sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 2))
(exp.f64 (+.f64 (log1p.f64 re) (*.f64 (log.f64 (cos.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 im)) 1) (log1p.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 1 (*.f64 re (cos.f64 im)) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 (*.f64 re (cos.f64 im)) 1 (cos.f64 im))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) re) (cos.f64 im))
(fma.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) 2) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) 2) (cbrt.f64 (*.f64 re (cos.f64 im))) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (cos.f64 im)) (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) re) (cos.f64 im))
(fma.f64 (sqrt.f64 (*.f64 re (cos.f64 im))) (sqrt.f64 (*.f64 re (cos.f64 im))) (cos.f64 im))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (cos.f64 im)) (cos.f64 im))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)) (cos.f64 im))
(fma.f64 (*.f64 re (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)) (cos.f64 im))
(fma.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (cos.f64 im))
(fma.f64 (*.f64 (cos.f64 im) (sqrt.f64 re)) (sqrt.f64 re) (cos.f64 im))
(+.f64 0 (*.f64 re (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (cos.f64 im)))) 1)
(pow.f64 (*.f64 re (cos.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))
(cbrt.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (cos.f64 im))))
(exp.f64 (log.f64 (*.f64 re (cos.f64 im))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cos.f64 im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (cos.f64 im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (cos.f64 im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (cos.f64 im)))) 2))
(exp.f64 (+.f64 (log.f64 re) (*.f64 (log.f64 (cos.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 im)) 1) (log.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 re (cos.f64 im))))
Outputs
(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 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 re 1) (pow.f64 im 2)))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
(*.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) 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 1 (+.f64 re (fma.f64 -1/2 (*.f64 (+.f64 re 1) (pow.f64 im 2)) (*.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4))))))
(+.f64 re (+.f64 (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) 1))
(*.f64 (+.f64 re 1) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 1/24 (pow.f64 im 4))))
(+.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 1 (+.f64 re (fma.f64 -1/2 (*.f64 (+.f64 re 1) (pow.f64 im 2)) (fma.f64 -1/720 (*.f64 (+.f64 re 1) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1)) (*.f64 (+.f64 re 1) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1) (*.f64 (+.f64 re 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(*.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))
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 -1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/2 (*.f64 re (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)))))
(fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (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 (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 (fma.f64 -1/2 (*.f64 re (pow.f64 im 2)) re) (*.f64 re (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) re (*.f64 re (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 0 (*.f64 (+.f64 re 1) (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (-.f64 (fma.f64 re re 1) re) (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 (+.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 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 re 1) 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (-.f64 (fma.f64 re re 1) re) (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re))))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 re 1) 1))
(pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) 1/2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 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))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3))
(*.f64 (cos.f64 im) (+.f64 re 1))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1) 1))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 3))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 1/3))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 2))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (+.f64 (log1p.f64 re) (*.f64 (log.f64 (cos.f64 im)) 1)))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 im)) 1) (log1p.f64 re)))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 1 (*.f64 re (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (*.f64 re (cos.f64 im)) 1 (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) 2) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) 2) (cbrt.f64 (*.f64 re (cos.f64 im))) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (sqrt.f64 (*.f64 re (cos.f64 im))) (sqrt.f64 (*.f64 re (cos.f64 im))) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (*.f64 re (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (*.f64 (cos.f64 im) (sqrt.f64 re)) (sqrt.f64 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 0 (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))))
(*.f64 (cos.f64 im) re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (cos.f64 im)))) 1)
(*.f64 (cos.f64 im) re)
(pow.f64 (*.f64 re (cos.f64 im)) 1)
(*.f64 (cos.f64 im) re)
(pow.f64 (cbrt.f64 (*.f64 re (cos.f64 im))) 3)
(*.f64 (cos.f64 im) re)
(pow.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) 1/2)
(*.f64 (cos.f64 im) re)
(pow.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) re)
(pow.f64 (sqrt.f64 (*.f64 re (cos.f64 im))) 2)
(*.f64 (cos.f64 im) re)
(sqrt.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2))
(*.f64 (cos.f64 im) re)
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))
(*.f64 (cos.f64 im) re)
(cbrt.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3))
(*.f64 (cos.f64 im) re)
(expm1.f64 (log1p.f64 (*.f64 re (cos.f64 im))))
(*.f64 (cos.f64 im) re)
(exp.f64 (log.f64 (*.f64 re (cos.f64 im))))
(*.f64 (cos.f64 im) re)
(exp.f64 (*.f64 (log.f64 (*.f64 re (cos.f64 im))) 1))
(*.f64 (cos.f64 im) re)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (cos.f64 im))) 1) 1))
(*.f64 (cos.f64 im) re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (cos.f64 im)))) 3))
(*.f64 (cos.f64 im) re)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3)) 1/3))
(*.f64 (cos.f64 im) re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (cos.f64 im)))) 2))
(*.f64 (cos.f64 im) re)
(exp.f64 (+.f64 (log.f64 re) (*.f64 (log.f64 (cos.f64 im)) 1)))
(*.f64 (cos.f64 im) re)
(exp.f64 (+.f64 (*.f64 (log.f64 (cos.f64 im)) 1) (log.f64 re)))
(*.f64 (cos.f64 im) re)
(log1p.f64 (expm1.f64 (*.f64 re (cos.f64 im))))
(*.f64 (cos.f64 im) re)

eval29.0ms (0.6%)

Compiler

Compiled 1364 to 720 computations (47.2% saved)

prune59.0ms (1.3%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1084112
Fresh000
Picked044
Done011
Total1089117
Accuracy
100.0%
Counts
117 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
51.8%
(+.f64 (cos.f64 im) re)
28.3%
(+.f64 re 1)
30.1%
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
51.8%
(+.f64 (cos.f64 im) re)
28.3%
(+.f64 re 1)
30.1%
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
Compiler

Compiled 124 to 90 computations (27.4% saved)

localize105.0ms (2.2%)

Localize:

Found 3 expressions with local error:

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

Compiled 58 to 35 computations (39.7% saved)

series6.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite133.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
1230×fma-def
1166×log-prod
753×log1p-expm1-u
753×expm1-log1p-u
474×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

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

simplify118.0ms (2.5%)

Algorithm
egg-herbie
Rules
1162×unswap-sqr
706×associate-+r+
610×associate-+l+
484×associate-/l*
418×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04028112
110037856
230837704
Stop Event
node limit
Counts
226 → 229
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))))))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))))))
(+.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))
(cos.f64 im)
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
re
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
re
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 0 (*.f64 (cos.f64 im) re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (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 re) (cos.f64 im)))
(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)))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 im) re)) 1))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(+.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 0 (*.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 (*.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 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 -1/2 (pow.f64 im 2))) 1)
(+.f64 (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) 1) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1)))) 1)
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.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)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (+.f64 re -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) (fma.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)) (fma.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 (fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (neg.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))) (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (neg.f64 (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))) (-.f64 (fma.f64 re re 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) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 re 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.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)) (-.f64 (fma.f64 re re 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)))))
(log.f64 (*.f64 (exp.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (exp.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/2 (pow.f64 im 2) 1))) (exp.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(log.f64 (*.f64 (exp.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (+.f64 1 (expm1.f64 (fma.f64 -1/2 (pow.f64 im 2) 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))))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.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))
(fma.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1) (+.f64 re 1))
(fma.f64 1 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 1 (+.f64 re 1) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 1 (+.f64 re 1) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 1 (*.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))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 1 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1))
(fma.f64 (+.f64 re 1) 1 (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 re 1) 1 (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 1 (fma.f64 -1/2 (pow.f64 im 2) -1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) 1 (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2)) (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (sqrt.f64 re)) (sqrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 im) re))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (cos.f64 im) re)) (/.f64 (pow.f64 re 2) (-.f64 (cos.f64 im) re)))
(*.f64 1 (+.f64 (cos.f64 im) re))
(*.f64 (+.f64 (cos.f64 im) re) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 im) re)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 im) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 im) re)) 2) (cbrt.f64 (+.f64 (cos.f64 im) re)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 im) re)) (sqrt.f64 (+.f64 (cos.f64 im) re)))
(*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (/.f64 1 (-.f64 (cos.f64 im) re)))
(/.f64 1 (/.f64 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)) (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 (cos.f64 im) re) (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re re (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2))) (neg.f64 (-.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (cos.f64 im) 2)) (-.f64 re (cos.f64 im)))
(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 (exp.f64 (+.f64 (cos.f64 im) re)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 im) re))))
(log.f64 (*.f64 (exp.f64 (cos.f64 im)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 im))) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 im))) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (cos.f64 im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (cos.f64 im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (cos.f64 im)))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 im) re) 3))
(expm1.f64 (log1p.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))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 im) re)))
(fma.f64 (cos.f64 im) 1 re)
(fma.f64 re 1 (cos.f64 im))
(fma.f64 1 (cos.f64 im) re)
(fma.f64 1 re (cos.f64 im))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) re)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (cos.f64 im))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (cos.f64 im))
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 (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (+.f64 1 (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(+.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 (fma.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 1 (fma.f64 -1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6))))))
(*.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 -1/2 (*.f64 (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 -1/2 (*.f64 (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))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 re (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (fma.f64 -1/2 (pow.f64 im 2) re) (+.f64 1 (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (+.f64 re 1) (fma.f64 -1/2 (pow.f64 im 2) (fma.f64 -1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 re (+.f64 (fma.f64 -1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))) 1))
(+.f64 re (+.f64 1 (fma.f64 -1/2 (pow.f64 im 2) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6))))))
(+.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))
(cos.f64 im)
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
re
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
re
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(+.f64 0 (*.f64 (cos.f64 im) re))
(*.f64 re (cos.f64 im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im))) (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (cos.f64 im)))))
(*.f64 re (cos.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 im) re))) 1)
(*.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 re) (cos.f64 im)))
(*.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)))
(*.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))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(*.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 0 (*.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))
(+.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 (fma.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 (fma.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 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.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))
(-.f64 (exp.f64 (log1p.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))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 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)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 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)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (-.f64 (fma.f64 re re 1) re)) (/.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 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 (pow.f64 im 6) -1/8 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (/.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (fma.f64 (pow.f64 im 6) -1/8 1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (-.f64 (fma.f64 re re 1) re))))
(/.f64 (*.f64 (fma.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 (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 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1))) (fma.f64 re re -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 re re -1) (+.f64 re -1))) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 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)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 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)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (-.f64 (fma.f64 re re 1) re)) (/.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (-.f64 (fma.f64 re re 1) re))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (*.f64 (+.f64 re -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 (pow.f64 (pow.f64 im 2) 3) -1/8 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 (pow.f64 im 6) -1/8 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (/.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (fma.f64 (pow.f64 im 6) -1/8 1))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -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 (fma.f64 (pow.f64 im 4) 1/4 -1) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (pow.f64 im 2) -1))) (fma.f64 re re -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 (fma.f64 re re -1) (+.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)) (fma.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)) (fma.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 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 (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 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)) (-.f64 (*.f64 (fma.f64 re re 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 (fma.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (neg.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2))) (fma.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1) (neg.f64 (fma.f64 -1/2 (pow.f64 im 2) 1))))
(/.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (pow.f64 re 2)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re -1)))
(/.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 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) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (+.f64 re 1) (/.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 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 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (fma.f64 (pow.f64 im 6) -1/8 1))
(/.f64 (*.f64 (+.f64 re 1) (fma.f64 (pow.f64 im 4) 1/4 -1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (+.f64 re 1) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (fma.f64 (pow.f64 im 4) 1/4 -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 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (+.f64 re 1)) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (+.f64 re 1) (/.f64 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 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 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))) (fma.f64 (pow.f64 im 6) -1/8 1))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (+.f64 re 1)) (fma.f64 -1/2 (pow.f64 im 2) -1))
(/.f64 (+.f64 re 1) (/.f64 (fma.f64 -1/2 (pow.f64 im 2) -1) (fma.f64 (pow.f64 im 4) 1/4 -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 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 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))
(log.f64 (*.f64 (exp.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (exp.f64 (*.f64 re (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 (+.f64 1 (expm1.f64 (fma.f64 -1/2 (pow.f64 im 2) 1))) (exp.f64 (*.f64 re (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 (exp.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (+.f64 1 (expm1.f64 (fma.f64 -1/2 (pow.f64 im 2) 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))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)) 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 -1/2 (pow.f64 im 2))) (log1p.f64 re)))
(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))
(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 (*.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))
(fma.f64 1 (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))
(fma.f64 1 (+.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))
(fma.f64 1 (+.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))
(fma.f64 1 (*.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))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 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))
(fma.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))
(fma.f64 (+.f64 re 1) 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))
(fma.f64 (+.f64 re 1) 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))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.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))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.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))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (cbrt.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))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 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))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2) (*.f64 (cbrt.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))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.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 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1))))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1))))
(fma.f64 (hypot.f64 1 (sqrt.f64 re)) (hypot.f64 1 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.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 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(fma.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) -1/8 1) (/.f64 1 (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 1/2 (pow.f64 im 2)))) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (+.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 (pow.f64 im 2) 1/2))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re 1))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re 1))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (/.f64 1 (fma.f64 -1/2 (pow.f64 im 2) -1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))
(+.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)))
(fma.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))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (cbrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)))) (cbrt.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))
(fma.f64 (sqrt.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (sqrt.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))
(fma.f64 (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (*.f64 (sqrt.f64 re) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 re)) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (pow.f64 im 2) 1)) 2)) (cbrt.f64 (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 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (sqrt.f64 re)) (sqrt.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 (exp.f64 (log1p.f64 (+.f64 (cos.f64 im) re))) 1)
(+.f64 re (cos.f64 im))
(-.f64 (/.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (cos.f64 im) re)) (/.f64 (pow.f64 re 2) (-.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(*.f64 1 (+.f64 (cos.f64 im) re))
(+.f64 re (cos.f64 im))
(*.f64 (+.f64 (cos.f64 im) re) 1)
(+.f64 re (cos.f64 im))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 im) re)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 im) re)) 2))
(+.f64 re (cos.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 im) re)) 2) (cbrt.f64 (+.f64 (cos.f64 im) re)))
(+.f64 re (cos.f64 im))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 im) re)) (sqrt.f64 (+.f64 (cos.f64 im) re)))
(+.f64 re (cos.f64 im))
(*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(*.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (/.f64 1 (-.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(/.f64 1 (/.f64 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)) (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3))))
(*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 1 (/.f64 (-.f64 (cos.f64 im) re) (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re re (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) re))))
(*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2))) (neg.f64 (-.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(/.f64 (-.f64 (pow.f64 re 2) (pow.f64 (cos.f64 im) 2)) (-.f64 re (cos.f64 im)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2)) (-.f64 (cos.f64 im) re))
(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 (exp.f64 (+.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))
(log.f64 (*.f64 (exp.f64 (cos.f64 im)) (+.f64 1 (expm1.f64 re))))
(+.f64 re (cos.f64 im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 im))) (exp.f64 re)))
(+.f64 re (cos.f64 im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 im))) (+.f64 1 (expm1.f64 re))))
(+.f64 re (cos.f64 im))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (cos.f64 im)))))
(+.f64 re (cos.f64 im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (cos.f64 im))))
(+.f64 re (cos.f64 im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (cos.f64 im)))))
(+.f64 re (cos.f64 im))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 im) re) 3))
(+.f64 re (cos.f64 im))
(expm1.f64 (log1p.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))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 im) re)))
(+.f64 re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 re)
(+.f64 re (cos.f64 im))
(fma.f64 re 1 (cos.f64 im))
(+.f64 re (cos.f64 im))
(fma.f64 1 (cos.f64 im) re)
(+.f64 re (cos.f64 im))
(fma.f64 1 re (cos.f64 im))
(+.f64 re (cos.f64 im))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) re)
(+.f64 re (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) re)
(+.f64 re (cos.f64 im))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (cos.f64 im))
(+.f64 re (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (cos.f64 im))
(+.f64 re (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (cos.f64 im))
(+.f64 re (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) re)
(+.f64 re (cos.f64 im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (cos.f64 im))
(+.f64 re (cos.f64 im))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (cos.f64 im))
(+.f64 re (cos.f64 im))

eval95.0ms (2%)

Compiler

Compiled 3795 to 2748 computations (27.6% saved)

prune39.0ms (0.8%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New2263229
Fresh000
Picked134
Done055
Total22711238
Accuracy
100.0%
Counts
238 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
51.8%
(+.f64 (cos.f64 im) re)
6.7%
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
28.3%
(+.f64 re 1)
28.9%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
3.5%
re
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
51.8%
(+.f64 (cos.f64 im) re)
6.7%
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
28.3%
(+.f64 re 1)
28.9%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
3.5%
re
Compiler

Compiled 144 to 104 computations (27.8% saved)

localize69.0ms (1.5%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
86.6%
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
Compiler

Compiled 50 to 37 computations (26% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite71.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
746×unpow-prod-down
544×log-prod
532×cbrt-prod
422×log1p-expm1-u
422×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01225
111125
2123325
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
Outputs
(+.f64 0 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) -1) re))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))) 1)
(pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))) 3)
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 -1/2 re) 2)) 1/2)
(pow.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8) 1/3)
(pow.f64 (*.f64 im (pow.f64 (*.f64 -1/2 re) 1/2)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))) 2)) (cbrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))) (sqrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 -1/2 re) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 -1/2 re) 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))

simplify73.0ms (1.6%)

Algorithm
egg-herbie
Rules
1462×log-prod
904×unswap-sqr
816×fma-def
786×exp-sum
722×fma-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0821315
11921313
24671313
316081313
459101313
Stop Event
node limit
Counts
45 → 31
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 0 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) -1) re))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))) 1)
(pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))) 3)
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 -1/2 re) 2)) 1/2)
(pow.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8) 1/3)
(pow.f64 (*.f64 im (pow.f64 (*.f64 -1/2 re) 1/2)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))) 2)) (cbrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))) (sqrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 -1/2 re) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 -1/2 re) 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 0 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) -1) re))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (/.f64 1 (exp.f64 (pow.f64 im 2))) re))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (neg.f64 (pow.f64 im 2))) re))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))) 1)
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)) 1)
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))) 3)
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 -1/2 re) 2)) 1/2)
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8) 1/3)
(cbrt.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8))
(cbrt.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 6) -1/8)))
(cbrt.f64 (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 3) -1/8)))
(pow.f64 (*.f64 im (pow.f64 (*.f64 -1/2 re) 1/2)) 2)
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (E.f64) (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))) 2)) (cbrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (*.f64 -1/2 (pow.f64 im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 re (*.f64 -1/2 (pow.f64 im 2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (*.f64 -1/2 re)))) 2)) (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (*.f64 -1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))) (sqrt.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (*.f64 -1/2 (pow.f64 im 2)))))) (sqrt.f64 (log.f64 (*.f64 re (*.f64 -1/2 (pow.f64 im 2))))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (*.f64 -1/2 re))))) (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (*.f64 -1/2 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 -1/2 re) 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8))
(cbrt.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 6) -1/8)))
(cbrt.f64 (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 3) -1/8)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))) 3))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8)) 1/3))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 im 6) (pow.f64 re 3)) -1/8))
(cbrt.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 6) -1/8)))
(cbrt.f64 (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 3) -1/8)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 -1/2 re) 1/2))) 2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))

eval72.0ms (1.5%)

Compiler

Compiled 479 to 363 computations (24.2% saved)

prune67.0ms (1.4%)

Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New31031
Fresh011
Picked022
Done088
Total311142
Accuracy
100.0%
Counts
42 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.6%
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
51.8%
(+.f64 (cos.f64 im) re)
6.7%
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
28.3%
(+.f64 re 1)
28.9%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
52.6%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
3.8%
(*.f64 (cos.f64 im) re)
71.3%
(exp.f64 re)
51.5%
(cos.f64 im)
3.5%
re
Compiler

Compiled 135 to 87 computations (35.6% saved)

regimes148.0ms (3.2%)

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

5 calls:

56.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
8.0ms
im
8.0ms
re
6.0ms
(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 84 to 50 computations (40.5% saved)

regimes355.0ms (7.6%)

Counts
10 → 3
Calls
Call 1
Inputs
re
(+.f64 re 1)
(cos.f64 im)
(exp.f64 re)
(*.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(*.f64 (+.f64 re 1) (cos.f64 im))
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
(*.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:

172.0ms
im
83.0ms
(exp.f64 re)
61.0ms
(cos.f64 im)
36.0ms
re
Results
AccuracySegmentsBranch
95.3%3re
82.1%8im
95.3%3(exp.f64 re)
81.1%2(cos.f64 im)
Compiler

Compiled 65 to 42 computations (35.4% saved)

regimes128.0ms (2.7%)

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

2 calls:

122.0ms
re
5.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
94.8%3re
94.8%3(exp.f64 re)
Compiler

Compiled 25 to 13 computations (48% saved)

regimes77.0ms (1.7%)

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

2 calls:

63.0ms
(exp.f64 re)
13.0ms
re
Results
AccuracySegmentsBranch
94.5%3re
94.5%3(exp.f64 re)
Compiler

Compiled 21 to 12 computations (42.9% saved)

regimes12.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
4.0ms
re
3.0ms
(cos.f64 im)
Results
AccuracySegmentsBranch
51.5%1im
51.5%1(cos.f64 im)
51.5%1re
Compiler

Compiled 18 to 12 computations (33.3% saved)

regimes7.0ms (0.2%)

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

2 calls:

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

Compiled 12 to 8 computations (33.3% saved)

regimes8.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

5.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
3.5%1im
3.5%1re
Compiler

Compiled 9 to 6 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000000002000309
+inf
0.0ms
0.0
0.9999999999996664
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000000002000309
+inf
0.0ms
0.0
0.9999999999996664
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000000002000309
+inf
0.0ms
0.0
0.9999999999996664
Compiler

Compiled 12 to 9 computations (25% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
028232
143232
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) 2) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 2) (+.f64 (cos.f64 im) re) (exp.f64 re)))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 2) (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) 2) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 0) (not (<=.f64 (exp.f64 re) 2))) (exp.f64 re) (*.f64 (cos.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 2) (+.f64 (cos.f64 im) re) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 0) (not (<=.f64 (exp.f64 re) 2))) (exp.f64 re) (+.f64 re (cos.f64 im)))
(if (<=.f64 (exp.f64 re) 0) (exp.f64 re) (if (<=.f64 (exp.f64 re) 2) (cos.f64 im) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 0) (not (<=.f64 (exp.f64 re) 2))) (exp.f64 re) (cos.f64 im))
(cos.f64 im)
(+.f64 re 1)
re
Compiler

Compiled 76 to 51 computations (32.9% saved)

soundness762.0ms (16.3%)

Rules
1648×fma-def
1648×fma-def
1548×prod-exp
832×associate-*r*
814×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12681233
27941176
337931165
462451165
02072607
15112451
214752400
360352372
02072607
15112451
214752400
360352372
Stop Event
node limit
node limit
node limit
Compiler

Compiled 33 to 19 computations (42.4% saved)

end0.0ms (0%)

preprocess76.0ms (1.6%)

Remove

(abs im)

Compiler

Compiled 212 to 124 computations (41.5% saved)

Profiling

Loading profile data...