math.cos on complex, real part

Time bar (total: 4.3s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample1.4s (33.2%)

Results
786.0ms4114×body256valid
639.0ms4140×body256infinite
1.0msbody1024valid
0.0msbody512valid
Bogosity

preprocess183.0ms (4.2%)

Algorithm
egg-herbie
Rules
1164×times-frac
864×div-sub
828×fma-def
812×fma-neg
784×distribute-neg-frac
Problems
256×No Errors
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2280308
3690298
41413294
54012294
66076294
77976294
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 49 to 24 computations (51% saved)

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

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

Compiled 26 to 20 computations (23.1% saved)

localize50.0ms (1.2%)

Localize:

Found 1 expressions with local error:

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

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite141.0ms (3.3%)

Algorithm
batch-egg-rewrite
Rules
200×associate-*r*
128×associate-*l*
90×add-exp-log
90×add-log-exp
90×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2329644
Stop Event
unsound
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))

simplify63.0ms (1.5%)

Algorithm
egg-herbie
Rules
1092×fma-neg
910×div-sub
880×cancel-sign-sub-inv
772×fma-def
652×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0961302
12861140
28751140
342501140
Stop Event
node limit
Counts
46 → 45
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (cos.f64 re) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cos.f64 re)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fabs.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(log.f64 (pow.f64 1 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(cos.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(cos.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(cos.f64 re)

eval12.0ms (0.3%)

Compiler

Compiled 655 to 351 computations (46.4% saved)

prune14.0ms (0.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New40545
Fresh000
Picked011
Done000
Total40646
Accuracy
100.0%
Counts
46 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.0%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
76.4%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.0%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
76.4%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
Compiler

Compiled 190 to 148 computations (22.1% saved)

localize121.0ms (2.8%)

Localize:

Found 3 expressions with local error:

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

Compiled 83 to 41 computations (50.6% saved)

series6.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite116.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
992×log-prod
868×log1p-expm1-u
868×expm1-log1p-u
474×pow-exp
470×prod-diff
Iterations

Useful iterations: 0 (0.0ms)

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

simplify93.0ms (2.2%)

Algorithm
egg-herbie
Rules
1268×distribute-lft-in
1230×distribute-rgt-in
1138×unswap-sqr
748×associate-+r+
646×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03115314
17165139
222934893
Stop Event
node limit
Counts
166 → 173
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (cos.f64 re)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (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) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 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) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 1)
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 1/2 (pow.f64 im 2) -1)) (/.f64 1 (fma.f64 1/2 (pow.f64 im 2) -1)))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (pow.f64 im 2) -1)))
(/.f64 1 (/.f64 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)))
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (neg.f64 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(/.f64 (neg.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (neg.f64 (fma.f64 1/2 (pow.f64 im 2) -1)))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (-.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) -1)
(pow.f64 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 1)
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) 1)
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) (log.f64 (exp.f64 1)))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 2) -2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(log.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 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 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1))))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4)))
(+.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6)))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/4 (fma.f64 17/180 (pow.f64 re 6) (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4))))
(+.f64 1/4 (fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6))))
(+.f64 (fma.f64 (pow.f64 re 2) 1/4 1/4) (fma.f64 (pow.f64 re 6) 17/180 (*.f64 (pow.f64 re 4) 1/6)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2)))) (cos.f64 re))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1))) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1)) (cos.f64 re))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (cos.f64 re)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2)))) (cos.f64 re))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1))) (cos.f64 re))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (cos.f64 re) (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1)) (cos.f64 re))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (cos.f64 re) (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) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1/3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(-.f64 (/.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 1/2 (pow.f64 im 2) -1)) (/.f64 1 (fma.f64 1/2 (pow.f64 im 2) -1)))
(+.f64 (*.f64 (/.f64 1/4 (fma.f64 1/2 (pow.f64 im 2) -1)) (pow.f64 im 4)) (/.f64 -1 (fma.f64 1/2 (pow.f64 im 2) -1)))
(fma.f64 (/.f64 1/4 (fma.f64 1/2 (pow.f64 im 2) -1)) (pow.f64 im 4) (/.f64 -1 (fma.f64 1/2 (pow.f64 im 2) -1)))
(*.f64 1 (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) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (log.f64 (exp.f64 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1)))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 1/2 (pow.f64 im 2) -1)))
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 1 (/.f64 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (neg.f64 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (neg.f64 (fma.f64 1/4 (pow.f64 im 4) -1)) (neg.f64 (fma.f64 1/2 (pow.f64 im 2) -1)))
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (-.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 3)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) 1/3)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) (-.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) -1)
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 1 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (pow.f64 im 2) -1/2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (pow.f64 im 2) -1/2 1)))
(pow.f64 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)) -1)
(/.f64 1 (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(fma.f64 1/2 (pow.f64 im 2) 1)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (pow.f64 im 2) 1)
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1/3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) 1)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) 1)
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) 1)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) 1)
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) (log.f64 (exp.f64 1)))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (cos.f64 re) -2))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4)))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 2) -2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) -2)) -4)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(log.f64 (exp.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 3))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)) 1))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)) 1) 1))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 3))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1/3))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -4))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))

