math.exp on complex, real part

Time bar (total: 3.6s)

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)

sample957.0ms (26.9%)

Results
715.0ms6154×body256valid
231.0ms2100×body256infinite
0.0msbody1024valid
0.0msbody512valid
Bogosity

preprocess100.0ms (2.8%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
022163
145161
277155
3118155
4221155
5441155
61028155
72010155
86392155
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(neg.f64 (*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im)))
(neg.f64 (*.f64 (exp.f64 re) (cos.f64 (neg.f64 im))))
(*.f64 (exp.f64 im) (cos.f64 re))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (cos.f64 im) (exp.f64 (neg.f64 re)))
(/.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(*.f64 (exp.f64 re) (cos.f64 im))
(neg.f64 (*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im)))
(*.f64 (exp.f64 (neg.f64 re)) (neg.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 -1 (exp.f64 re)))
(neg.f64 (/.f64 (cos.f64 im) (exp.f64 re)))
(/.f64 (neg.f64 (cos.f64 im)) (exp.f64 re))
(/.f64 (cos.f64 im) (neg.f64 (exp.f64 re)))
(neg.f64 (*.f64 (exp.f64 re) (cos.f64 (neg.f64 im))))
(*.f64 (exp.f64 re) (neg.f64 (cos.f64 im)))
(*.f64 (cos.f64 im) (neg.f64 (exp.f64 re)))
(*.f64 (exp.f64 im) (cos.f64 re))
Symmetry

(abs im)

Compiler

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

localize29.0ms (0.8%)

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)

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

rewrite172.0ms (4.8%)

Algorithm
batch-egg-rewrite
Rules
592×unpow-prod-down
472×log-prod
456×cbrt-prod
400×log1p-expm1-u
400×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
110121
2109721
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))))

simplify62.0ms (1.8%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01011320
12651233
27891176
337861165
462361165
Stop Event
node limit
Counts
45 → 55
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 (fma.f64 1/2 (pow.f64 re 2) 1) re))
(*.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/6 (pow.f64 re 3) 1) (fma.f64 1/2 (pow.f64 re 2) re)))
(*.f64 (cos.f64 im) (+.f64 (fma.f64 1/2 (pow.f64 re 2) re) (fma.f64 1/6 (pow.f64 re 3) 1)))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 re)
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))))
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (pow.f64 im 2) 1))
(+.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (exp.f64 re)))))
(+.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)) (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4)))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/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/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6))) (fma.f64 -1/2 (pow.f64 im 2) 1)))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2) 1/2)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (E.f64) (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (cos.f64 im)))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(*.f64 (cos.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log.f64 (cos.f64 im)))) 3))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log.f64 (cos.f64 im)))) 1/3))
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log.f64 (cos.f64 im)))) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 re))

eval12.0ms (0.3%)

Compiler

Compiled 715 to 375 computations (47.6% saved)

prune51.0ms (1.4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New52355
Fresh000
Picked011
Done000
Total52456
Accuracy
100.0%
Counts
56 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
Compiler

Compiled 46 to 34 computations (26.1% saved)

localize38.0ms (1.1%)

Localize:

Found 1 expressions with local error:

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

Compiled 23 to 11 computations (52.2% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite56.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
714×unpow-prod-down
530×log-prod
521×log1p-expm1-u
521×expm1-log1p-u
436×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01223
111823
2142323
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(*.f64 (+.f64 re 1) (cos.f64 im))
Outputs
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 0 (*.f64 (+.f64 re 1) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 re (cos.f64 im)) (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 (+.f64 1 (*.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)
(pow.f64 (E.f64) (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))))
(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 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 (cos.f64 im) re))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(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 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))

simplify97.0ms (2.7%)

