math.cos on complex, real part

Time bar (total: 4.7s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample1.8s (38.9%)

Results
958.0ms4138×body256infinite
785.0ms4116×body256valid
1.0msbody1024valid
Bogosity

preprocess304.0ms (6.5%)

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)

localize106.0ms (2.3%)

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)

series6.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite149.0ms (3.2%)

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

simplify65.0ms (1.4%)

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)

eval11.0ms (0.2%)

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.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
78.3%
(*.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)))
67.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
78.3%
(*.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)))
67.5%
(*.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)

localize114.0ms (2.4%)

Localize:

Found 2 expressions with local error:

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

Compiled 83 to 41 computations (50.6% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

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

rewrite101.0ms (2.2%)

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
01951
121751
2249251
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(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 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)))

simplify97.0ms (2.1%)

Algorithm
egg-herbie
Rules
1366×fma-def
824×distribute-lft-in
786×distribute-rgt-in
754×log-prod
562×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02233518
15263415
215573250
364323250
Stop Event
node limit
Counts
107 → 117
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/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 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 (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 (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 (*.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) -1/2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (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 (*.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))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) (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 (*.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 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (*.f64 1/24 (fma.f64 1/2 (pow.f64 im 2) 1)) (pow.f64 re 4))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (fma.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/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)))
(fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 1/4))
(+.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 (fma.f64 (pow.f64 re 6) 17/180 (*.f64 (pow.f64 re 4) 1/6)) (fma.f64 (pow.f64 re 2) 1/4 1/4))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 1/4)))
(/.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 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (cos.f64 re)))
(/.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 (pow.f64 im 2) -1/2))))
(*.f64 (cos.f64 re) (/.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 (*.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 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1)) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (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 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))) (cos.f64 re)))
(/.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 (pow.f64 im 2) -1/2))))
(*.f64 (cos.f64 re) (/.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 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.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 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1)) (cos.f64 re))
(*.f64 (cos.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (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)
(*.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 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 (exp.f64 (/.f64 1/4 (pow.f64 (cos.f64 re) 2))))))
(+.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 1/4 (pow.f64 (cos.f64 re) 2))
(-.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 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 (/.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 (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))
(/.f64 1/4 (pow.f64 (cos.f64 re) 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))
(/.f64 1/4 (pow.f64 (cos.f64 re) 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))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))

eval44.0ms (0.9%)

Compiler

Compiled 1717 to 1287 computations (25% saved)

prune22.0ms (0.5%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1134117
Fresh000
Picked145
Done011
Total1149123
Accuracy
100.0%
Counts
123 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
50.5%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
11.5%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
78.3%
(*.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)))
29.0%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
67.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.6%
1/4
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
50.5%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
11.5%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
78.3%
(*.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)))
29.0%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
67.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.6%
1/4
Compiler

Compiled 154 to 124 computations (19.5% saved)

localize209.0ms (4.5%)

Localize:

Found 1 expressions with local error:

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

Compiled 62 to 46 computations (25.8% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite75.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
866×unpow-prod-down
634×log-prod
506×log1p-expm1-u
506×expm1-log1p-u
475×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01429
113029
2145229
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(-.f64 (+.f64 1 (*.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 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6))
(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 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))

simplify77.0ms (1.6%)

Algorithm
egg-herbie
Rules
1886×fma-def
776×log-prod
730×*-commutative
570×distribute-rgt-out
500×exp-sum
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0901651
12131607
25331547
318501505
455981505
Stop Event
node limit
Counts
45 → 45
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 (*.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)))
(*.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 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(-.f64 (+.f64 1 (*.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 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6))
(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 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
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)))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 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 (*.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 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(fma.f64 (pow.f64 im 2) (*.f64 -1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 1/48 (pow.f64 re 4) 1/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)))))
(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 im 2) (*.f64 (pow.f64 re 4) 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 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (fma.f64 -1/1440 (pow.f64 re 6) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4) 1/2)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6) 1/3)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 2)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (E.f64) (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 4))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 im 2)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.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)))))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2))) 6)) 1/3))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 (cos.f64 re) 1/2)))) 2))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))

eval70.0ms (1.5%)

Compiler

Compiled 717 to 526 computations (26.6% saved)

prune23.0ms (0.5%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New43245
Fresh011
Picked033
Done055
Total431154
Accuracy
100.0%
Counts
54 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
50.5%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
11.5%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
26.5%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
78.3%
(*.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)))
29.0%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
21.8%
(*.f64 1/2 (pow.f64 im 2))
67.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.6%
1/4
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
50.5%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
11.5%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
26.5%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
78.3%
(*.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)))
29.0%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
21.8%
(*.f64 1/2 (pow.f64 im 2))
67.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
52.8%
(cos.f64 re)
8.6%
1/4
Compiler

Compiled 194 to 158 computations (18.6% saved)

localize65.0ms (1.4%)

Localize:

Found 1 expressions with local error:

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

Compiled 48 to 37 computations (22.9% 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 (1.9%)

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

simplify85.0ms (1.8%)

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

Compiler

Compiled 1436 to 1127 computations (21.5% saved)

prune19.0ms (0.4%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New78179
Fresh011
Picked112
Done178
Total801090
Accuracy
100.0%
Counts
90 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.4%
(+.f64 (cos.f64 re) (cos.f64 re))
50.5%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
11.5%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
78.3%
(*.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)))
21.8%
(*.f64 1/2 (pow.f64 im 2))
67.5%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
12.5%
(*.f64 -1/4 (pow.f64 (*.f64 im re) 2))
52.8%
(cos.f64 re)
8.6%
1/4
Compiler

Compiled 173 to 128 computations (26% saved)

