math.cos on complex, real part

Time bar (total: 5.2s)

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)

sample2.0s (38.7%)

Results
485.0ms2603×body256valid
463.0ms1022×body1024valid
411.0ms2625×body256infinite
319.0ms999×body1024infinite
194.0ms496×body512infinite
126.0ms509×body512valid
1.0msbody2048valid
Bogosity

preprocess167.0ms (3.2%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2277308
3687298
41412294
54001294
66069294
77960294
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) (*.f64 1/2 (+.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)

localize123.0ms (2.4%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(+.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 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite88.0ms (1.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01669
120269
2326669
Stop Event
unsound
Counts
2 → 28
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.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 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
2

simplify62.0ms (1.2%)

Algorithm
egg-herbie
Rules
1092×fma-neg
908×div-sub
880×cancel-sign-sub-inv
866×fma-def
684×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01081657
13081494
29321494
344581494
Stop Event
node limit
Counts
64 → 61
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)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.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 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
-2
0
1/4
1/2
3/2
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 (*.f64 -1/4 (pow.f64 re 2)) 1/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 (*.f64 -1/1440 (pow.f64 re 6)) (*.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)) 1/2)))
(*.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/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/720 (pow.f64 im 6)) 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)))
2
(cos.f64 re)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.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 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
-2
(cos.f64 re)
0
(cos.f64 re)
1/4
(cos.f64 re)
1/2
(cos.f64 re)
3/2
(cos.f64 re)
2
(cos.f64 re)

eval17.0ms (0.3%)

Compiler

Compiled 841 to 478 computations (43.2% saved)

prune17.0ms (0.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New56561
Fresh000
Picked011
Done000
Total56662
Accuracy
100.0%
Counts
62 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
10.9%
(+.f64 (cos.f64 re) (cos.f64 re))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.5%
(cos.f64 re)
7.5%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
10.9%
(+.f64 (cos.f64 re) (cos.f64 re))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.5%
(cos.f64 re)
Compiler

Compiled 186 to 140 computations (24.7% saved)

localize147.0ms (2.8%)

Localize:

Found 3 expressions with local error:

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

Compiled 74 to 30 computations (59.5% saved)

series7.0ms (0.1%)

Counts
3 → 44
Calls

12 calls:

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

rewrite26.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
224×associate-*r*
140×associate-*l*
119×log1p-expm1-u
119×expm1-log1p-u
118×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02282
126982
2402182
Stop Event
unsound
Counts
3 → 47
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -4 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -4 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
8

simplify91.0ms (1.8%)

Algorithm
egg-herbie
Rules
1478×associate-+r+
1196×associate-+l+
1148×distribute-lft-out
780×*-commutative
720×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01031913
12391813
26651697
327111697
457731697
575451697
Stop Event
node limit
Counts
91 → 89
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (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/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))))
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))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -4 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(-.f64 (cos.f64 re) -4)
(*.f64 (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 -4 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
8
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 -1/4 (pow.f64 re 2) (*.f64 1/48 (pow.f64 re 4))) 1/2))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (fma.f64 -1/4 (pow.f64 re 2) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))))
(fma.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 1/48 (pow.f64 re 4) 1/2) (fma.f64 -1/4 (pow.f64 re 2) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 (fma.f64 im 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 (fma.f64 im im 2) (+.f64 (fma.f64 -1/4 (pow.f64 re 2) (*.f64 -1/1440 (pow.f64 re 6))) (fma.f64 1/48 (pow.f64 re 4) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))
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 1/4 (fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6))))
(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))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) 1) -4)
(pow.f64 (cos.f64 re) -4)
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -4 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (cos.f64 re) (cos.f64 re))
(*.f64 2 (cos.f64 re))
(+.f64 -4 (cos.f64 re))
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
(+.f64 (cos.f64 re) 4)
(+.f64 4 (cos.f64 re))
(*.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (cos.f64 re) 2)
(*.f64 (cos.f64 re) -4)
(*.f64 -4 (cos.f64 re))
(*.f64 (cos.f64 re) -4)
(/.f64 -4 (cos.f64 re))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) (cos.f64 0)) -4)
(/.f64 (+.f64 (cos.f64 (*.f64 2 re)) 1) -4)
(sqrt.f64 (cos.f64 re))
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 -4 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
-4
-2
-1
-1/2
0
1/16
1/4
1/2
1
3/2
2
3
4
8

