math.exp on complex, real part

Time bar (total: 4.0s)

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

Results
745.0ms6240×body256valid
336.0ms2013×body256infinite
2.0msbody1024valid
Bogosity

preprocess126.0ms (3.2%)

Algorithm
egg-herbie
Rules
3324×fma-def
1148×associate-/l*
1074×times-frac
978×div-sub
710×associate-/r/
Problems
256×No Errors
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022163
145161
281155
3122155
4227155
5447155
61038155
72033155
86432155
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) (reciprocal.f64 (exp.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 21 to 11 computations (47.6% 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)

localize35.0ms (0.9%)

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
1.0ms
re
@inf
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@0
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
re
@0
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
re
@-inf
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@inf
(*.f64 (exp.f64 re) (cos.f64 im))

rewrite227.0ms (5.7%)

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

simplify96.0ms (2.4%)

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

eval13.0ms (0.3%)

Compiler

Compiled 679 to 349 computations (48.6% saved)

prune10.0ms (0.3%)

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)

localize63.0ms (1.6%)

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)

series10.0ms (0.3%)

Counts
2 → 28
Calls

12 calls:

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

rewrite87.0ms (2.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
114140
2167740
Stop Event
node limit
Counts
2 → 66
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))
(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))
(log1p.f64 (expm1.f64 (*.f64 re (cos.f64 im))))

simplify81.0ms (2%)

Algorithm
egg-herbie
Rules
1600×fma-def
812×distribute-lft-in
768×distribute-rgt-in
654×unswap-sqr
600×log-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01972515
14922367
214322316
359632288
Stop Event
node limit
Counts
94 → 107
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))
(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))
(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 (+.f64 re 1) (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(*.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/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))))
(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/24 (pow.f64 im 4) (*.f64 -1/2 (pow.f64 im 2))) 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 (+.f64 1 (pow.f64 re 3)) (-.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 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.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 (+.f64 1 (pow.f64 re 3)) (-.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 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.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)))
(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)
(log1p.f64 (expm1.f64 (*.f64 re (cos.f64 im))))
(*.f64 (cos.f64 im) re)

eval147.0ms (3.7%)

Compiler

Compiled 1311 to 695 computations (47% saved)

prune372.0ms (9.3%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1034107
Fresh000
Picked044
Done011
Total1039112
Accuracy
100.0%
Counts
112 → 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)

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

series13.0ms (0.3%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
re
@0
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
2.0ms
re
@inf
(*.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))
1.0ms
im
@0
(*.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))

rewrite139.0ms (3.5%)

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 → 156
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 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (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)) (reciprocal.f64 (-.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)) (reciprocal.f64 (-.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) (reciprocal.f64 (-.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) (reciprocal.f64 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (reciprocal.f64 (+.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) (reciprocal.f64 (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)) (reciprocal.f64 (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)) (reciprocal.f64 (-.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))
(reciprocal.f64 (/.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))))
(reciprocal.f64 (/.f64 (-.f64 (cos.f64 im) re) (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2))))
(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))

simplify215.0ms (5.4%)

