math.cos on complex, real part

Time bar (total: 11.0s)

analyze0.0ms (0%)

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

Compiled 14 to 11 computations (21.4% saved)

sample3.5s (32.4%)

Results
958.0ms2618×body256valid
867.0ms1062×body1024valid
597.0ms1055×body1024infinite
587.0ms2524×body256infinite
346.0ms531×body512valid
173.0ms464×body512infinite
2.0msbody2048valid
Bogosity

preprocess110.0ms (1%)

Algorithm
egg-herbie
Rules
1664×fma-def
928×associate-/r/
792×sqr-pow
750×associate-/l/
676×fabs-mul
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027175
181175
2182175
3343165
4674165
51905165
63540165
73945165
84964165
95834165
107272165
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))))
(*.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 (+.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 (+.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 (*.f64 1/2 (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 (*.f64 1/2 (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 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 13 to 10 computations (23.1% saved)

eval1.0ms (0%)

Compiler

Compiled 24 to 15 computations (37.5% saved)

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

localize381.0ms (3.5%)

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)

series16.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite178.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
264×add-exp-log
262×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
127354
2427754
Stop Event
unsound
Counts
2 → 32
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) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
-2
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im

simplify203.0ms (1.9%)

Algorithm
egg-herbie
Rules
1156×fma-neg
1130×div-sub
878×fma-def
726×associate-*r*
602×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01101290
13201160
210071160
352001160
Stop Event
node limit
Counts
68 → 66
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) 3)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
-2
0
1/512
1/64
1/16
1/8
1/4
1/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))) (*.f64 re re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(+.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))) (*.f64 re re)) (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 (*.f64 -1/4 (*.f64 re re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.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))) (*.f64 re re)) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im))))
(fma.f64 1/2 (*.f64 (cos.f64 re) (*.f64 im im)) (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) (*.f64 im im)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.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) (*.f64 im im))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4))))))
(*.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))
(+.f64 2 (*.f64 im im))
(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) (*.f64 im im)))
(+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(+.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) (*.f64 im im))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(+.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) 3)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cos.f64 re)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fabs.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(log.f64 (pow.f64 1 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(cos.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(cos.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
-2
(cos.f64 re)
0
(cos.f64 re)
1/512
1/64
1/16
1/8
(cos.f64 re)
1/4
(cos.f64 re)
1/2
(cos.f64 re)
2
(cos.f64 re)

eval23.0ms (0.2%)

Compiler

Compiled 875 to 462 computations (47.2% saved)

prune12.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New62466
Fresh000
Picked011
Done000
Total62567
Accuracy
100.0%
Counts
67 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.5%
(cos.f64 re)
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
53.5%
(cos.f64 re)
Compiler

Compiled 110 to 84 computations (23.6% saved)

localize164.0ms (1.5%)

Localize:

Found 4 expressions with local error:

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

Compiled 103 to 37 computations (64.1% saved)

series5.0ms (0%)

Counts
4 → 52
Calls

15 calls:

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

rewrite50.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
412×add-sqr-sqrt
394×pow1
394×*-un-lft-identity
386×add-exp-log
384×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01964
140764
2616364
Stop Event
unsound
Counts
4 → 87
Calls
Call 1
Inputs
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 -1/4 (*.f64 re re))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
-2
-1
-1/4
-1/64
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
9
16
27
64
512
im
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(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 -2 (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)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
-2
-1
-1/4
-1/64
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
9
16
27
64
512
im

simplify62.0ms (0.6%)

Algorithm
egg-herbie
Rules
694×distribute-lft-in
690×*-commutative
606×fma-def
604×distribute-rgt-in
526×+-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0125673
1264633
2662633
32760633
Stop Event
node limit
Counts
139 → 83
Calls
Call 1
Inputs
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 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))))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.f64 re 2))
(*.f64 -1/4 (pow.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)))
-2
-1
-1/4
-1/64
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
9
16
27
64
512
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 -2 (cos.f64 re))
(-.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) -2)
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
(pow.f64 (cos.f64 re) -2)
(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 -2 (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)))
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
-2
-1
-1/4
-1/64
-1/262144
0
1/4096
1/512
1/256
1/64
1/16
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
9
16
27
64
512
Outputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(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) (*.f64 im im)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(+.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) (*.f64 im im))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(+.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 1/2 (+.f64 2 (pow.f64 im 2)))
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))))
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 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 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 (*.f64 im im)) (*.f64 re re)) (fma.f64 -1/1440 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 2 (*.f64 im im)) (pow.f64 re 4)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(+.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 (*.f64 re re)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
2
(cos.f64 re)
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
(*.f64 -1/4 (pow.f64 re 2))
2
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(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) (*.f64 im im)))
(+.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))
(+.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) (*.f64 im im))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(+.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)))
-2
2
-1
2
-1/4
2
-1/64
-1/262144
0
2
1/4096
1/512
1/256
1/64
1/16
1/8
2
1/4
2
1/2
2
3/4
2
1
2
3/2
2
2
3
2
4
2
6
2
8
9
16
27
64
512
(+.f64 (cos.f64 re) (cos.f64 re))
2
(+.f64 -2 (cos.f64 re))
2
(-.f64 (cos.f64 re) -2)
2
(/.f64 (cos.f64 re) -2)
2
(/.f64 (cos.f64 re) (+.f64 (cos.f64 re) (-.f64 (cos.f64 re) (cos.f64 re))))
2
(/.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 (-.f64 re re))) -2)
2
(/.f64 (-.f64 (cos.f64 re) (cos.f64 re)) (-.f64 (cos.f64 re) (cos.f64 re)))
2
(pow.f64 (cos.f64 re) -2)
2
(pow.f64 (cos.f64 re) 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (cos.f64 re))
2
(fabs.f64 (cos.f64 re))
2
(log.f64 (exp.f64 (cos.f64 re)))
2
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (cos.f64 re))
(cos.f64 re)
2
(expm1.f64 (log.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
2
(exp.f64 (*.f64 (log.f64 (cos.f64 re)) -2))
2
(log1p.f64 (expm1.f64 (cos.f64 re)))
2
(fma.f64 (cos.f64 re) -2 (cos.f64 re))
2
(fma.f64 -2 (cos.f64 re) (cos.f64 re))
2
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(+.f64 (exp.f64 (log1p.f64 re)) 2)
(+.f64 2 (exp.f64 (log1p.f64 re)))
(pow.f64 re -2)
2
(pow.f64 re 1/3)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 re)
2
(fabs.f64 re)
2
(log.f64 (exp.f64 re))
2
(log.f64 (+.f64 -2 (expm1.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (cos.f64 re))))
(cbrt.f64 re)
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 re))
2
(exp.f64 (log.f64 re))
2
(exp.f64 (*.f64 (log.f64 re) -2))
2
(log1p.f64 (expm1.f64 re))
2
-2
2
-1
2
-1/4
2
-1/64
-1/262144
0
2
1/4096
1/512
1/256
1/64
1/16
1/8
2
1/4
2
1/2
2
3/4
2
1
2
3/2
2
2
3
2
4
2
6
2
8
9
16
27
64
512