Algorithm
egg-herbie
Rules
1722×fma-neg
1066×associate-*r*
916×associate-*l*
864×fma-def
470×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01301932
13331856
29841787
351201748
478801748
Stop Event
node limit
Counts
65 → 72
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))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 0 (*.f64 (+.f64 re 1) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 re (cos.f64 im)) (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 (+.f64 1 (*.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)
(pow.f64 (E.f64) (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))))
(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 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 (cos.f64 im) re))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(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 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.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 (+.f64 re 1) (*.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 (+.f64 re 1) (fma.f64 -1/2 (*.f64 (+.f64 re 1) (pow.f64 im 2)) (*.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4)))))
(+.f64 re (+.f64 1 (*.f64 (+.f64 re 1) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (+.f64 re 1) (+.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 re 1) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (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 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)))))))
(+.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 (+.f64 re 1) (pow.f64 im 2)) (fma.f64 -1/720 (*.f64 (+.f64 re 1) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1)) (*.f64 (+.f64 re 1) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(fma.f64 (fma.f64 -1/2 (pow.f64 im 2) 1) (+.f64 re 1) (*.f64 (+.f64 re 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(*.f64 (+.f64 re 1) (+.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) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (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 (*.f64 (cos.f64 im) 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 (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 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1))))) (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 (+.f64 1 (*.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 (cos.f64 im) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 re 1) 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (cos.f64 im) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(/.f64 (fma.f64 re re -1) (/.f64 (+.f64 re -1) (cos.f64 im)))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 re 1) 1))
(pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) 1/2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (E.f64) (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))) 2)) (cbrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))) (sqrt.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im)))))
(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))))
(pow.f64 (E.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))
(pow.f64 (E.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))
(pow.f64 (E.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))
(pow.f64 (E.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 (cos.f64 im) re))
(*.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 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(*.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 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(*.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 (cos.f64 im) re))
(*.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 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(*.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))

eval17.0ms (0.5%)

Compiler

Compiled 855 to 489 computations (42.8% saved)

prune15.0ms (0.4%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New68472
Fresh000
Picked033
Done011
Total68876
Accuracy
100.0%
Counts
76 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.2%
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
32.7%
(+.f64 re 1)
34.3%
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.1%
(*.f64 (cos.f64 im) re)
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
55.2%
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
32.7%
(+.f64 re 1)
34.3%
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) 1) (+.f64 re 1))
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.1%
(*.f64 (cos.f64 im) re)
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
Compiler

Compiled 118 to 92 computations (22% saved)

localize134.0ms (3.8%)

Localize:

Found 5 expressions with local error:

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

Compiled 82 to 52 computations (36.6% saved)

series44.0ms (1.2%)

Counts
4 → 96
Calls

24 calls:

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

rewrite102.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
1878×prod-diff
749×log1p-expm1-u
452×log1p-udef
448×expm1-udef
212×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

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

simplify121.0ms (3.4%)

Algorithm
egg-herbie
Rules
1194×cancel-sign-sub-inv
588×fma-neg
566×fma-def
566×distribute-rgt-neg-in
554×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

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

eval224.0ms (6.3%)

Compiler

Compiled 5420 to 3893 computations (28.2% saved)

prune141.0ms (4%)

Pruning

11 alts after pruning (4 fresh and 7 done)

PrunedKeptTotal
New3144318
Fresh000
Picked134
Done044
Total31511326
Accuracy
100.0%
Counts
326 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
32.7%
(-.f64 (+.f64 re 2) 1)
55.2%
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
7.1%
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
32.7%
(+.f64 re 1)
33.2%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.1%
(*.f64 (cos.f64 im) re)
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
3.7%
re
32.7%
(-.f64 (+.f64 re 2) 1)
55.2%
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
7.1%
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
32.7%
(+.f64 re 1)
33.2%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.1%
(*.f64 (cos.f64 im) re)
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
3.7%
re
Compiler

Compiled 152 to 118 computations (22.4% saved)

localize143.0ms (4%)

Localize:

Found 2 expressions with local error:

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

Compiled 61 to 45 computations (26.2% saved)