Algorithm
egg-herbie
Rules
1164×unswap-sqr
724×associate-+r+
630×associate-+l+
556×associate-/l*
418×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04048184
110147994
231317830
Stop Event
node limit
Counts
228 → 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 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (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)) (reciprocal.f64 (-.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)) (reciprocal.f64 (-.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) (reciprocal.f64 (-.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) (reciprocal.f64 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (reciprocal.f64 (+.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) (reciprocal.f64 (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)) (reciprocal.f64 (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)) (reciprocal.f64 (-.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))
(reciprocal.f64 (/.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))))
(reciprocal.f64 (/.f64 (-.f64 (cos.f64 im) re) (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 re 2))))
(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 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.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 (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 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 re (+.f64 1 (fma.f64 -1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 re (+.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 (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 (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 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 -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 (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 -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 (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 (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 (+.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 -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 (+.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 (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 -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 (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 (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)) (+.f64 (*.f64 (pow.f64 re 2) (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) (*.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)) (fma.f64 (pow.f64 re 2) (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) (*.f64 re (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)))))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (-.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))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 3)))
(/.f64 (-.f64 (*.f64 (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1)) (*.f64 re (fma.f64 -1/2 (pow.f64 im 2) 1))) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (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 re 2) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (pow.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) 2)) (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 (/.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 (+.f64 re 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) -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) (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 (fma.f64 (pow.f64 im 4) 1/4 -1) (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 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 (+.f64 re 1) (-.f64 (fma.f64 (pow.f64 im 4) 1/4 1) (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) -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 (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 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 -1/2 (pow.f64 im 2) -1)) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (pow.f64 im 2) 1)) (-.f64 (fma.f64 re re 1) re))
(/.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 (+.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)) (reciprocal.f64 (-.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)) (reciprocal.f64 (-.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)) (reciprocal.f64 (-.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)) (reciprocal.f64 (-.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) (reciprocal.f64 (-.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) (reciprocal.f64 (+.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 im 6) -1/8 1) (reciprocal.f64 (-.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) (reciprocal.f64 (+.f64 re -1)) (*.f64 (+.f64 re 1) (*.f64 -1/2 (pow.f64 im 2))))
(fma.f64 (fma.f64 re re -1) (reciprocal.f64 (+.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) (reciprocal.f64 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 re 1)))
(fma.f64 (fma.f64 re re -1) (reciprocal.f64 (+.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) (reciprocal.f64 (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)) (reciprocal.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)) (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)) (reciprocal.f64 (-.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)) (reciprocal.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)) (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)) (reciprocal.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)) (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)) (reciprocal.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)) (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)) (reciprocal.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)) (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))
(reciprocal.f64 (/.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)) (reciprocal.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)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(reciprocal.f64 (/.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))
(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))

eval115.0ms (2.9%)

Compiler

Compiled 3789 to 2737 computations (27.8% saved)

prune40.0ms (1%)

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)

localize162.0ms (4.1%)

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)

series5.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)
1.0ms
im
@inf
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
1.0ms
re
@-inf
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)

rewrite68.0ms (1.7%)

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

simplify79.0ms (2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0821315
11921313
24681313
316071313
459161313
Stop Event
node limit
Counts
45 → 28
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 (reciprocal.f64 (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 (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 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 (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))))))
(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 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 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)))

eval12.0ms (0.3%)

Compiler

Compiled 421 to 321 computations (23.8% saved)

prune10.0ms (0.3%)

Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New28028
Fresh011
Picked022
Done088
Total281139
Accuracy
100.0%
Counts
39 → 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)

regimes78.0ms (1.9%)

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
im
7.0ms
re
6.0ms
(cos.f64 im)
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (exp.f64 re) (cos.f64 im))
100.0%1(exp.f64 re)
100.0%1(cos.f64 im)
Compiler

Compiled 84 to 50 computations (40.5% saved)

regimes85.0ms (2.1%)

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:

44.0ms
im
17.0ms
(cos.f64 im)
17.0ms
re
5.0ms
(exp.f64 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)

regimes21.0ms (0.5%)

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:

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

regimes19.0ms (0.5%)

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:

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

Compiled 21 to 12 computations (42.9% saved)

regimes16.0ms (0.4%)

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

3 calls:

8.0ms
(cos.f64 im)
4.0ms
re
3.0ms
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)

regimes7.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:

3.0ms
im
3.0ms
re
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)

soundness371.0ms (9.3%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12681233
27941176
337931165
462451165
01972515
14922367
214322316
359632288
01972515
14922367
214322316
359632288
Stop Event
node limit
node limit
node limit
Compiler

Compiled 33 to 19 computations (42.4% saved)

end0.0ms (0%)

preprocess55.0ms (1.4%)

Remove

(abs im)

Compiler

Compiled 212 to 124 computations (41.5% saved)

Profiling

Loading profile data...