eval33.0ms (0.3%)

Compiler

Compiled 1142 to 731 computations (36% saved)

prune59.0ms (0.5%)

Pruning

22 alts after pruning (17 fresh and 5 done)

PrunedKeptTotal
New10417121
Fresh000
Picked044
Done011
Total10422126
Accuracy
100.0%
Counts
126 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
3.6%
(+.f64 -2 (cos.f64 re))
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
49.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
14.1%
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
34.3%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
42.1%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.8%
(*.f64 1/2 512)
28.0%
(*.f64 1/2 2)
9.3%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1)
8.5%
(*.f64 1/2 3/4)
8.2%
(*.f64 1/2 1/2)
7.9%
(*.f64 1/2 1/4)
7.0%
(*.f64 1/2 1/64)
3.7%
(*.f64 1/2 -1/4)
4.0%
(*.f64 1/2 -1)
4.1%
(*.f64 1/2 -2)
6.5%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
53.5%
(cos.f64 re)
3.6%
(+.f64 -2 (cos.f64 re))
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
49.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
14.1%
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
34.3%
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
42.1%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.8%
(*.f64 1/2 512)
28.0%
(*.f64 1/2 2)
9.3%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1)
8.5%
(*.f64 1/2 3/4)
8.2%
(*.f64 1/2 1/2)
7.9%
(*.f64 1/2 1/4)
7.0%
(*.f64 1/2 1/64)
3.7%
(*.f64 1/2 -1/4)
4.0%
(*.f64 1/2 -1)
4.1%
(*.f64 1/2 -2)
6.5%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
53.5%
(cos.f64 re)
Compiler

Compiled 582 to 504 computations (13.4% saved)

localize276.0ms (2.5%)

Localize:

Found 3 expressions with local error:

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