eval66.0ms (1.5%)

Compiler

Compiled 2591 to 1951 computations (24.7% saved)

prune31.0ms (0.7%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1694173
Fresh000
Picked235
Done011
Total1718179
Accuracy
100.0%
Counts
179 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
44.8%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
12.6%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
27.2%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.0%
1/4
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
44.8%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
12.6%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
27.2%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.0%
1/4
Compiler

Compiled 130 to 104 computations (20% saved)

localize192.0ms (4.4%)

Localize:

Found 2 expressions with local error:

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

Compiled 62 to 46 computations (25.8% saved)

series3.0ms (0.1%)

Counts
2 → 27
Calls

9 calls:

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

rewrite93.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1094×unpow-prod-down
766×log-prod
697×log1p-expm1-u
696×expm1-log1p-u
534×prod-diff
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01651
116747
2195547
Stop Event
node limit
Counts
2 → 81
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (cos.f64 re)) 2)) 1/2)
(pow.f64 (*.f64 1/8 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) 1/3)
(pow.f64 (*.f64 im (pow.f64 (*.f64 1/2 (cos.f64 re)) 1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 1/2 (cos.f64 re)) 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 1)
(-.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (pow.f64 (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))) 1))
(*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (pow.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 3) (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3/2) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2) 1/3) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 1/3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 5/2) 1/3) (pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2))
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2) (pow.f64 (sqrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(/.f64 1 (/.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) 1/8 1)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 6) 1/8 1)) (neg.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (neg.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) (neg.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (/.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) 1/8 1)) -1)
(pow.f64 (/.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 1)
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) 1)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) 1)

simplify137.0ms (3.2%)

Algorithm
egg-herbie
Rules
696×sqr-pow
586×*-commutative
556×fma-def
500×exp-prod
472×cube-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02383484
15623329
216203205
345163179
Stop Event
node limit
Counts
108 → 112
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
1
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (cos.f64 re)) 2)) 1/2)
(pow.f64 (*.f64 1/8 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) 1/3)
(pow.f64 (*.f64 im (pow.f64 (*.f64 1/2 (cos.f64 re)) 1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 1/2 (cos.f64 re)) 1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 1)
(-.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (pow.f64 (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))) 1))
(*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (pow.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 3) (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3/2) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2) 1/3) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 1/3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 5/2) 1/3) (pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2))
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2) (pow.f64 (sqrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(/.f64 1 (/.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) 1/8 1)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 6) 1/8 1)) (neg.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))))
(/.f64 (neg.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) (neg.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (/.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) 1/8 1)) -1)
(pow.f64 (/.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 1)
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) 1)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) 1)
Outputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 2) -1/4)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 2) 1/48))))
(fma.f64 (pow.f64 im 2) (*.f64 1/48 (pow.f64 re 4)) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 1/48 (pow.f64 re 4))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 2) 1/48)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
1
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (cos.f64 re)) 2)) 1/2)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 1/8 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))) 1/3)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 im (pow.f64 (*.f64 1/2 (cos.f64 re)) 1/2)) 2)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (cos.f64 re)) 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1/3))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 1/2 (cos.f64 re)) 1/2))) 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(-.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(*.f64 1 (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) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (log.f64 (exp.f64 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2) (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (pow.f64 (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))) 1))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (pow.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) 1))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 3) (pow.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3/2) 1/3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) 1/3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2) 1/3) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 8)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 5/2) 1/3) (pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 1/3))
(*.f64 (cbrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) (cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 5/2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2) (pow.f64 (sqrt.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(/.f64 1 (/.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) 1/8 1)))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 6) 1/8 1)) (neg.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2))))))
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (neg.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) (neg.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) 1/4 -1) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) 3)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) 1/2)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) 1/3)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(fma.f64 1/2 (pow.f64 im 2) 1)
(pow.f64 (/.f64 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 -1/2 (pow.f64 im 2)))) (fma.f64 (pow.f64 im 6) 1/8 1)) -1)
(*.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 (pow.f64 im 2) -1/2)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 (pow.f64 im 4) 1/4 (fma.f64 (pow.f64 im 2) -1/2 1)))
(pow.f64 (/.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) -1)
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (+.f64 1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) -1/2 1))
(/.f64 (fma.f64 -1/4 (pow.f64 im 4) 1) (fma.f64 (pow.f64 im 2) -1/2 1))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(fma.f64 1/2 (pow.f64 im 2) 1)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3))
(fma.f64 1/2 (pow.f64 im 2) 1)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (*.f64 1/3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 3))
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1/3))
(exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2))))
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) 1)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 im (*.f64 im 1/2) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (pow.f64 im 2) 1/2 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) 1)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)