eval23.0ms (0.4%)

Compiler

Compiled 884 to 672 computations (24% saved)

prune42.0ms (0.8%)

Pruning

22 alts after pruning (18 fresh and 4 done)

PrunedKeptTotal
New711889
Fresh000
Picked235
Done011
Total732295
Accuracy
100.0%
Counts
95 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.0%
(pow.f64 (cos.f64 re) -4)
7.2%
(-.f64 (cos.f64 re) -4)
3.7%
(+.f64 (cos.f64 re) -4)
14.7%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
46.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
29.9%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
48.8%
(*.f64 1/2 (fma.f64 im im 2))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.3%
(*.f64 1/2 8)
7.8%
(*.f64 1/2 4)
27.2%
(*.f64 1/2 2)
8.4%
(*.f64 1/2 3/2)
8.0%
(*.f64 1/2 1)
6.7%
(*.f64 1/2 1/16)
4.1%
(*.f64 1/2 -1/2)
4.3%
(*.f64 1/2 -1)
4.6%
(*.f64 1/2 -2)
3.9%
(*.f64 1/2 -4)
50.5%
(cos.f64 re)
7.5%
1/4
27.0%
(pow.f64 (cos.f64 re) -4)
7.2%
(-.f64 (cos.f64 re) -4)
3.7%
(+.f64 (cos.f64 re) -4)
14.7%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
46.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
29.9%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
48.8%
(*.f64 1/2 (fma.f64 im im 2))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.3%
(*.f64 1/2 8)
7.8%
(*.f64 1/2 4)
27.2%
(*.f64 1/2 2)
8.4%
(*.f64 1/2 3/2)
8.0%
(*.f64 1/2 1)
6.7%
(*.f64 1/2 1/16)
4.1%
(*.f64 1/2 -1/2)
4.3%
(*.f64 1/2 -1)
4.6%
(*.f64 1/2 -2)
3.9%
(*.f64 1/2 -4)
50.5%
(cos.f64 re)
7.5%
1/4
Compiler

Compiled 518 to 456 computations (12% saved)

localize62.0ms (1.2%)

Compiler