Compiled 87 to 53 computations (39.1% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite122.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1258×log-prod
812×prod-diff
592×pow-prod-up
580×pow-exp
568×fma-def
Iterations

Useful iterations: 1 (0.0ms)

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

simplify107.0ms (1%)

Algorithm
egg-herbie
Rules
1194×fma-neg
750×div-sub
534×log-prod
496×times-frac
492×exp-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02484367
16804279
222984159
358154159
Stop Event
node limit
Counts
107 → 132
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 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 0 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(+.f64 (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1)
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 1/2 (*.f64 1/4 (*.f64 re re)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (*.f64 (-.f64 2 (*.f64 im im)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (*.f64 (-.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re)))))
(/.f64 (*.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (+.f64 8 (pow.f64 im 6))) (*.f64 (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (-.f64 4 (pow.f64 im 4))) (*.f64 (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (+.f64 8 (pow.f64 im 6))) (*.f64 (+.f64 1/2 (*.f64 1/4 (*.f64 re re))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (-.f64 4 (pow.f64 im 4))) (*.f64 (+.f64 1/2 (*.f64 1/4 (*.f64 re re))) (-.f64 2 (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2)) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (fma.f64 -1/4 (*.f64 re re) 1/2)) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 im im 2)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (exp.f64 (*.f64 (fma.f64 im im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(fma.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(fma.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)))
(fma.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 re 4))) (*.f64 (cbrt.f64 (*.f64 -1/4 (*.f64 re re))) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) 1 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(fma.f64 (*.f64 -1/4 re) (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2))) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 im im 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))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 re (sqrt.f64 -1/4))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 re (sqrt.f64 -1/4))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (*.f64 (*.f64 -1/4 (*.f64 re re)) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (*.f64 re re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/4) (*.f64 re re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 re re)) -1/4 (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/16 (pow.f64 re 4)))) (cbrt.f64 (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 re)) re (*.f64 (fma.f64 im im 2) 1/2))
Outputs
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2))
(+.f64 1 (*.f64 (*.f64 re re) -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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 im (*.f64 im (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im))
(*.f64 im (*.f64 im (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (fma.f64 im 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 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im 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 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im 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 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 0 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 -1/4 re) re 1/2)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 -1/4 re) re 1/2)) (fma.f64 im im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (*.f64 -1/4 re) re 1/2)) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(*.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (*.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 re (*.f64 -1/4 re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 1/2 (*.f64 1/4 (*.f64 re re)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 1/2 (*.f64 (*.f64 1/4 re) re))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 (*.f64 re re) 1/4 1/2))) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (*.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 re re) 1/4 1/2)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (*.f64 (-.f64 2 (*.f64 im im)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4)))) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 re (*.f64 -1/4 re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (*.f64 (-.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re)))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4))) (+.f64 1/2 (*.f64 (*.f64 1/4 re) re))) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (*.f64 (fma.f64 (*.f64 re re) 1/4 1/2) (-.f64 2 (*.f64 im im))) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (*.f64 re re) 1/4 1/2)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (+.f64 8 (pow.f64 im 6))) (*.f64 (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(*.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (*.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 re (*.f64 -1/4 re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (*.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (-.f64 4 (pow.f64 im 4))) (*.f64 (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4)))) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 re (*.f64 -1/4 re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (+.f64 8 (pow.f64 im 6))) (*.f64 (+.f64 1/2 (*.f64 1/4 (*.f64 re re))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 1/2 (*.f64 (*.f64 1/4 re) re))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 (*.f64 re re) 1/4 1/2))) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)))
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (*.f64 (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 re re) 1/4 1/2)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (-.f64 4 (pow.f64 im 4))) (*.f64 (+.f64 1/2 (*.f64 1/4 (*.f64 re re))) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4))) (+.f64 1/2 (*.f64 (*.f64 1/4 re) re))) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (*.f64 (fma.f64 (*.f64 re re) 1/4 1/2) (-.f64 2 (*.f64 im im))) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (*.f64 re re) 1/4 1/2)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) 1/8) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 3)) (+.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2) (*.f64 (fma.f64 im im 2) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (+.f64 1/8 (*.f64 -1/64 (pow.f64 (*.f64 re re) 3)))) (+.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2) (*.f64 (*.f64 -1/4 (*.f64 re re)) (*.f64 1/2 (pow.f64 (fma.f64 im im 2) 2))))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 4) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 (*.f64 1/2 (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 (*.f64 re re) 1/4 1/2))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2)) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2)) (*.f64 (fma.f64 im im 2) (-.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 2)) (*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) 1/4 1/2)))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16))) (*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 re re) 1/4 1/2)))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(*.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)) (fma.f64 im im 2))
(*.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 re (*.f64 -1/4 re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)) (fma.f64 im im 2))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4)))) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 1/4 re) re)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (*.f64 re re) 1/4 1/2)) (fma.f64 im im 2))
(/.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (fma.f64 (*.f64 -1/4 re) re 1/2))
(/.f64 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(/.f64 (fma.f64 (*.f64 -1/4 re) re 1/2) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (fma.f64 (*.f64 -1/4 re) re 1/2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (fma.f64 (*.f64 -1/4 re) re 1/2))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (fma.f64 -1/4 (*.f64 re re) 1/2)) (-.f64 2 (*.f64 im im)))
(/.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(/.f64 (fma.f64 (*.f64 -1/4 re) re 1/2) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (fma.f64 (*.f64 -1/4 re) re 1/2))
(/.f64 (*.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 im im 2)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/64 (pow.f64 re 6) 1/8)) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4))
(*.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)) (fma.f64 im im 2))
(*.f64 (/.f64 (fma.f64 -1/64 (pow.f64 re 6) 1/8) (fma.f64 (*.f64 re (*.f64 -1/4 re)) (fma.f64 -1/4 (*.f64 re re) -1/2) 1/4)) (fma.f64 im im 2))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 1/16 (pow.f64 re 4))) (fma.f64 im im 2)) (+.f64 1/2 (*.f64 1/4 (*.f64 re re))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 1/2 (*.f64 (*.f64 1/4 re) re)) (+.f64 1/4 (*.f64 -1/16 (pow.f64 re 4)))))
(*.f64 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 4) -1/16)) (fma.f64 (*.f64 re re) 1/4 1/2)) (fma.f64 im im 2))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 3)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3) 1/3)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 2)
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/4 (*.f64 re re) 1/2)) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (exp.f64 (*.f64 (fma.f64 im im 2) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))) 1) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 1/3))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2)))) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 im im) (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 2 (fma.f64 -1/4 (*.f64 re re) 1/2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 -1/4 (*.f64 (*.f64 re re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 re re) (*.f64 -1/4 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 -1/4 (*.f64 re re)) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2 (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) (*.f64 im im) (*.f64 (fma.f64 -1/4 (*.f64 re re) 1/2) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 re 4))) (*.f64 (cbrt.f64 (*.f64 -1/4 (*.f64 re re))) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 re 4))) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 -1/4 (*.f64 re re)))) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 re 4))) (cbrt.f64 (*.f64 re (*.f64 -1/4 re))))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (cbrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (cbrt.f64 (fma.f64 im im 2))) (*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2)))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 -1/4 (*.f64 re re)) (cbrt.f64 (fma.f64 im im 2))) (*.f64 1/2 (fma.f64 im im 2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/4 (*.f64 (*.f64 re re) (cbrt.f64 (fma.f64 im im 2)))) (*.f64 1/2 (fma.f64 im im 2)))
(fma.f64 (*.f64 re (sqrt.f64 -1/4)) (*.f64 (*.f64 re (sqrt.f64 -1/4)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) 1 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 -1/4 re) (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2))) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re)))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 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))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 re (sqrt.f64 -1/4))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 re (sqrt.f64 -1/4))) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (cbrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (cbrt.f64 (fma.f64 im im 2))) (*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 -1/4 (*.f64 re re))))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (*.f64 -1/4 (*.f64 re re)) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 -1/4 (*.f64 re re)) (cbrt.f64 (fma.f64 im im 2))) (*.f64 1/2 (fma.f64 im im 2)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/4 (*.f64 (*.f64 re re) (cbrt.f64 (fma.f64 im im 2)))) (*.f64 1/2 (fma.f64 im im 2)))
(fma.f64 (*.f64 (*.f64 -1/4 (*.f64 re re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/4) (*.f64 re re) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 re re)) -1/4 (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/16 (pow.f64 re 4)))) (cbrt.f64 (*.f64 -1/4 (*.f64 re re))) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 re 4))) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 -1/4 (*.f64 re re)))) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 (*.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 re 4))) (cbrt.f64 (*.f64 re (*.f64 -1/4 re))))))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 re (sqrt.f64 -1/4))) (*.f64 re (sqrt.f64 -1/4)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 -1/4 re)) re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/4 (*.f64 re re) 1/2))
(*.f64 (fma.f64 im im 2) (fma.f64 (*.f64 -1/4 re) re 1/2))

eval78.0ms (0.7%)

Compiler

Compiled 3491 to 2257 computations (35.3% saved)

prune234.0ms (2.1%)

Pruning

29 alts after pruning (19 fresh and 10 done)

PrunedKeptTotal
New1848192
Fresh11112
Picked055
Done055
Total18529214
Accuracy
100.0%
Counts
214 → 29
Alt Table
Click to see full alt table
StatusAccuracyProgram
34.3%
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
3.6%
(+.f64 -2 (cos.f64 re))
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
30.0%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
49.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
43.0%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
40.9%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
14.1%
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
14.1%
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
42.1%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.8%
(*.f64 1/2 512)
28.0%
(*.f64 1/2 2)
9.3%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1)
8.5%
(*.f64 1/2 3/4)
8.2%
(*.f64 1/2 1/2)
7.9%
(*.f64 1/2 1/4)
7.0%
(*.f64 1/2 1/64)
3.7%
(*.f64 1/2 -1/4)
4.0%
(*.f64 1/2 -1)
4.1%
(*.f64 1/2 -2)
2.3%
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
6.5%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
14.4%
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
2.3%
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
53.5%
(cos.f64 re)
34.3%
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
3.6%
(+.f64 -2 (cos.f64 re))
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
30.0%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
49.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
43.0%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
40.9%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
14.1%
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
14.1%
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
42.1%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.8%
(*.f64 1/2 512)
28.0%
(*.f64 1/2 2)
9.3%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1)
8.5%
(*.f64 1/2 3/4)
8.2%
(*.f64 1/2 1/2)
7.9%
(*.f64 1/2 1/4)
7.0%
(*.f64 1/2 1/64)
3.7%
(*.f64 1/2 -1/4)
4.0%
(*.f64 1/2 -1)
4.1%
(*.f64 1/2 -2)
2.3%
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
6.5%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
14.4%
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
2.3%
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
53.5%
(cos.f64 re)
Compiler