series4.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite73.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
814×log-prod
808×log1p-expm1-u
807×expm1-log1p-u
620×pow-prod-down
460×fma-def
Iterations

Useful iterations: 0 (0.0ms)

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

simplify67.0ms (1.9%)

Algorithm
egg-herbie
Rules
1174×distribute-lft-in
1136×distribute-rgt-in
1070×fma-def
738×log-prod
702×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02062663
14602548
213462471
368282471
Stop Event
node limit
Counts
116 → 101
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))
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 0 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (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 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))) 3)
(pow.f64 (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 4) 1/4)) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 4) 1/4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))))
(+.f64 2 (+.f64 re -1))
(+.f64 re 1)
(+.f64 re (log.f64 (exp.f64 1)))
(+.f64 (+.f64 2 re) -1)
(+.f64 (+.f64 2 re) (log.f64 (exp.f64 -1)))
(+.f64 1 re)
(+.f64 0 (+.f64 re 1))
(+.f64 -1 (+.f64 2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 re 1))) (cbrt.f64 (exp.f64 (+.f64 re 1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 re 1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 re 1)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 re 1)))))
(*.f64 1 (+.f64 re 1))
(*.f64 (+.f64 re 1) 1)
(*.f64 (+.f64 re 1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)))
(*.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)))
(*.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) -1) (/.f64 1 (+.f64 re 3)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 2 re)) 1) (-.f64 (sqrt.f64 (+.f64 2 re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)) (+.f64 (pow.f64 (+.f64 2 re) 3) -1)))
(/.f64 1 (/.f64 (+.f64 re 3) (+.f64 (pow.f64 (+.f64 2 re) 2) -1)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1) (+.f64 (pow.f64 (+.f64 2 re) 2) (-.f64 1 (*.f64 (+.f64 2 re) -1))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) -1) (+.f64 re 3))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) -1)) (neg.f64 (+.f64 re 3)))
(/.f64 (+.f64 (pow.f64 re 3) 1) (fma.f64 re re (-.f64 1 re)))
(/.f64 (fma.f64 re re -1) (+.f64 re -1))
(pow.f64 (+.f64 re 1) 1)
(pow.f64 (cbrt.f64 (+.f64 re 1)) 3)
(pow.f64 (pow.f64 (+.f64 re 1) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 re 1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 re 1)) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)) (+.f64 (pow.f64 (+.f64 2 re) 3) -1)) -1)
(pow.f64 (/.f64 (+.f64 re 3) (+.f64 (pow.f64 (+.f64 2 re) 2) -1)) -1)
(sqrt.f64 (pow.f64 (+.f64 re 1) 2))
(log.f64 (exp.f64 (+.f64 re 1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 re 1))))
(cbrt.f64 (pow.f64 (+.f64 re 1) 3))
(expm1.f64 (log.f64 (+.f64 2 re)))
(exp.f64 (log1p.f64 re))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 re)) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 re)) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 re)) 2))
(log1p.f64 (expm1.f64 (+.f64 re 1)))
(fma.f64 re 1 1)
(fma.f64 (+.f64 2 re) 1 -1)
(fma.f64 1 re 1)
(fma.f64 1 (+.f64 2 re) -1)
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) 1)
(fma.f64 (cbrt.f64 (pow.f64 re 2)) (cbrt.f64 re) 1)
(fma.f64 (cbrt.f64 (+.f64 2 re)) (pow.f64 (cbrt.f64 (+.f64 2 re)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 2 re)) 2) (cbrt.f64 (+.f64 2 re)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 2 re)) 2) (*.f64 (cbrt.f64 (+.f64 2 re)) 1) -1)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) 1)
(fma.f64 (sqrt.f64 (+.f64 2 re)) (sqrt.f64 (+.f64 2 re)) -1)
(fma.f64 (sqrt.f64 (+.f64 2 re)) (*.f64 (sqrt.f64 (+.f64 2 re)) 1) -1)
(fma.f64 (+.f64 (pow.f64 re 3) 8) (/.f64 1 (-.f64 (fma.f64 re re 4) (*.f64 2 re))) -1)
(fma.f64 (fma.f64 re re -4) (/.f64 1 (+.f64 re -2)) -1)
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
1
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
re
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
re
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 0 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))))
(*.f64 3 (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/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))) 1)
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) 1)
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))) 3)
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 4) 1/4)) 1/2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 re 2)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) 3) 1/3)
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -1/2))) 2)
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(sqrt.f64 (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 4) 1/4)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/4) (pow.f64 re 2)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 re 2))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (pow.f64 im 2)) re))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)) 3))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))) 1))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))) 1) 1))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))) 3))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re)))) 1/3))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -1/2)))) 2))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 re))))
(*.f64 (*.f64 -1/2 (pow.f64 im 2)) re)
(*.f64 re (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 2 (+.f64 re -1))
(+.f64 re 1)
(+.f64 re 1)
(+.f64 re (log.f64 (exp.f64 1)))
(+.f64 re 1)
(+.f64 (+.f64 2 re) -1)
(+.f64 re 1)
(+.f64 (+.f64 2 re) (log.f64 (exp.f64 -1)))
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 0 (+.f64 re 1))
(+.f64 re 1)
(+.f64 -1 (+.f64 2 re))
(+.f64 re 1)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 re 1))) (cbrt.f64 (exp.f64 (+.f64 re 1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 re 1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (+.f64 re 1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 re 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (+.f64 re 1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 re 1)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 re 1)))))
(+.f64 re 1)
(*.f64 1 (+.f64 re 1))
(+.f64 re 1)
(*.f64 (+.f64 re 1) 1)
(+.f64 re 1)
(*.f64 (+.f64 re 1) (log.f64 (exp.f64 1)))
(+.f64 re 1)
(*.f64 (cbrt.f64 (+.f64 re 1)) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2))
(+.f64 re 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (cbrt.f64 (+.f64 re 1)))
(+.f64 re 1)
(*.f64 (sqrt.f64 (+.f64 re 1)) (sqrt.f64 (+.f64 re 1)))
(+.f64 re 1)
(*.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 1 (*.f64 (+.f64 2 re) (+.f64 re 3))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) -1) (/.f64 1 (+.f64 re 3)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (/.f64 1 (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (+.f64 re 3))
(*.f64 (+.f64 (sqrt.f64 (+.f64 2 re)) 1) (-.f64 (sqrt.f64 (+.f64 2 re)) 1))
(+.f64 re 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)) (+.f64 (pow.f64 (+.f64 2 re) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 1 (*.f64 (+.f64 2 re) (+.f64 re 3))))
(/.f64 1 (/.f64 (+.f64 re 3) (+.f64 (pow.f64 (+.f64 2 re) 2) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (/.f64 1 (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (+.f64 re 3))
(/.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 1 (*.f64 (+.f64 2 re) (+.f64 re 3))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1) (+.f64 (pow.f64 (+.f64 2 re) 2) (-.f64 1 (*.f64 (+.f64 2 re) -1))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 1 (*.f64 (+.f64 2 re) (+.f64 re 3))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) -1) (+.f64 re 3))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (/.f64 1 (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (+.f64 re 3))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 1 (*.f64 (+.f64 2 re) (+.f64 re 3))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) -1)) (neg.f64 (+.f64 re 3)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (/.f64 1 (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (+.f64 re 3))
(/.f64 (+.f64 (pow.f64 re 3) 1) (fma.f64 re re (-.f64 1 re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 re re -1) (+.f64 re -1))
(pow.f64 (+.f64 re 1) 1)
(+.f64 re 1)
(pow.f64 (cbrt.f64 (+.f64 re 1)) 3)
(+.f64 re 1)
(pow.f64 (pow.f64 (+.f64 re 1) 2) 1/2)
(+.f64 re 1)
(pow.f64 (pow.f64 (+.f64 re 1) 3) 1/3)
(+.f64 re 1)
(pow.f64 (sqrt.f64 (+.f64 re 1)) 2)
(+.f64 re 1)
(pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)) (+.f64 (pow.f64 (+.f64 2 re) 3) -1)) -1)
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 (pow.f64 (+.f64 2 re) 2) (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 3)) (+.f64 1 (*.f64 (+.f64 2 re) (+.f64 re 3))))
(pow.f64 (/.f64 (+.f64 re 3) (+.f64 (pow.f64 (+.f64 2 re) 2) -1)) -1)
(*.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (/.f64 1 (+.f64 re 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 re) 2)) (+.f64 re 3))
(sqrt.f64 (pow.f64 (+.f64 re 1) 2))
(+.f64 re 1)
(log.f64 (exp.f64 (+.f64 re 1)))
(+.f64 re 1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 re 1))))
(+.f64 re 1)
(cbrt.f64 (pow.f64 (+.f64 re 1) 3))
(+.f64 re 1)
(expm1.f64 (log.f64 (+.f64 2 re)))
(exp.f64 (log1p.f64 re))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 re)) 3))
(exp.f64 (log1p.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 re)) 1/3))
(exp.f64 (log1p.f64 re))
(exp.f64 (*.f64 (*.f64 1/2 (log1p.f64 re)) 2))
(exp.f64 (log1p.f64 re))
(log1p.f64 (expm1.f64 (+.f64 re 1)))
(+.f64 re 1)
(fma.f64 re 1 1)
(+.f64 re 1)
(fma.f64 (+.f64 2 re) 1 -1)
(+.f64 re 1)
(fma.f64 1 re 1)
(+.f64 re 1)
(fma.f64 1 (+.f64 2 re) -1)
(+.f64 re 1)
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) 1)
(fma.f64 (cbrt.f64 (pow.f64 re 2)) (cbrt.f64 re) 1)
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) 1)
(fma.f64 (cbrt.f64 (+.f64 2 re)) (pow.f64 (cbrt.f64 (+.f64 2 re)) 2) -1)
(+.f64 re 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 2 re)) 2) (cbrt.f64 (+.f64 2 re)) -1)
(+.f64 re 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 2 re)) 2) (*.f64 (cbrt.f64 (+.f64 2 re)) 1) -1)
(+.f64 re 1)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) 1)
(+.f64 re 1)
(fma.f64 (sqrt.f64 (+.f64 2 re)) (sqrt.f64 (+.f64 2 re)) -1)
(+.f64 re 1)
(fma.f64 (sqrt.f64 (+.f64 2 re)) (*.f64 (sqrt.f64 (+.f64 2 re)) 1) -1)
(+.f64 re 1)
(fma.f64 (+.f64 (pow.f64 re 3) 8) (/.f64 1 (-.f64 (fma.f64 re re 4) (*.f64 2 re))) -1)
(fma.f64 (+.f64 (pow.f64 re 3) 8) (/.f64 1 (+.f64 (fma.f64 re re 4) (*.f64 re -2))) -1)
(+.f64 -1 (/.f64 (+.f64 (pow.f64 re 3) 8) (fma.f64 re -2 (fma.f64 re re 4))))
(fma.f64 (fma.f64 re re -4) (/.f64 1 (+.f64 re -2)) -1)
(+.f64 -1 (/.f64 (fma.f64 re re -4) (+.f64 re -2)))