regimes47.0ms (1%)

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

10.0ms
im
9.0ms
re
8.0ms
(cos.f64 re)
7.0ms
(*.f64 1/2 (cos.f64 re))
6.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 127 to 89 computations (29.9% saved)

regimes57.0ms (1.2%)

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

3 calls:

23.0ms
im
17.0ms
re
13.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
91.7%2re
94.7%3im
91.7%2(cos.f64 re)
Compiler

Compiled 89 to 64 computations (28.1% saved)

regimes59.0ms (1.3%)

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

30.0ms
(cos.f64 re)
14.0ms
im
13.0ms
re
Results
AccuracySegmentsBranch
79.3%2re
86.1%5(cos.f64 re)
88.1%2im
Compiler

Compiled 60 to 43 computations (28.3% saved)

regimes72.0ms (1.5%)

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

3 calls:

34.0ms
(cos.f64 re)
23.0ms
im
13.0ms
re
Results
AccuracySegmentsBranch
65.8%2re
72.2%7(cos.f64 re)
74.5%3im
Compiler

Compiled 52 to 37 computations (28.8% saved)

regimes19.0ms (0.4%)

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

1 calls:

18.0ms
im
Results
AccuracySegmentsBranch
74.5%3im
Compiler

Compiled 27 to 21 computations (22.2% saved)

regimes9.0ms (0.2%)

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

1 calls:

9.0ms
im
Results
AccuracySegmentsBranch
71.0%2im
Compiler

Compiled 13 to 10 computations (23.1% saved)

regimes13.0ms (0.3%)

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

3 calls:

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

Compiled 15 to 11 computations (26.7% saved)

regimes8.0ms (0.2%)

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:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch35.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
1.371020094870206e+152
1.1074998752899933e+156
16.0ms
1.7781093969402238e-12
1.1050761028673508e-11
Results
17.0ms128×body256infinite
15.0ms96×body256valid
Compiler

Compiled 290 to 236 computations (18.6% saved)

bsearch16.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
1.7781093969402238e-12
1.1050761028673508e-11
Results
15.0ms96×body256valid
Compiler

Compiled 114 to 92 computations (19.3% saved)

bsearch25.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
1.3107279810889477e+150
5.217246382586492e+150
12.0ms
4.258229546716612e+82
1.0499036739451465e+83
Results
22.0ms160×body256infinite
Compiler

Compiled 193 to 159 computations (17.6% saved)

bsearch26.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.3107279810889477e+150
5.217246382586492e+150
14.0ms
4.258229546716612e+82
1.0499036739451465e+83
Results
23.0ms160×body256infinite
Compiler

Compiled 183 to 149 computations (18.6% saved)

bsearch17.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
17.0ms
1.8889605452276494
12.88049405064844
Results
16.0ms96×body256valid
Compiler

Compiled 96 to 80 computations (16.7% saved)

simplify17.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
052384
169384
271384
372384
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 851083777008699/77371252455336267181195264) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 851083777008699/77371252455336267181195264) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 43000000000000001459486252267259246007455913158384792297004312062550876080790568960) (cos.f64 re) (if (<=.f64 im 5000000000000000085887661936088595590196552042152727553866164222600015631390942710041313371430586591361272979771771417393465563222586503124817274732544) (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 43000000000000001459486252267259246007455913158384792297004312062550876080790568960) (cos.f64 re) (if (<=.f64 im 5200000000000000118396717385356415035777366439359018030166465218996738667906188385668537430823726988063365927513184896519705050002137080591194030866432) (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 25/2) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 851083777008699/77371252455336267181195264) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 851083777008699/77371252455336267181195264) (cos.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.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 851083777008699/77371252455336267181195264) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 851083777008699/77371252455336267181195264) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 43000000000000001459486252267259246007455913158384792297004312062550876080790568960) (cos.f64 re) (if (<=.f64 im 5000000000000000085887661936088595590196552042152727553866164222600015631390942710041313371430586591361272979771771417393465563222586503124817274732544) (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 43000000000000001459486252267259246007455913158384792297004312062550876080790568960) (cos.f64 re) (if (<=.f64 im 5000000000000000085887661936088595590196552042152727553866164222600015631390942710041313371430586591361272979771771417393465563222586503124817274732544) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(if (<=.f64 im 43000000000000001459486252267259246007455913158384792297004312062550876080790568960) (cos.f64 re) (if (<=.f64 im 5200000000000000118396717385356415035777366439359018030166465218996738667906188385668537430823726988063365927513184896519705050002137080591194030866432) (*.f64 -1/4 (pow.f64 (*.f64 im re) 2)) (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 43000000000000001459486252267259246007455913158384792297004312062550876080790568960) (cos.f64 re) (if (<=.f64 im 5200000000000000118396717385356415035777366439359018030166465218996738667906188385668537430823726988063365927513184896519705050002137080591194030866432) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 25/2) (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cos.f64 re)
1/4
Compiler

Compiled 127 to 96 computations (24.4% saved)

soundness552.0ms (11.8%)

Rules
1886×fma-def
1366×fma-def
1092×fma-neg
910×div-sub
908×associate-/l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2329644
0961302
12861140
28751140
342501140
02233518
15263415
215573250
364323250
0901651
12131607
25331547
318501505
455981505
01823711
14362735
210882617
330732617
Stop Event
node limit
node limit
node limit
node limit
unsound
Compiler

Compiled 144 to 104 computations (27.8% saved)

end0.0ms (0%)

preprocess96.0ms (2.1%)

Remove

(abs im)

(abs re)

Compiler

Compiled 460 to 314 computations (31.7% saved)

Profiling

Loading profile data...