Compiled 792 to 662 computations (16.4% saved)

localize122.0ms (1.1%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.2%
(cbrt.f64 re)
100.0%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
Compiler

Compiled 74 to 43 computations (41.9% saved)

series6.0ms (0.1%)

Counts
2 → 24
Calls

9 calls:

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

rewrite138.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1142×log-prod
846×pow-prod-down
574×pow-prod-up
570×pow-exp
496×prod-diff
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01334
128226
2376626
Stop Event
node limit
Counts
2 → 105
Calls
Call 1
Inputs
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
(cbrt.f64 re)
Outputs
(+.f64 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re))
(+.f64 0 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))
(+.f64 (*.f64 (+.f64 1/2 re) 2) (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 im im)) (*.f64 (+.f64 1/2 re) 2))
(+.f64 (*.f64 2 (+.f64 1/2 re)) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(+.f64 (*.f64 (*.f64 im im) (+.f64 1/2 re)) (*.f64 2 (+.f64 1/2 re)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) re) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 1)
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 re (-.f64 re 1/2) 1/4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (-.f64 1/4 (*.f64 re re))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (-.f64 1/2 re)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (-.f64 2 (*.f64 im im)) (fma.f64 re (-.f64 re 1/2) 1/4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 1/4 (*.f64 re re))) (*.f64 (-.f64 2 (*.f64 im im)) (-.f64 1/2 re)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (+.f64 8 (pow.f64 im 6))) (*.f64 (fma.f64 re (-.f64 re 1/2) 1/4) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (-.f64 4 (pow.f64 im 4))) (*.f64 (fma.f64 re (-.f64 re 1/2) 1/4) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (-.f64 1/2 re) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (-.f64 1/2 re) (-.f64 2 (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) re) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (pow.f64 (*.f64 (fma.f64 im im 2) re) 2)) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re)))
(/.f64 (*.f64 (fma.f64 im im 2) (+.f64 (pow.f64 re 3) 1/8)) (fma.f64 re (-.f64 re 1/2) 1/4))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (*.f64 (+.f64 1/2 re) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (+.f64 1/2 re) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 1/2 re)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (+.f64 1/2 re)) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 im im 2)) (fma.f64 re (-.f64 re 1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (fma.f64 im im 2)) (-.f64 1/2 re))
(pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) re)) (exp.f64 (*.f64 (fma.f64 im im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(fma.f64 2 (+.f64 1/2 re) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(fma.f64 (*.f64 im im) (+.f64 1/2 re) (*.f64 2 (+.f64 1/2 re)))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) re))
(fma.f64 (fma.f64 im im 2) re (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) re))
(fma.f64 re (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (+.f64 1/2 re) 2 (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(fma.f64 (+.f64 1/2 re) (*.f64 im im) (*.f64 (+.f64 1/2 re) 2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (cbrt.f64 re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 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 (fma.f64 im im 2) re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) 1 (*.f64 (*.f64 (fma.f64 im im 2) re) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) (cbrt.f64 (*.f64 (fma.f64 im im 2) re))) (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2))) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 1/2) (pow.f64 (*.f64 (fma.f64 im im 2) re) 1/2) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 re re))) (cbrt.f64 re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 re)) (sqrt.f64 re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)) (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (*.f64 re re)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (*.f64 re re) 1/6)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(exp.f64 (*.f64 (log.f64 re) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))

simplify145.0ms (1.3%)