eval53.0ms (1.2%)

Compiler

Compiled 1695 to 1409 computations (16.9% saved)

prune23.0ms (0.5%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New1084112
Fresh011
Picked033
Done044
Total10812120
Accuracy
100.0%
Counts
120 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
44.8%
(fma.f64 (*.f64 1/2 im) im 1)
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
44.8%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
12.6%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
27.3%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
27.2%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
20.8%
(*.f64 1/2 (pow.f64 im 2))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
27.0%
1
8.0%
1/4
44.8%
(fma.f64 (*.f64 1/2 im) im 1)
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
44.8%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
12.6%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
27.3%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
27.2%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
20.8%
(*.f64 1/2 (pow.f64 im 2))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
27.0%
1
8.0%
1/4
Compiler

Compiled 192 to 156 computations (18.8% saved)

localize145.0ms (3.3%)

Localize:

Found 1 expressions with local error:

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

Compiled 60 to 45 computations (25% saved)

series3.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite87.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
788×log-prod
739×log1p-expm1-u
739×expm1-log1p-u
618×pow-prod-down
586×prod-diff
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01537
117133
2215533
Stop Event
node limit
Counts
1 → 59
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Outputs
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (*.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 2) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 2) (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 2)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (exp.f64 (*.f64 (pow.f64 im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 im (*.f64 im 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 im (*.f64 im (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (pow.f64 (*.f64 re im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 1 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (*.f64 (cbrt.f64 im) (*.f64 re (sqrt.f64 -1/4))) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (*.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))) (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (sqrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (sqrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 1/2 im) im (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) im) im (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (*.f64 im re) 2) -1/4 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (pow.f64 im 2) 1/2))

simplify82.0ms (1.9%)

Algorithm
egg-herbie
Rules
908×associate-/l/
654×fma-def
644×cancel-sign-sub-inv
548×distribute-rgt-neg-in
522×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01823711
14362735
210882617
330732617
Stop Event
node limit
Counts
71 → 79
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (*.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 2) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 2) (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 2)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (exp.f64 (*.f64 (pow.f64 im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 im (*.f64 im 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 im (*.f64 im (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (pow.f64 (*.f64 re im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 1 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (*.f64 (cbrt.f64 im) (*.f64 re (sqrt.f64 -1/4))) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (*.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))) (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (sqrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (sqrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 1/2 im) im (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) im) im (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (pow.f64 (*.f64 im re) 2) -1/4 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (pow.f64 im 2) 1/2))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(*.f64 -1/4 (pow.f64 (*.f64 im re) 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
(*.f64 -1/4 (pow.f64 (*.f64 im re) 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 0 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (*.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 1))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 3) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (+.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 2) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 2) 3) 1/8) (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64))) (+.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 2) (-.f64 (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) 2) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)))))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 re 6) -1/64) (*.f64 (pow.f64 im 6) 1/8)) (+.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 2) (-.f64 (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) 2) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (pow.f64 (*.f64 im re) 2))))))
(/.f64 (*.f64 (pow.f64 im 6) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 2) 1/2) 2) (pow.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 2)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) (fma.f64 (pow.f64 re 6) -1/64 1/8)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (pow.f64 im 2) (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)))
(*.f64 (/.f64 (pow.f64 im 2) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)) (fma.f64 (pow.f64 re 6) -1/64 1/8))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 (fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) 1/4) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) 1/4)))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16))) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(*.f64 (pow.f64 im 2) (/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (pow.f64 im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (pow.f64 im 2) (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 (pow.f64 re 6) -1/64 1/8)))
(*.f64 (/.f64 (pow.f64 im 2) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4)) (fma.f64 (pow.f64 re 6) -1/64 1/8))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 (fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) 1/4) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (pow.f64 im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)))
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16))) (fma.f64 (pow.f64 re 2) 1/4 1/2))
(*.f64 (pow.f64 im 2) (/.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(pow.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4) 1/2)
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6) 1/3)
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 4))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (exp.f64 (*.f64 (pow.f64 im 2) 1/2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1) 1))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 6)) 1/3))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 im (*.f64 im 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 im (*.f64 im (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 im 2) 1/2 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (pow.f64 (*.f64 re im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (*.f64 (cbrt.f64 im) (*.f64 re (sqrt.f64 -1/4))) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))))))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) 1/2) 1 (*.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) 1))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2))) (cbrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))) (cbrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (sqrt.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 im (*.f64 re (sqrt.f64 -1/4))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 1/2 im) im (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) im) im (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (pow.f64 (cbrt.f64 im) 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) -1/4) (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 (*.f64 im re) 2) -1/4 (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (pow.f64 im 2) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))))))
(fma.f64 (*.f64 (pow.f64 im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (pow.f64 im 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))

eval33.0ms (0.8%)

Compiler

Compiled 1436 to 1127 computations (21.5% saved)

prune19.0ms (0.4%)

Pruning

12 alts after pruning (4 fresh and 8 done)

PrunedKeptTotal
New77279
Fresh022
Picked123
Done167
Total791291
Accuracy
100.0%
Counts
91 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
44.8%
(fma.f64 (*.f64 1/2 im) im 1)
11.2%
(+.f64 (cos.f64 re) (cos.f64 re))
44.8%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
12.6%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
20.8%
(*.f64 1/2 (pow.f64 im 2))
60.7%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
13.6%
(*.f64 -1/4 (pow.f64 (*.f64 im re) 2))
13.2%
(*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))
52.8%
(cos.f64 re)
27.0%
1
8.0%
1/4
Compiler

Compiled 199 to 148 computations (25.6% saved)

regimes44.0ms (1%)

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

6 calls:

9.0ms
im
8.0ms
re
8.0ms
(cos.f64 re)
7.0ms
(*.f64 1/2 (cos.f64 re))
5.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (cos.f64 re))
100.0%1(cos.f64 re)
100.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 143 to 101 computations (29.4% saved)