Compiled 49 to 40 computations (18.4% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune24.0ms (0.5%)

Pruning

22 alts after pruning (13 fresh and 9 done)

PrunedKeptTotal
New000
Fresh01313
Picked055
Done044
Total02222
Accuracy
100.0%
Counts
22 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.0%
(pow.f64 (cos.f64 re) -4)
7.2%
(-.f64 (cos.f64 re) -4)
3.7%
(+.f64 (cos.f64 re) -4)
14.7%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
46.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
29.9%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
48.8%
(*.f64 1/2 (fma.f64 im im 2))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.3%
(*.f64 1/2 8)
7.8%
(*.f64 1/2 4)
27.2%
(*.f64 1/2 2)
8.4%
(*.f64 1/2 3/2)
8.0%
(*.f64 1/2 1)
6.7%
(*.f64 1/2 1/16)
4.1%
(*.f64 1/2 -1/2)
4.3%
(*.f64 1/2 -1)
4.6%
(*.f64 1/2 -2)
3.9%
(*.f64 1/2 -4)
50.5%
(cos.f64 re)
7.5%
1/4
27.0%
(pow.f64 (cos.f64 re) -4)
7.2%
(-.f64 (cos.f64 re) -4)
3.7%
(+.f64 (cos.f64 re) -4)
14.7%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
46.4%
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
29.9%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
48.8%
(*.f64 1/2 (fma.f64 im im 2))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.3%
(*.f64 1/2 8)
7.8%
(*.f64 1/2 4)
27.2%
(*.f64 1/2 2)
8.4%
(*.f64 1/2 3/2)
8.0%
(*.f64 1/2 1)
6.7%
(*.f64 1/2 1/16)
4.1%
(*.f64 1/2 -1/2)
4.3%
(*.f64 1/2 -1)
4.6%
(*.f64 1/2 -2)
3.9%
(*.f64 1/2 -4)
50.5%
(cos.f64 re)
7.5%
1/4
Compiler

Compiled 454 to 398 computations (12.3% saved)

localize72.0ms (1.4%)

Localize:

Found 1 expressions with local error:

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

Compiled 59 to 49 computations (16.9% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite66.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
804×log-prod
787×log1p-expm1-u
787×expm1-log1p-u
624×pow-prod-down
586×prod-diff
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01642
117138
2218138
Stop Event
node limit
Counts
1 → 63
Calls
Call 1
Inputs
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Outputs
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 im 2)) (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1) (*.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (*.f64 (*.f64 (pow.f64 re 6) -1/64) (pow.f64 (fma.f64 im im 2) 3))) (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (pow.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 2)) (-.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))))
(/.f64 (*.f64 (fma.f64 im 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 (fma.f64 im 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) (fma.f64 im 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)) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 im 2) (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(fma.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(fma.f64 1 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 1 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1 (*.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))) (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (sqrt.f64 (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) (cbrt.f64 (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) -1/4 (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))

simplify93.0ms (1.8%)

Algorithm
egg-herbie
Rules
1418×fma-def
1236×distribute-lft-in
1228×distribute-rgt-in
710×fma-neg
558×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01934046
14733978
213953783
366933779
Stop Event
node limit
Counts
87 → 101
Calls
Call 1
Inputs
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 0 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 im 2)) (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1) (*.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(/.f64 (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (*.f64 (*.f64 (pow.f64 re 6) -1/64) (pow.f64 (fma.f64 im im 2) 3))) (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (pow.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 2)) (-.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))))
(/.f64 (*.f64 (fma.f64 im 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 (fma.f64 im 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) (fma.f64 im 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)) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 im 2) (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(fma.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(fma.f64 1 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 1 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1 (*.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))) (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (sqrt.f64 (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) (cbrt.f64 (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) -1/4 (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
Outputs
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 1 (*.f64 (pow.f64 re 2) -1/2))
(fma.f64 (pow.f64 re 2) -1/2 1)
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.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 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.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 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im im 2))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2)))
(*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2)))
(*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 0 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 im 2)) (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) (*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1) (*.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(/.f64 (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (*.f64 (*.f64 (pow.f64 re 6) -1/64) (pow.f64 (fma.f64 im im 2) 3))) (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (*.f64 (pow.f64 re 6) (*.f64 -1/64 (pow.f64 (fma.f64 im im 2) 3)))) (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (-.f64 (pow.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2))) 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2)))))))
(/.f64 (fma.f64 (pow.f64 re 6) (*.f64 -1/64 (pow.f64 (fma.f64 im im 2) 3)) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) (+.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (*.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2))) (-.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(/.f64 (fma.f64 (pow.f64 re 6) (*.f64 -1/64 (pow.f64 (fma.f64 im im 2) 3)) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) (fma.f64 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2)) (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2)) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2)))
(/.f64 (fma.f64 (pow.f64 re 6) (*.f64 -1/64 (pow.f64 (fma.f64 im im 2) 3)) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)) (fma.f64 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2)) (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) -1/2)) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (pow.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 2)) (-.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (pow.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2))) 2)) (-.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (pow.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2))) 2)) (+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (*.f64 (fma.f64 im im 2) 1/4))))
(/.f64 (-.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 2) (pow.f64 (*.f64 (pow.f64 re 2) (fma.f64 -1/4 (pow.f64 im 2) -1/2)) 2)) (*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(/.f64 (*.f64 (fma.f64 im 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 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 im im 2)))
(*.f64 (/.f64 (fma.f64 im 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 im im 2) (/.f64 (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 (fma.f64 im im 2) (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16))) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)) (fma.f64 im im 2)))
(*.f64 (/.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)))
(*.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (/.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (fma.f64 im im 2)) (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4))
(/.f64 (fma.f64 (pow.f64 re 6) -1/64 1/8) (/.f64 (fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 -1/4 (pow.f64 re 2) -1/2) 1/4) (fma.f64 im im 2)))
(*.f64 (/.f64 (fma.f64 im 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 im im 2) (/.f64 (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 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (pow.f64 re 2))))
(/.f64 (-.f64 1/4 (*.f64 (pow.f64 re 4) 1/16)) (/.f64 (+.f64 1/2 (*.f64 (pow.f64 re 2) 1/4)) (fma.f64 im im 2)))
(*.f64 (/.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)))
(*.f64 (fma.f64 (pow.f64 re 4) -1/16 1/4) (/.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 2) 1/4 1/2)))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 3)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2) 1/2)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3) 1/3)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 2)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (exp.f64 (fma.f64 1/2 (pow.f64 im 2) 1))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))) 1) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)) 3)) 1/3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2)))) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 -1/4 (*.f64 (pow.f64 re 2) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 re 2) (*.f64 -1/4 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) (pow.f64 im 2) (*.f64 (fma.f64 -1/4 (pow.f64 re 2) 1/2) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2) (*.f64 2 (fma.f64 -1/4 (pow.f64 re 2) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 1 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im 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))) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im 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 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (*.f64 (sqrt.f64 -1/4) (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (*.f64 (fma.f64 im im 2) (sqrt.f64 -1/4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 -1/4) (sqrt.f64 -1/4)))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 1 (*.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))) (cbrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1))) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (sqrt.f64 (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (*.f64 (sqrt.f64 -1/4) (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (*.f64 (fma.f64 im im 2) (sqrt.f64 -1/4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 -1/4) (sqrt.f64 -1/4)))))
(fma.f64 (pow.f64 (*.f64 (*.f64 re (sqrt.f64 -1/4)) (cbrt.f64 (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 re (sqrt.f64 -1/4))) 2) (cbrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 re (sqrt.f64 -1/4))) 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (*.f64 -1/4 (pow.f64 re 2)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 re 2)) -1/4 (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16))) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 re 4) 1/16)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 -1/4 (pow.f64 re 2)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im 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 (fma.f64 im im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (*.f64 (sqrt.f64 -1/4) (fma.f64 im im 2))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 re (*.f64 (fma.f64 im im 2) (sqrt.f64 -1/4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 -1/4) (sqrt.f64 -1/4)))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (*.f64 (fma.f64 im im 2) -1/4) (pow.f64 re 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (pow.f64 re 2) 1/2))