Algorithm
egg-herbie
Rules
1768×fma-def
654×*-commutative
636×log-prod
632×div-sub
528×exp-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02753551
17043491
221343383
363493071
Stop Event
node limit
Counts
129 → 150
Calls
Call 1
Inputs
(*.f64 2 (+.f64 1/2 (fabs.f64 re)))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re)))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re)))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re))
(+.f64 0 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))
(+.f64 (*.f64 (+.f64 1/2 re) 2) (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 im im)) (*.f64 (+.f64 1/2 re) 2))
(+.f64 (*.f64 2 (+.f64 1/2 re)) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(+.f64 (*.f64 (*.f64 im im) (+.f64 1/2 re)) (*.f64 2 (+.f64 1/2 re)))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) re) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 1)
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 re (-.f64 re 1/2) 1/4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (-.f64 1/4 (*.f64 re re))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (-.f64 1/2 re)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (-.f64 2 (*.f64 im im)) (fma.f64 re (-.f64 re 1/2) 1/4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 1/4 (*.f64 re re))) (*.f64 (-.f64 2 (*.f64 im im)) (-.f64 1/2 re)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (+.f64 8 (pow.f64 im 6))) (*.f64 (fma.f64 re (-.f64 re 1/2) 1/4) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (-.f64 4 (pow.f64 im 4))) (*.f64 (fma.f64 re (-.f64 re 1/2) 1/4) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (-.f64 1/2 re) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (-.f64 1/2 re) (-.f64 2 (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) re) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (pow.f64 (*.f64 (fma.f64 im im 2) re) 2)) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re)))
(/.f64 (*.f64 (fma.f64 im im 2) (+.f64 (pow.f64 re 3) 1/8)) (fma.f64 re (-.f64 re 1/2) 1/4))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (*.f64 (+.f64 1/2 re) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (+.f64 1/2 re) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 1/2 re)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (+.f64 1/2 re)) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 im im 2)) (fma.f64 re (-.f64 re 1/2) 1/4))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (fma.f64 im im 2)) (-.f64 1/2 re))
(pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) re)) (exp.f64 (*.f64 (fma.f64 im im 2) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(fma.f64 2 (+.f64 1/2 re) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(fma.f64 (*.f64 im im) (+.f64 1/2 re) (*.f64 2 (+.f64 1/2 re)))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) re))
(fma.f64 (fma.f64 im im 2) re (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) re))
(fma.f64 re (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (+.f64 1/2 re) 2 (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(fma.f64 (+.f64 1/2 re) (*.f64 im im) (*.f64 (+.f64 1/2 re) 2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 1 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (cbrt.f64 re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 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 (fma.f64 im im 2) re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) 1 (*.f64 (*.f64 (fma.f64 im im 2) re) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) (cbrt.f64 (*.f64 (fma.f64 im im 2) re))) (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2))) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 1/2) (pow.f64 (*.f64 (fma.f64 im im 2) re) 1/2) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) re))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 re re))) (cbrt.f64 re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 re)) (sqrt.f64 re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)) (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (*.f64 re re)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (*.f64 re re) 1/6)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(exp.f64 (*.f64 (log.f64 re) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
Outputs
(*.f64 2 (+.f64 1/2 (fabs.f64 re)))
(+.f64 1 (*.f64 (fabs.f64 re) 2))
(+.f64 1 (*.f64 2 (fabs.f64 re)))
(fma.f64 2 (fabs.f64 re) 1)
(fma.f64 2 re 1)
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (*.f64 im im))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (*.f64 im im))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 (fabs.f64 re))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (fabs.f64 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 0 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 (+.f64 1/2 re) 2) (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 im im)) (*.f64 (+.f64 1/2 re) 2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 2 (+.f64 1/2 re)) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 (*.f64 im im) (+.f64 1/2 re)) (*.f64 2 (+.f64 1/2 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/2) 1) (*.f64 (*.f64 (fma.f64 im im 2) re) 1))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 1)
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 re (-.f64 re 1/2) 1/4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 re (+.f64 re -1/2) 1/4)))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 re (+.f64 re -1/2) 1/4)) (/.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (+.f64 (pow.f64 re 3) 1/8) (*.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (/.f64 (fma.f64 re (+.f64 re -1/2) 1/4) (+.f64 8 (pow.f64 im 6)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (-.f64 1/4 (*.f64 re re))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (-.f64 1/2 re)))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 1/2 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (/.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 1/2 re)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (/.f64 (fma.f64 re (neg.f64 re) 1/4) (-.f64 1/2 re)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (-.f64 2 (*.f64 im im)) (fma.f64 re (-.f64 re 1/2) 1/4)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (/.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 re (+.f64 re -1/2) 1/4)))
(*.f64 (+.f64 (pow.f64 re 3) 1/8) (/.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 (fma.f64 re (+.f64 re -1/2) 1/4) (-.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 1/4 (*.f64 re re))) (*.f64 (-.f64 2 (*.f64 im im)) (-.f64 1/2 re)))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 1/2 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (fma.f64 re (neg.f64 re) 1/4) (/.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 (-.f64 1/2 re) (-.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (+.f64 8 (pow.f64 im 6))) (*.f64 (fma.f64 re (-.f64 re 1/2) 1/4) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 re 3) 1/8)) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (fma.f64 re (+.f64 re -1/2) 1/4)))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 re (+.f64 re -1/2) 1/4)) (/.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (+.f64 (pow.f64 re 3) 1/8) (*.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (/.f64 (fma.f64 re (+.f64 re -1/2) 1/4) (+.f64 8 (pow.f64 im 6)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (-.f64 4 (pow.f64 im 4))) (*.f64 (fma.f64 re (-.f64 re 1/2) 1/4) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (/.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 re (+.f64 re -1/2) 1/4)))
(*.f64 (+.f64 (pow.f64 re 3) 1/8) (/.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 (fma.f64 re (+.f64 re -1/2) 1/4) (-.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (-.f64 1/2 re) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 1/2 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)))
(/.f64 (*.f64 (/.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 1/2 re)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (/.f64 (fma.f64 re (neg.f64 re) 1/4) (-.f64 1/2 re)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (-.f64 1/2 re) (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 1/4 (*.f64 re re)) (-.f64 1/2 re)) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 (fma.f64 re (neg.f64 re) 1/4) (/.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 (-.f64 1/2 re) (-.f64 2 (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 3) (pow.f64 (*.f64 (fma.f64 im im 2) re) 3)) (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2) (*.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) 1/8) (pow.f64 (*.f64 re (fma.f64 im im 2)) 3)) (+.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (-.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) (*.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 1/2 (fma.f64 im im 2))))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (+.f64 (pow.f64 re 3) 1/8)) (+.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (*.f64 (*.f64 re (fma.f64 im im 2)) (-.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 1/2 (fma.f64 im im 2))))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (+.f64 re -1/2)) (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) 1/2) 2) (pow.f64 (*.f64 (fma.f64 im im 2) re) 2)) (-.f64 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (fma.f64 im im 2)) 2) (pow.f64 (*.f64 re (fma.f64 im im 2)) 2)) (*.f64 (fma.f64 im im 2) (-.f64 1/2 re)))
(/.f64 (*.f64 (*.f64 (fma.f64 im im 2) (fma.f64 im im 2)) (fma.f64 re (neg.f64 re) 1/4)) (*.f64 (fma.f64 im im 2) (-.f64 1/2 re)))
(/.f64 (*.f64 (fma.f64 im im 2) (+.f64 (pow.f64 re 3) 1/8)) (fma.f64 re (-.f64 re 1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re 3) 1/8) (/.f64 (fma.f64 re (+.f64 re -1/2) 1/4) (fma.f64 im im 2)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 re (+.f64 re -1/2) 1/4)) (fma.f64 im im 2))
(*.f64 (+.f64 (pow.f64 re 3) 1/8) (/.f64 (fma.f64 im im 2) (fma.f64 re (+.f64 re -1/2) 1/4)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (fma.f64 im im 2) (/.f64 (-.f64 1/2 re) (-.f64 1/4 (*.f64 re re))))
(*.f64 (/.f64 (fma.f64 im im 2) (-.f64 1/2 re)) (-.f64 1/4 (*.f64 re re)))
(*.f64 (fma.f64 im im 2) (/.f64 (fma.f64 re (neg.f64 re) 1/4) (-.f64 1/2 re)))
(/.f64 (*.f64 (+.f64 1/2 re) (+.f64 8 (pow.f64 im 6))) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (+.f64 1/2 re) (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 re) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (+.f64 1/2 re) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (+.f64 1/2 re) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 1/2 re)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4))
(/.f64 (+.f64 1/2 re) (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4)) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 re) (/.f64 (+.f64 8 (pow.f64 im 6)) (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (+.f64 1/2 re)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (+.f64 1/2 re) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 im im 2)) (fma.f64 re (-.f64 re 1/2) 1/4))
(/.f64 (+.f64 (pow.f64 re 3) 1/8) (/.f64 (fma.f64 re (+.f64 re -1/2) 1/4) (fma.f64 im im 2)))
(*.f64 (/.f64 (+.f64 (pow.f64 re 3) 1/8) (fma.f64 re (+.f64 re -1/2) 1/4)) (fma.f64 im im 2))
(*.f64 (+.f64 (pow.f64 re 3) 1/8) (/.f64 (fma.f64 im im 2) (fma.f64 re (+.f64 re -1/2) 1/4)))
(/.f64 (*.f64 (-.f64 1/4 (*.f64 re re)) (fma.f64 im im 2)) (-.f64 1/2 re))
(/.f64 (fma.f64 im im 2) (/.f64 (-.f64 1/2 re) (-.f64 1/4 (*.f64 re re))))
(*.f64 (/.f64 (fma.f64 im im 2) (-.f64 1/2 re)) (-.f64 1/4 (*.f64 re re)))
(*.f64 (fma.f64 im im 2) (/.f64 (fma.f64 re (neg.f64 re) 1/4) (-.f64 1/2 re)))
(pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 1)
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 3)
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 2) 1/2)
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3) 1/3)
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 2)
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(log.f64 (pow.f64 (exp.f64 (+.f64 1/2 re)) (fma.f64 im im 2)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) re)) (exp.f64 (*.f64 (fma.f64 im im 2) 1/2))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 1))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))) 1) 1))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 3))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)) 3)) 1/3))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re)))) 2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (+.f64 1/2 re))))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 2 (+.f64 1/2 re) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 im im) (+.f64 1/2 re) (*.f64 2 (+.f64 1/2 re)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (fma.f64 im im 2) 1/2 (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (fma.f64 im im 2) re (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 1/2 (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 re (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (+.f64 1/2 re) 2 (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (+.f64 1/2 re) (*.f64 im im) (*.f64 (+.f64 1/2 re) 2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 1 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 1 (*.f64 (fma.f64 im im 2) 1/2) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (cbrt.f64 re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (fma.f64 im im 2) (cbrt.f64 re)) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re)) 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 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) re) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) 1/2) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) re) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) 1 (*.f64 (*.f64 (fma.f64 im im 2) re) 1))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) (cbrt.f64 (*.f64 (fma.f64 im im 2) re))) (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2))) (cbrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (sqrt.f64 (*.f64 (fma.f64 im im 2) 1/2)) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 1/2) (pow.f64 (*.f64 (fma.f64 im im 2) re) 1/2) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) re))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 re re))) (cbrt.f64 re) (*.f64 (fma.f64 im im 2) 1/2))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (fma.f64 im im 2) (cbrt.f64 re)) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re)) 1/2))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 re)) (sqrt.f64 re) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(fma.f64 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) 1/2))
(*.f64 (+.f64 1/2 (fabs.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (+.f64 1/2 re))
(+.f64 0 (cbrt.f64 re))
(cbrt.f64 re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(cbrt.f64 re)
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(cbrt.f64 re)
(*.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(*.f64 1 (cbrt.f64 re))
(cbrt.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.f64 re)
(*.f64 (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)) (exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 1/3)))
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 (*.f64 re re)) 1/2)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(cbrt.f64 re)
(pow.f64 (*.f64 re re) 1/6)
(cbrt.f64 re)
(pow.f64 (pow.f64 re 1/6) 2)
(cbrt.f64 re)
(pow.f64 (sqrt.f64 re) 2/3)
(cbrt.f64 re)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(exp.f64 (log.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 re) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)