regimes64.0ms (1.5%)

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

3 calls:

26.0ms
im
16.0ms
re
12.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
87.9%2re
92.0%3im
88.3%2(cos.f64 re)
Compiler

Compiled 105 to 76 computations (27.6% saved)

regimes26.0ms (0.6%)

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

1 calls:

23.0ms
im
Results
AccuracySegmentsBranch
91.9%3im
Compiler

Compiled 77 to 55 computations (28.6% saved)

regimes51.0ms (1.2%)

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

3 calls:

21.0ms
(cos.f64 re)
14.0ms
im
14.0ms
re
Results
AccuracySegmentsBranch
77.3%2re
80.5%4(cos.f64 re)
86.1%2im
Compiler

Compiled 67 to 48 computations (28.4% saved)

regimes57.0ms (1.3%)

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

3 calls:

24.0ms
im
19.0ms
(cos.f64 re)
12.0ms
re
Results
AccuracySegmentsBranch
65.9%2re
68.2%4(cos.f64 re)
75.8%3im
Compiler

Compiled 59 to 42 computations (28.8% saved)

regimes10.0ms (0.2%)

Counts
5 → 2
Calls
Call 1
Inputs
1/4
1
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(fma.f64 (*.f64 1/2 im) im 1)
Outputs
(cos.f64 re)
(fma.f64 (*.f64 1/2 im) im 1)
Calls

1 calls:

8.0ms
im
Results
AccuracySegmentsBranch
70.2%2im
Compiler

Compiled 20 to 15 computations (25% saved)

regimes9.0ms (0.2%)

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

1 calls:

8.0ms
im
Results
AccuracySegmentsBranch
70.2%2im
Compiler

Compiled 14 to 11 computations (21.4% saved)

regimes11.0ms (0.2%)

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

3 calls:

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

Compiled 16 to 12 computations (25% saved)

regimes7.0ms (0.2%)

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