eval53.0ms (1%)

Compiler

Compiled 2128 to 1670 computations (21.5% saved)

prune30.0ms (0.6%)

Pruning

23 alts after pruning (10 fresh and 13 done)

PrunedKeptTotal
New992101
Fresh088
Picked145
Done099
Total10023123
Accuracy
100.0%
Counts
123 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.0%
(pow.f64 (cos.f64 re) -4)
7.2%
(-.f64 (cos.f64 re) -4)
3.7%
(+.f64 (cos.f64 re) -4)
31.8%
(+.f64 1 (*.f64 (pow.f64 re 2) -1/2))
14.7%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
29.9%
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
77.1%
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
11.4%
(*.f64 (*.f64 -1/4 (pow.f64 re 2)) (fma.f64 im im 2))
48.8%
(*.f64 1/2 (fma.f64 im im 2))
64.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.3%
(*.f64 1/2 8)
7.8%
(*.f64 1/2 4)
27.2%
(*.f64 1/2 2)
8.4%
(*.f64 1/2 3/2)
8.0%
(*.f64 1/2 1)
6.7%
(*.f64 1/2 1/16)
4.1%
(*.f64 1/2 -1/2)
4.3%
(*.f64 1/2 -1)
4.6%
(*.f64 1/2 -2)
3.9%
(*.f64 1/2 -4)
50.5%
(cos.f64 re)
7.5%
1/4
Compiler

Compiled 293 to 233 computations (20.5% saved)

regimes72.0ms (1.4%)

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

15.0ms
im
15.0ms
re
13.0ms
(*.f64 1/2 (cos.f64 re))
11.0ms
(cos.f64 re)
7.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 173 to 125 computations (27.7% saved)