eval196.0ms (1.8%)

Compiler

Compiled 2396 to 1581 computations (34% saved)

prune82.0ms (0.7%)

Pruning

31 alts after pruning (17 fresh and 14 done)

PrunedKeptTotal
New1473150
Fresh01414
Picked145
Done01010
Total14831179
Accuracy
100.0%
Counts
179 → 31
Alt Table
Click to see full alt table
StatusAccuracyProgram
36.6%
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
44.0%
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
34.3%
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
3.6%
(+.f64 -2 (cos.f64 re))
64.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
30.0%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
49.7%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
40.9%
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
20.8%
(*.f64 (+.f64 1/2 re) (*.f64 im im))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
73.6%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
14.1%
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
14.1%
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
60.3%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
42.1%
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
6.8%
(*.f64 1/2 512)
28.0%
(*.f64 1/2 2)
9.3%
(*.f64 1/2 3/2)
8.8%
(*.f64 1/2 1)
8.5%
(*.f64 1/2 3/4)
8.2%
(*.f64 1/2 1/2)
7.9%
(*.f64 1/2 1/4)
7.0%
(*.f64 1/2 1/64)
3.7%
(*.f64 1/2 -1/4)
4.0%
(*.f64 1/2 -1)
4.1%
(*.f64 1/2 -2)
2.3%
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
6.5%
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
14.4%
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
2.3%
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
53.5%
(cos.f64 re)
Compiler

Compiled 511 to 380 computations (25.6% saved)

regimes213.0ms (1.9%)

Counts
33 → 1
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(+.f64 -2 (cos.f64 re))
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.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:

34.0ms
im
31.0ms
re
26.0ms
(*.f64 1/2 (cos.f64 re))
26.0ms
(cos.f64 re)
17.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 272 to 183 computations (32.7% saved)

regimes386.0ms (3.5%)

Counts
32 → 3
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(+.f64 -2 (cos.f64 re))
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

149.0ms
im
100.0ms
re
76.0ms
(*.f64 1/2 (cos.f64 re))
45.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
87.4%2re
94.0%3im
86.7%2(*.f64 1/2 (cos.f64 re))
86.7%2(cos.f64 re)
Compiler

Compiled 240 to 163 computations (32.1% saved)

regimes227.0ms (2.1%)

Counts
31 → 3
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(+.f64 -2 (cos.f64 re))
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

174.0ms
im
Results
AccuracySegmentsBranch
91.3%3im
Compiler

Compiled 213 to 148 computations (30.5% saved)

regimes163.0ms (1.5%)

Counts
30 → 4
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(+.f64 -2 (cos.f64 re))
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 -2 (+.f64 1/2 (log1p.f64 (expm1.f64 re))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

104.0ms
im
18.0ms
(cos.f64 re)
17.0ms
re
13.0ms
(*.f64 1/2 (cos.f64 re))
Results
AccuracySegmentsBranch
73.6%1(*.f64 1/2 (cos.f64 re))
73.6%1(cos.f64 re)
73.6%1re
87.9%4im
Compiler

Compiled 218 to 152 computations (30.3% saved)

regimes64.0ms (0.6%)

Counts
28 → 3
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(+.f64 -2 (cos.f64 re))
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 1/4 (*.f64 re re))) (-.f64 1/2 re))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

57.0ms
im
Results
AccuracySegmentsBranch
83.5%3im
Compiler

Compiled 183 to 126 computations (31.1% saved)

regimes50.0ms (0.5%)