2 calls:

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

Compiled 10 to 8 computations (20% saved)

regimes6.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
1/4
Outputs
1/4
Calls

2 calls:

3.0ms
re
2.0ms
im
Results
AccuracySegmentsBranch
8.0%1im
8.0%1re
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch39.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
1.0272703399315136e+154
2.847851487218701e+155
21.0ms
1.3497389076126927
328.66033141930836
Results
19.0ms112×body256valid
16.0ms112×body256infinite
Compiler

Compiled 340 to 280 computations (17.6% saved)

bsearch39.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
1.0272703399315136e+154
2.847851487218701e+155
19.0ms
1.5812339144555881e-21
2.8792439509957287e-21
Results
19.0ms64×body256valid
18.0ms112×body256infinite
Compiler

Compiled 236 to 192 computations (18.6% saved)

bsearch11.0ms (0.2%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
1.5812339144555881e-21
2.8792439509957287e-21
Results
10.0ms64×body256valid
Compiler

Compiled 82 to 66 computations (19.5% saved)

bsearch31.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
2.847851487218701e+155
2.7493370367168953e+156
16.0ms
1.0628029004142374e+43
1.4661874116063738e+44
Results
28.0ms192×body256infinite
Compiler

Compiled 222 to 176 computations (20.7% saved)

bsearch24.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
1.5587657138186775e+63
9.958541589630465e+69
Results
22.0ms144×body256infinite
Compiler

Compiled 144 to 113 computations (21.5% saved)

bsearch23.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
1.5587657138186775e+63
9.958541589630465e+69
Results
21.0ms144×body256infinite
Compiler

Compiled 135 to 113 computations (16.3% saved)

simplify13.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
058471
177471
279471
380471
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 3152519739159347/2251799813685248) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))
(if (<=.f64 im 7443676776395529/2658455991569831745807614120560689152) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))
(if (<=.f64 im 7443676776395529/2658455991569831745807614120560689152) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 10800000000000000299074691030412860049063936) (cos.f64 re) (if (<=.f64 im 499999999999999991679590111595860857280186137508735268183503807230234208750506277265738938472969370875618694172181552533767253674082286866732755185163042816) (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (fma.f64 (*.f64 1/2 im) im 1)))
(if (<=.f64 im 4600000000000000010383829203636050520364696244855657575805983129600) (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(if (<=.f64 im 3600000000000000261113170973505246454170147874727479039865556559724544) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 3152519739159347/2251799813685248) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))
(if (<=.f64 im 3152519739159347/2251799813685248) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 7443676776395529/2658455991569831745807614120560689152) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))
(if (<=.f64 im 7443676776395529/2658455991569831745807614120560689152) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 7443676776395529/2658455991569831745807614120560689152) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 7443676776395529/2658455991569831745807614120560689152) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 10800000000000000299074691030412860049063936) (cos.f64 re) (if (<=.f64 im 499999999999999991679590111595860857280186137508735268183503807230234208750506277265738938472969370875618694172181552533767253674082286866732755185163042816) (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (fma.f64 (*.f64 1/2 im) im 1)))
(if (<=.f64 im 10800000000000000299074691030412860049063936) (cos.f64 re) (if (<=.f64 im 499999999999999991679590111595860857280186137508735268183503807230234208750506277265738938472969370875618694172181552533767253674082286866732755185163042816) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (fma.f64 (*.f64 1/2 im) im 1)))
(if (<=.f64 im 4600000000000000010383829203636050520364696244855657575805983129600) (cos.f64 re) (fma.f64 (*.f64 1/2 im) im 1))
(if (<=.f64 im 3600000000000000261113170973505246454170147874727479039865556559724544) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1
1/4
Compiler

Compiled 155 to 116 computations (25.2% saved)

soundness456.0ms (10.5%)

Rules
1094×unpow-prod-down
1092×fma-neg
910×div-sub
908×associate-/l/
880×cancel-sign-sub-inv
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2329644
0961302
12861140
28751140
342501140
01651
116747
2195547
02383484
15623329
216203205
345163179
01823711
14362735
210882617
330732617
Stop Event
node limit
node limit
node limit
node limit
unsound
Compiler

Compiled 154 to 114 computations (26% saved)

end0.0ms (0%)

preprocess199.0ms (4.6%)

Remove

(abs im)

(abs re)

Compiler

Compiled 560 to 378 computations (32.5% saved)

Profiling

Loading profile data...