regimes110.0ms (2.1%)

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

4 calls:

37.0ms
im
25.0ms
re
21.0ms
(cos.f64 re)
20.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
88.6%2re
92.3%3im
88.4%2(*.f64 1/2 (cos.f64 re))
88.4%2(cos.f64 re)
Compiler

Compiled 141 to 105 computations (25.5% saved)

regimes41.0ms (0.8%)

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

1 calls:

36.0ms
im
Results
AccuracySegmentsBranch
91.9%3im
Compiler

Compiled 97 to 74 computations (23.7% saved)

regimes86.0ms (1.6%)

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

42.0ms
re
22.0ms
im
18.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
80.2%2(cos.f64 re)
75.5%4re
87.3%2im
Compiler

Compiled 96 to 74 computations (22.9% saved)

regimes99.0ms (1.9%)

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

2 calls:

71.0ms
im
25.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
64.7%2(cos.f64 re)
75.3%3im
Compiler

Compiled 85 to 66 computations (22.4% saved)

regimes47.0ms (0.9%)

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

2 calls:

25.0ms
im
18.0ms
re
Results
AccuracySegmentsBranch
62.2%2re
73.9%3im
Compiler

Compiled 62 to 52 computations (16.1% saved)

regimes20.0ms (0.4%)

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

1 calls:

17.0ms
im
Results
AccuracySegmentsBranch
71.8%2im
Compiler

Compiled 52 to 44 computations (15.4% saved)

regimes69.0ms (1.3%)

Counts
14 → 1
Calls
Call 1
Inputs
1/4
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 4)
(*.f64 1/2 8)
(cos.f64 re)
(+.f64 (cos.f64 re) -4)
(-.f64 (cos.f64 re) -4)
Outputs
(cos.f64 re)
Calls

3 calls:

50.0ms
(cos.f64 re)
8.0ms
im
8.0ms
re
Results
AccuracySegmentsBranch
50.5%1re
50.5%1(cos.f64 re)
50.5%1im
Compiler

Compiled 53 to 45 computations (15.1% saved)

regimes18.0ms (0.3%)

Counts
11 → 1
Calls
Call 1
Inputs
1/4
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 4)
(*.f64 1/2 8)
Outputs
(*.f64 1/2 2)
Calls

2 calls:

9.0ms
im
7.0ms
re
Results
AccuracySegmentsBranch
27.2%1re
27.2%1im
Compiler

Compiled 39 to 37 computations (5.1% saved)

regimes14.0ms (0.3%)

Counts
8 → 1
Calls
Call 1
Inputs
1/4
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
Outputs
(*.f64 1/2 3/2)
Calls

2 calls:

7.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
8.4%1re
8.4%1im
Compiler

Compiled 30 to 28 computations (6.7% saved)

regimes43.0ms (0.8%)

Counts
7 → 1
Calls
Call 1
Inputs
1/4
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
(*.f64 1/2 1)
Outputs
(*.f64 1/2 1)
Calls

2 calls:

36.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
8.0%1re
8.0%1im
Compiler

Compiled 27 to 25 computations (7.4% saved)

regimes12.0ms (0.2%)

Accuracy

Total -4.1b remaining (-6.9%)

Threshold costs -4.1b (-6.9%)

Counts
6 → 1
Calls
Call 1
Inputs
1/4
(*.f64 1/2 -4)
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/2)
(*.f64 1/2 1/16)
Outputs
1/4
Calls

2 calls:

5.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
7.5%1im
7.5%1re
Compiler

Compiled 24 to 22 computations (8.3% saved)

bsearch49.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
9.643707310974666e+152
8.224630329371335e+154
26.0ms
5557.892425227961
36671.30193388648
Results
23.0ms68×body1024infinite
15.0ms111×body256infinite
7.0ms29×body512infinite
Compiler

Compiled 310 to 248 computations (20% saved)

bsearch54.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
9.643707310974666e+152
8.224630329371335e+154
30.0ms
0.00027001754802761976
1.6200644190434799
Results
13.0ms84×body256valid
12.0ms31×body1024valid
9.0ms68×body256infinite
9.0ms30×body1024infinite
4.0ms13×body512valid
3.0ms14×body512infinite
Compiler