Counts
26 → 3
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(cos.f64 re)
(+.f64 -2 (cos.f64 re))
(*.f64 -2 (+.f64 1/2 (cbrt.f64 re)))
(*.f64 -2 (+.f64 1/2 (pow.f64 re 1/3)))
(*.f64 re (*.f64 -1/4 (*.f64 re (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (cbrt.f64 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (fabs.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

1 calls:

44.0ms
im
Results
AccuracySegmentsBranch
79.8%3im
Compiler

Compiled 158 to 111 computations (29.7% saved)

regimes33.0ms (0.3%)

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

1 calls:

28.0ms
im
Results
AccuracySegmentsBranch
77.5%2im
Compiler

Compiled 128 to 95 computations (25.8% saved)

regimes77.0ms (0.7%)

Counts
18 → 2
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Outputs
(*.f64 1/2 2)
(*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Calls

2 calls:

52.0ms
re
22.0ms
im
Results
AccuracySegmentsBranch
51.3%3re
52.4%2im
Compiler

Compiled 102 to 77 computations (24.5% saved)

regimes79.0ms (0.7%)

Counts
17 → 3
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Outputs
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
Calls

2 calls:

43.0ms
re
32.0ms
im
Results
AccuracySegmentsBranch
49.6%4re
48.8%3im
Compiler

Compiled 89 to 70 computations (21.3% saved)

regimes34.0ms (0.3%)

Counts
16 → 3
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 -2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
(*.f64 2 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))))
Outputs
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(+.f64 1 (*.f64 (*.f64 re re) -1/2))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
Calls

1 calls:

30.0ms
im
Results
AccuracySegmentsBranch
48.8%3im
Compiler

Compiled 77 to 62 computations (19.5% saved)

regimes40.0ms (0.4%)

Counts
13 → 2
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
Outputs
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 1/2 re) (*.f64 im im))
Calls

2 calls:

19.0ms
re
18.0ms
im
Results
AccuracySegmentsBranch
44.2%2re
45.8%2im
Compiler

Compiled 55 to 47 computations (14.5% saved)

regimes22.0ms (0.2%)

Counts
12 → 1
Calls
Call 1
Inputs
(*.f64 1/2 -2)
(*.f64 1/2 -1)
(*.f64 1/2 -1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 1/4)
(*.f64 1/2 1/2)
(*.f64 1/2 3/4)
(*.f64 1/2 1)
(*.f64 1/2 3/2)
(*.f64 1/2 2)
(*.f64 1/2 512)
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
Outputs
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
Calls

2 calls:

11.0ms
re
8.0ms
im
Results
AccuracySegmentsBranch
42.1%1re
42.1%1im
Compiler

Compiled 48 to 44 computations (8.3% saved)

regimes19.0ms (0.2%)

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

2 calls:

9.0ms
re
8.0ms
im
Results
AccuracySegmentsBranch
28.0%1im
28.0%1re
Compiler

Compiled 41 to 39 computations (4.9% saved)

regimes16.0ms (0.1%)

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

2 calls:

8.0ms
re
6.0ms
im
Results
AccuracySegmentsBranch
9.3%1im
9.3%1re
Compiler

Compiled 35 to 33 computations (5.7% saved)

regimes21.0ms (0.2%)

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

2 calls:

11.0ms
re
8.0ms
im
Results
AccuracySegmentsBranch
8.8%1re
8.8%1im
Compiler

Compiled 32 to 30 computations (6.3% saved)

regimes27.0ms (0.2%)

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

2 calls:

14.0ms
im
10.0ms
re
Results
AccuracySegmentsBranch
8.5%1im
8.5%1re
Compiler

Compiled 29 to 27 computations (6.9% saved)

regimes26.0ms (0.2%)

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

2 calls:

13.0ms
re
10.0ms
im
Results
AccuracySegmentsBranch
8.2%1re
8.2%1im
Compiler

Compiled 26 to 24 computations (7.7% saved)

regimes20.0ms (0.2%)

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

2 calls:

9.0ms
im
9.0ms
re
Results
AccuracySegmentsBranch
7.9%1im
7.9%1re
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes20.0ms (0.2%)

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

2 calls:

10.0ms
re
8.0ms
im
Results
AccuracySegmentsBranch
7.0%1im
7.0%1re
Compiler

Compiled 20 to 18 computations (10% saved)

regimes14.0ms (0.1%)

Accuracy

Total -0.3b remaining (-0.5%)

Threshold costs -0.3b (-0.5%)

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

2 calls:

6.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
4.1%1im
4.1%1re
Compiler

Compiled 17 to 15 computations (11.8% saved)

bsearch55.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
1.5891757984064178e+152
3.031861733905499e+154
27.0ms
0.006069609152318668
0.07186964225291298
Results
16.0ms38×body1024infinite
14.0ms33×body1024valid
9.0ms54×body256valid
9.0ms67×body256infinite
2.0msbody512valid
2.0msbody512infinite
Compiler

Compiled 408 to 313 computations (23.3% saved)

bsearch42.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
8.339962988553549e+151
1.5891757984064178e+152
28.0ms
0.006069609152318668
0.07186964225291298
Results
15.0ms23×body1024valid
9.0ms29×body1024infinite
8.0ms59×body256valid
4.0ms32×body256infinite
3.0ms14×body512valid
1.0msbody512infinite
Compiler

Compiled 258 to 204 computations (20.9% saved)

bsearch62.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
8.339962988553549e+151
1.5891757984064178e+152
25.0ms
7.601539209397529e+73
2.7772180111151235e+78
24.0ms
30464.898957681926
65246.310154118386
Results
27.0ms81×body1024infinite
24.0ms161×body256infinite
7.0ms30×body512infinite
Compiler

Compiled 533 to 415 computations (22.1% saved)

bsearch40.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
8.339962988553549e+151
1.5891757984064178e+152
24.0ms
30464.898957681926
65246.310154118386
Results
21.0ms44×body1024infinite
12.0ms83×body256infinite
5.0ms17×body512infinite
Compiler

Compiled 261 to 203 computations (22.2% saved)

bsearch58.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
1.5891757984064178e+152
3.031861733905499e+154
30.0ms
156.71518844296799
830.4442637033268
Results
16.0ms30×body1024valid
14.0ms31×body1024infinite
9.0ms68×body256infinite
9.0ms58×body256valid
3.0ms13×body512infinite
2.0msbody512valid
Compiler

Compiled 395 to 300 computations (24.1% saved)

bsearch31.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
0.006069609152318668
0.07186964225291298
Results
16.0ms32×body1024valid
9.0ms52×body256valid
3.0ms12×body512valid
Compiler

Compiled 144 to 110 computations (23.6% saved)

bsearch26.0ms (0.2%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
26.0ms
6.168882870205077e-5
0.006069609152318668
Results
13.0ms35×body1024valid
10.0ms70×body256valid
2.0msbody512valid
Compiler

Compiled 172 to 140 computations (18.6% saved)

bsearch80.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
30.0ms
3.7093275214660006e+104
1.0486445634824783e+106
50.0ms
0.07186964225291298
156.71518844296799
Results
22.0ms38×body1024valid
20.0ms80×body256valid
16.0ms44×body1024infinite
10.0ms59×body256infinite
4.0ms10×body512valid
2.0msbody512infinite
Compiler

Compiled 348 to 277 computations (20.4% saved)

bsearch90.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
3.7093275214660006e+104
1.0486445634824783e+106
47.0ms
0.07186964225291298
156.71518844296799
Results
26.0ms45×body1024valid
21.0ms37×body1024infinite
14.0ms73×body256valid
14.0ms62×body256infinite
5.0ms13×body512infinite
5.0ms10×body512valid
Compiler

Compiled 318 to 247 computations (22.3% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
49.0ms
53809901922342.65
29082931812017932.0
Results
23.0ms42×body1024infinite
19.0ms73×body256infinite
5.0ms13×body512infinite
Compiler

Compiled 178 to 134 computations (24.7% saved)

simplify34.0ms (0.3%)

Algorithm
egg-herbie
Rules
30×*-commutative
22×+-commutative
10×sub-neg
if-if-or-not
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109874
1149874
2158874
3163874
4165874
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 5188146770730811/144115188075855872) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 1152921504606847/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 31000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 99999999999999998278261272554585856747747644714015897553975120217811154108416) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2))) (if (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584) (/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 31000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 610) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 1261007895663739/18014398509481984) (cos.f64 re) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 4574792530279969/73786976294838206464) (*.f64 1/2 2) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 112) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 880000000000000001685794075446508487870040511993368969814467092847453805299510105245887807695198684708864) (*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (+.f64 1/2 re) (*.f64 im im))))
(if (<=.f64 im 155) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 1450000000000000050520759569654787314429830756629329065815355572714480894380325477887104123610065520295936) (+.f64 1 (*.f64 (*.f64 re re) -1/2)) (*.f64 (+.f64 1/2 re) (*.f64 im im))))
(if (<=.f64 im 78000000000000) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 2)
(*.f64 1/2 3/2)
(*.f64 1/2 1)
(*.f64 1/2 3/4)
(*.f64 1/2 1/2)
(*.f64 1/2 1/4)
(*.f64 1/2 1/64)
(*.f64 1/2 -2)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5188146770730811/144115188075855872) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 5188146770730811/144115188075855872) (not (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 1152921504606847/36028797018963968) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 1152921504606847/36028797018963968) (not (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 31000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 99999999999999998278261272554585856747747644714015897553975120217811154108416) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2))) (if (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584) (/.f64 (+.f64 1/2 re) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))))))
(if (<=.f64 im 31000) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 31000) (not (<=.f64 im 154999999999999999028323898540712010549474073866711882401644287464010183165668228108084273947358567701244208804107086135384824428569291929196327373635584))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (pow.f64 re -2))))
(if (<=.f64 im 610) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 610) (not (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 1261007895663739/18014398509481984) (cos.f64 re) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 4574792530279969/73786976294838206464) (*.f64 1/2 2) (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 4574792530279969/73786976294838206464) 1 (*.f64 (+.f64 2 (*.f64 im im)) (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))))
(if (<=.f64 im 112) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 880000000000000001685794075446508487870040511993368969814467092847453805299510105245887807695198684708864) (*.f64 512 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re)))) (*.f64 (+.f64 1/2 re) (*.f64 im im))))
(if (<=.f64 im 112) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 880000000000000001685794075446508487870040511993368969814467092847453805299510105245887807695198684708864) (*.f64 (+.f64 1/2 (*.f64 -1/4 (*.f64 re re))) 512) (*.f64 (*.f64 im im) (+.f64 1/2 re))))
(if (<=.f64 im 155) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 1450000000000000050520759569654787314429830756629329065815355572714480894380325477887104123610065520295936) (+.f64 1 (*.f64 (*.f64 re re) -1/2)) (*.f64 (+.f64 1/2 re) (*.f64 im im))))
(if (<=.f64 im 155) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (if (<=.f64 im 1450000000000000050520759569654787314429830756629329065815355572714480894380325477887104123610065520295936) (+.f64 1 (*.f64 (*.f64 re re) -1/2)) (*.f64 (*.f64 im im) (+.f64 1/2 re))))
(if (<=.f64 im 78000000000000) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (+.f64 1/2 re) (*.f64 im im)))
(if (<=.f64 im 78000000000000) (*.f64 1/2 (+.f64 2 (*.f64 im im))) (*.f64 (*.f64 im im) (+.f64 1/2 re)))
(*.f64 1/2 (+.f64 2 (*.f64 im im)))
(*.f64 1/2 2)
1
(*.f64 1/2 3/2)
3/4
(*.f64 1/2 1)
1/2
(*.f64 1/2 3/4)
3/8
(*.f64 1/2 1/2)
1/4
(*.f64 1/2 1/4)
1/8
(*.f64 1/2 1/64)
1/128
(*.f64 1/2 -2)
-1
Compiler

Compiled 361 to 263 computations (27.1% saved)

soundness2.1s (18.8%)

Rules
1768×fma-def
1768×fma-def
1194×fma-neg
1156×fma-neg
1156×fma-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01964
140764
2616364
01964
140764
2616364
01964
140764
2616364
01964
140764
2616364
01964
140764
2616364
01964
140764
2616364
01964
140764
2616364
0125673
1264633
2662633
32760633
01101290
13201160
210071160
352001160
01964
140764
2616364
02753551
17043491
221343383
363493071
02484367
16804279
222984159
358154159
01964
140764
2616364
01101290
13201160
210071160
352001160
01964
140764
2616364
01334
128226
2376626
02753551
17043491
221343383
363493071
Stop Event
node limit
node limit
unsound
node limit
unsound
node limit
node limit
unsound
node limit
node limit
unsound
unsound
unsound
unsound
unsound
unsound
unsound
Compiler

Compiled 444 to 243 computations (45.3% saved)

end1.0ms (0%)

preprocess413.0ms (3.8%)

Remove

(abs im)

(abs re)

Compiler

Compiled 724 to 452 computations (37.6% saved)

Profiling

Loading profile data...