eval26.0ms (0.7%)

Compiler

Compiled 1098 to 862 computations (21.5% saved)

prune22.0ms (0.6%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New1001101
Fresh011
Picked033
Done077
Total10012112
Accuracy
100.0%
Counts
112 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
32.7%
(-.f64 (+.f64 re 2) 1)
55.2%
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
7.1%
(+.f64 re (*.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
32.7%
(+.f64 re 1)
33.2%
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
55.5%
(*.f64 (+.f64 re 1) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
4.1%
(*.f64 (cos.f64 im) re)
71.9%
(exp.f64 re)
54.6%
(cos.f64 im)
3.7%
re
32.2%
1
Compiler

Compiled 147 to 106 computations (27.9% saved)

regimes33.0ms (0.9%)

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

5 calls:

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

Compiled 89 to 59 computations (33.7% saved)

regimes161.0ms (4.5%)

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

4 calls:

73.0ms
(exp.f64 re)
48.0ms
im
20.0ms
re
17.0ms
(cos.f64 im)
Results
AccuracySegmentsBranch
94.5%3re
83.4%6im
94.5%3(exp.f64 re)
80.8%2(cos.f64 im)
Compiler

Compiled 77 to 53 computations (31.2% saved)

regimes112.0ms (3.1%)

Counts
7 → 3
Calls
Call 1
Inputs
1
re
(+.f64 re 1)
(-.f64 (+.f64 re 2) 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:

105.0ms
re
5.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
93.9%3re
93.9%3(exp.f64 re)
Compiler

Compiled 27 to 17 computations (37% saved)

regimes18.0ms (0.5%)

Counts
5 → 1
Calls
Call 1
Inputs
1
re
(+.f64 re 1)
(-.f64 (+.f64 re 2) 1)
(cos.f64 im)
Outputs
(cos.f64 im)
Calls

3 calls:

8.0ms
(cos.f64 im)
4.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
54.6%1im
54.6%1(cos.f64 im)
54.6%1re
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes9.0ms (0.2%)

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

2 calls:

4.0ms
im
4.0ms
re
Results
AccuracySegmentsBranch
32.7%1im
32.7%1re
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes12.0ms (0.3%)

Accuracy

Total -18.7b remaining (-43.2%)

Threshold costs -18.7b (-43.2%)

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

2 calls:

9.0ms
im
3.0ms
re
Results
AccuracySegmentsBranch
32.2%1re
32.2%1im
Compiler

Compiled 10 to 7 computations (30% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000223829935
1.0138306490515687
0.0ms
0.002760518536542527
0.9999981206470377
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000223829935
1.0138306490515687
0.0ms
0.9999999998569339
0.999999999999999
Compiler

Compiled 12 to 9 computations (25% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
027165
139165
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 5764607523034235/1152921504606846976) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4548635623644201/4503599627370496) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (<=.f64 (exp.f64 re) 562949953365017/562949953421312) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4548635623644201/4503599627370496) (cos.f64 im) (exp.f64 re)))
(cos.f64 im)
(+.f64 re 1)
1
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 5764607523034235/1152921504606846976) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4548635623644201/4503599627370496) (*.f64 (+.f64 re 1) (cos.f64 im)) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 5764607523034235/1152921504606846976) (not (<=.f64 (exp.f64 re) 4548635623644201/4503599627370496))) (exp.f64 re) (*.f64 (cos.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 562949953365017/562949953421312) (exp.f64 re) (if (<=.f64 (exp.f64 re) 4548635623644201/4503599627370496) (cos.f64 im) (exp.f64 re)))
(if (or (<=.f64 (exp.f64 re) 562949953365017/562949953421312) (not (<=.f64 (exp.f64 re) 4548635623644201/4503599627370496))) (exp.f64 re) (cos.f64 im))
(cos.f64 im)
(+.f64 re 1)
1
Compiler

Compiled 57 to 40 computations (29.8% saved)

soundness452.0ms (12.7%)

Rules
1722×fma-neg
1548×prod-exp
1194×cancel-sign-sub-inv
1066×associate-*r*
916×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01011320
12651233
27891176
337861165
462361165
01223
111823
2142323
03989491
110889156
240409091
01301932
13331856
29841787
351201748
478801748
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 83 to 58 computations (30.1% saved)

end0.0ms (0%)

preprocess48.0ms (1.4%)

Remove

(abs im)

Compiler

Compiled 178 to 110 computations (38.2% saved)

Profiling

Loading profile data...