Compiled 300 to 244 computations (18.7% saved)

bsearch30.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
0.00027001754802761976
1.6200644190434799
Results
14.0ms37×body1024valid
11.0ms76×body256valid
4.0ms15×body512valid
Compiler

Compiled 146 to 118 computations (19.2% saved)

bsearch49.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
9.762592677685125e+143
2.2249956735356445e+144
31.0ms
1.6200644190434799
5557.892425227961
Results
13.0ms32×body1024valid
11.0ms34×body1024infinite
10.0ms67×body256valid
6.0ms47×body256infinite
3.0ms15×body512infinite
3.0ms13×body512valid
Compiler

Compiled 233 to 198 computations (15% saved)

bsearch56.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
31.0ms
3.832127689892683e+125
6.1130224219459586e+131
25.0ms
1.1311299020530233e+44
4.370521932789992e+46
Results
23.0ms169×body256infinite
21.0ms71×body1024infinite
7.0ms32×body512infinite
Compiler

Compiled 309 to 262 computations (15.2% saved)

bsearch21.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
21.0ms
5.9129500740625645e+59
4.2231624241258304e+60
Results
8.0ms27×body1024infinite
7.0ms57×body256infinite
3.0ms12×body512infinite
Compiler

Compiled 102 to 80 computations (21.6% saved)

simplify11.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068508
184508
286508
387508
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 5600) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 4796153459164483/9223372036854775808) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 1152921504606847/288230376151711744) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 620) (cos.f64 re) (if (<=.f64 im 2199999999999999878948095306481503062648160932280369347664305764085986396837471471236159044223781807086160750585724624279794823886034940150677504) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 115000000000000002221749364675952277452750848) (cos.f64 re) (if (<=.f64 im 600000000000000026019345398532349308035197390104381991254246752282958825357994505117203177589693431353174355813430502280296069595136) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 3049999999999999952674339609022748623610564992303035951611904) (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(cos.f64 re)
(*.f64 1/2 2)
(*.f64 1/2 3/2)
(*.f64 1/2 1)
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5600) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 5600) (*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 4796153459164483/9223372036854775808) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(if (<=.f64 im 4796153459164483/9223372036854775808) (cos.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (pow.f64 im 2))))
(if (<=.f64 im 1152921504606847/288230376151711744) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 1152921504606847/288230376151711744) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 620) (cos.f64 re) (if (<=.f64 im 2199999999999999878948095306481503062648160932280369347664305764085986396837471471236159044223781807086160750585724624279794823886034940150677504) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 115000000000000002221749364675952277452750848) (cos.f64 re) (if (<=.f64 im 600000000000000026019345398532349308035197390104381991254246752282958825357994505117203177589693431353174355813430502280296069595136) (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4)) (*.f64 1/2 (fma.f64 im im 2))))
(if (<=.f64 im 3049999999999999952674339609022748623610564992303035951611904) (cos.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(cos.f64 re)
(*.f64 1/2 2)
1
(*.f64 1/2 3/2)
3/4
(*.f64 1/2 1)
1/2
1/4
Compiler

Compiled 172 to 130 computations (24.4% saved)

soundness891.0ms (17.1%)

Rules
1478×associate-+r+
1478×associate-+r+
1478×associate-+r+
1478×associate-+r+
1418×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01669
120269
2326669
02282
126982
2402182
02282
126982
2402182
01081657
13081494
29321494
344581494
01031913
12391813
26651697
327111697
457731697
575451697
01031913
12391813
26651697
327111697
457731697
575451697
01031913
12391813
26651697
327111697
457731697
575451697
01934046
14733978
213953783
366933779
01031913
12391813
26651697
327111697
457731697
575451697
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
unsound
unsound
unsound
Compiler

Compiled 238 to 194 computations (18.5% saved)

end0.0ms (0%)

preprocess173.0ms (3.3%)

Remove

(abs im)

(abs re)

Compiler

Compiled 378 to 238 computations (37% saved)

Profiling

Loading profile data...