math.exp on complex, real part

Time bar (total: 3.1s)

analyze0.0ms (0%)

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

Compiled 8 to 6 computations (25% saved)

sample1.3s (42.8%)

Results
591.0ms4771×body256valid
308.0ms993×body1024valid
137.0ms1262×body256infinite
122.0ms479×body1024infinite
93.0ms515×body512valid
40.0ms233×body512infinite
2.0msbody2048valid
Bogosity

preprocess97.0ms (3.2%)

Algorithm
egg-herbie
Rules
954×fma-def
822×associate-/r*
686×sqr-pow
504×unswap-sqr
490×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01764
12864
24060
35460
48960
515160
633260
791360
8255360
9314060
10358960
11431060
12539260
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(*.f64 (exp.f64 im) (cos.f64 re))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 (neg.f64 re)) (cos.f64 im))
(*.f64 (cos.f64 im) (exp.f64 (neg.f64 re)))
(/.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 (neg.f64 im)))
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 im) (cos.f64 re))
Symmetry

(abs im)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
1915
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Accurracy
100.0%
Counts
2 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize52.0ms (1.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(cos.f64 im)
Compiler

Compiled 14 to 6 computations (57.1% saved)

series0.0ms (0%)

Counts
1 → 4
Calls

3 calls:

TimeVariablePointExpression
0.0ms
im
@0
(cos.f64 im)
0.0ms
im
@inf
(cos.f64 im)
0.0ms
im
@-inf
(cos.f64 im)

rewrite47.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
738×pow1
708×add-sqr-sqrt
698×*-un-lft-identity
674×add-exp-log
674×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1785
29105
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(cos.f64 im)
Outputs
(+.f64 0 (cos.f64 im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 im)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 im)))))
(+.f64 (*.f64 (cos.f64 (+.f64 1 im)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 1 im)) (sin.f64 1)))
(-.f64 (+.f64 1 (cos.f64 im)) 1)
(*.f64 (cos.f64 im) 1)
(*.f64 1 (cos.f64 im))
(*.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2))
(*.f64 (cbrt.f64 (cos.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)))
(*.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)))
(*.f64 (sqrt.f64 (sqrt.f64 (cos.f64 im))) (sqrt.f64 (pow.f64 (cos.f64 im) 3/2)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 im) 5/2)) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 im) 3/2)) (sqrt.f64 (sqrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 5)) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4)) (cbrt.f64 (cos.f64 im)))
(*.f64 (pow.f64 1 1/3) (cos.f64 im))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (pow.f64 (pow.f64 (cos.f64 im) 5/2) 1/3) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(pow.f64 (cos.f64 im) 1)
(pow.f64 (cbrt.f64 (cos.f64 im)) 3)
(pow.f64 (pow.f64 (cos.f64 im) 2) 1/2)
(pow.f64 (pow.f64 (cos.f64 im) 3) 1/3)
(pow.f64 (sqrt.f64 (cos.f64 im)) 2)
(pow.f64 (E.f64) (log.f64 (cos.f64 im)))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 im)))) (sqrt.f64 (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2)) (cbrt.f64 (log.f64 (cos.f64 im))))
(sqrt.f64 (pow.f64 (cos.f64 im) 2))
(log.f64 (exp.f64 (cos.f64 im)))
(cbrt.f64 (pow.f64 (cos.f64 im) 3))
(expm1.f64 (log1p.f64 (cos.f64 im)))
(exp.f64 (log.f64 (cos.f64 im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 im))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 im))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 im))) 2))
(log1p.f64 (expm1.f64 (cos.f64 im)))

simplify58.0ms (1.9%)

Algorithm
egg-herbie
Rules
954×log-prod
670×associate-*r*
622×associate-+r+
610×associate-+l+
594×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0121569
1241535
2644519
33358519
47008519
Stop Event
node limit
Counts
41 → 55
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(+.f64 0 (cos.f64 im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 im)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 im)))))
(+.f64 (*.f64 (cos.f64 (+.f64 1 im)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 1 im)) (sin.f64 1)))
(-.f64 (+.f64 1 (cos.f64 im)) 1)
(*.f64 (cos.f64 im) 1)
(*.f64 1 (cos.f64 im))
(*.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2))
(*.f64 (cbrt.f64 (cos.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)))
(*.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)))
(*.f64 (sqrt.f64 (sqrt.f64 (cos.f64 im))) (sqrt.f64 (pow.f64 (cos.f64 im) 3/2)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 im) 5/2)) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 im) 3/2)) (sqrt.f64 (sqrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 5)) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4)) (cbrt.f64 (cos.f64 im)))
(*.f64 (pow.f64 1 1/3) (cos.f64 im))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (pow.f64 (pow.f64 (cos.f64 im) 5/2) 1/3) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(pow.f64 (cos.f64 im) 1)
(pow.f64 (cbrt.f64 (cos.f64 im)) 3)
(pow.f64 (pow.f64 (cos.f64 im) 2) 1/2)
(pow.f64 (pow.f64 (cos.f64 im) 3) 1/3)
(pow.f64 (sqrt.f64 (cos.f64 im)) 2)
(pow.f64 (E.f64) (log.f64 (cos.f64 im)))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 im)))) (sqrt.f64 (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2)) (cbrt.f64 (log.f64 (cos.f64 im))))
(sqrt.f64 (pow.f64 (cos.f64 im) 2))
(log.f64 (exp.f64 (cos.f64 im)))
(cbrt.f64 (pow.f64 (cos.f64 im) 3))
(expm1.f64 (log1p.f64 (cos.f64 im)))
(exp.f64 (log.f64 (cos.f64 im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 im))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 im))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 im))) 2))
(log1p.f64 (expm1.f64 (cos.f64 im)))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 im im)))
(fma.f64 -1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 -1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 -1/720 (pow.f64 im 6)))))
(+.f64 0 (cos.f64 im))
(cos.f64 im)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 im))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im)))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 im)))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 im)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 im)))))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 (+.f64 1 im)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 1 im)) (sin.f64 1)))
(fma.f64 (cos.f64 (+.f64 1 im)) (cos.f64 1) (*.f64 (sin.f64 (+.f64 1 im)) (sin.f64 1)))
(-.f64 (+.f64 1 (cos.f64 im)) 1)
(cos.f64 im)
(*.f64 (cos.f64 im) 1)
(cos.f64 im)
(*.f64 1 (cos.f64 im))
(cos.f64 im)
(*.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2))
(cos.f64 im)
(*.f64 (cbrt.f64 (cos.f64 im)) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4)))
(cos.f64 im)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)))
(cos.f64 im)
(*.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)))
(cos.f64 im)
(*.f64 (sqrt.f64 (sqrt.f64 (cos.f64 im))) (sqrt.f64 (pow.f64 (cos.f64 im) 3/2)))
(cos.f64 im)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 im) 5/2)) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (cos.f64 im) 5/2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 8)))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 im) 3/2)) (sqrt.f64 (sqrt.f64 (cos.f64 im))))
(cos.f64 im)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 5)) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(cos.f64 im)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4)) (cbrt.f64 (cos.f64 im)))
(cos.f64 im)
(*.f64 (pow.f64 1 1/3) (cos.f64 im))
(cos.f64 im)
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (cbrt.f64 (cos.f64 im))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 8)))
(*.f64 (pow.f64 (pow.f64 (cos.f64 im) 5/2) 1/3) (sqrt.f64 (cbrt.f64 (cos.f64 im))))
(*.f64 (sqrt.f64 (cbrt.f64 (cos.f64 im))) (cbrt.f64 (pow.f64 (cos.f64 im) 5/2)))
(pow.f64 (cos.f64 im) 1)
(cos.f64 im)
(pow.f64 (cbrt.f64 (cos.f64 im)) 3)
(cos.f64 im)
(pow.f64 (pow.f64 (cos.f64 im) 2) 1/2)
(cos.f64 im)
(pow.f64 (pow.f64 (cos.f64 im) 3) 1/3)
(cos.f64 im)
(pow.f64 (sqrt.f64 (cos.f64 im)) 2)
(cos.f64 im)
(pow.f64 (E.f64) (log.f64 (cos.f64 im)))
(cos.f64 im)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 im)))) (sqrt.f64 (log.f64 (cos.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 im))) 2)) (cbrt.f64 (log.f64 (cos.f64 im))))
(sqrt.f64 (pow.f64 (cos.f64 im) 2))
(cos.f64 im)
(log.f64 (exp.f64 (cos.f64 im)))
(cos.f64 im)
(cbrt.f64 (pow.f64 (cos.f64 im) 3))
(cos.f64 im)
(expm1.f64 (log1p.f64 (cos.f64 im)))
(cos.f64 im)
(exp.f64 (log.f64 (cos.f64 im)))
(cos.f64 im)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 im))) 3))
(cos.f64 im)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 im))) 1/3))
(cos.f64 im)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 im))) 2))
(cos.f64 im)
(log1p.f64 (expm1.f64 (cos.f64 im)))
(cos.f64 im)

eval10.0ms (0.3%)

Compiler

Compiled 641 to 303 computations (52.7% saved)

prune42.0ms (1.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New53255
Fresh000
Picked011
Done000
Total53356
Accurracy
100.0%
Counts
56 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.4%
(*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
71.6%
(*.f64 (exp.f64 re) 1)
Compiler

Compiled 25 to 19 computations (24% saved)

localize40.0ms (1.3%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 42 to 21 computations (50% saved)

series4.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite72.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1100×log-prod
1030×prod-diff
762×fma-def
740×pow-prod-down
542×pow-prod-up
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01242
124438
2303238
Stop Event
node limit
Counts
2 → 97
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(*.f64 -1/2 (*.f64 im im))
Outputs
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(+.f64 (exp.f64 re) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(+.f64 0 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))) 1)
(/.f64 (+.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 im 6) -1/8))) (+.f64 (exp.f64 (+.f64 re re)) (-.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2) (*.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))))
(/.f64 (-.f64 (exp.f64 (+.f64 re re)) (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2)) (-.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (exp.f64 re)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (exp.f64 re)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (exp.f64 re))) (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 (exp.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (exp.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))))
(fma.f64 (exp.f64 re) 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (exp.f64 re) 1 (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)) (exp.f64 re))
(fma.f64 1 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 1 (exp.f64 re) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 -1/2 (*.f64 im im)) (exp.f64 re) (exp.f64 re))
(fma.f64 (cbrt.f64 (exp.f64 re)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (exp.f64 re)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (cbrt.f64 (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (cbrt.f64 (exp.f64 re)) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) 1) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) 1) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (exp.f64 re)) (exp.f64 re))
(fma.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (exp.f64 re)) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) 1) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) 1) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 -1/2)) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 -1/2 im) (*.f64 im (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))) (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (sqrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 im (sqrt.f64 -1/2))) (exp.f64 re))
(fma.f64 (pow.f64 (*.f64 (*.f64 im (sqrt.f64 -1/2)) (cbrt.f64 (exp.f64 re))) 2) (cbrt.f64 (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) -1/2) (*.f64 im im) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 im im)) -1/2 (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4))) (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 im (sqrt.f64 -1/2))) (*.f64 im (sqrt.f64 -1/2)) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 im)) im (exp.f64 re))
(+.f64 0 (*.f64 -1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(-.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1)
(pow.f64 (*.f64 -1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 (pow.f64 im 4) 1/4) 1/2)
(pow.f64 (*.f64 (pow.f64 im 6) -1/8) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 (pow.f64 im 6) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im im))))
(expm1.f64 (*.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im im))) 1))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 6) -1/8)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 -1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 im im))))
(fma.f64 1 (fma.f64 -1/2 (*.f64 im im) 1) -1)
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1 -1)
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) -1)
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) -1)
(fma.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))) -1)
(fma.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 im im)))) -1)

simplify93.0ms (3%)

Algorithm
egg-herbie
Rules
1970×fma-neg
860×distribute-lft-in
792×distribute-rgt-in
792×exp-prod
706×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02553585
16413463
218243329
364193329
Stop Event
node limit
Counts
133 → 141
Calls
Call 1
Inputs
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (pow.f64 re 2))) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (pow.f64 re 2))) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(exp.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(+.f64 (exp.f64 re) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(+.f64 0 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))) 1)
(/.f64 (+.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 im 6) -1/8))) (+.f64 (exp.f64 (+.f64 re re)) (-.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2) (*.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))))
(/.f64 (-.f64 (exp.f64 (+.f64 re re)) (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2)) (-.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (exp.f64 re)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (exp.f64 re)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (exp.f64 re))) (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 (exp.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (exp.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 1/3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))))
(fma.f64 (exp.f64 re) 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (exp.f64 re) 1 (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)) (exp.f64 re))
(fma.f64 1 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 1 (exp.f64 re) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 -1/2 (*.f64 im im)) (exp.f64 re) (exp.f64 re))
(fma.f64 (cbrt.f64 (exp.f64 re)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (exp.f64 re)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (cbrt.f64 (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (cbrt.f64 (exp.f64 re)) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) 1) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) 1) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (exp.f64 re)) (exp.f64 re))
(fma.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (exp.f64 re)) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) 1) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) 1) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 -1/2)) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 -1/2 im) (*.f64 im (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))) (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (sqrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 im (sqrt.f64 -1/2))) (exp.f64 re))
(fma.f64 (pow.f64 (*.f64 (*.f64 im (sqrt.f64 -1/2)) (cbrt.f64 (exp.f64 re))) 2) (cbrt.f64 (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) -1/2) (*.f64 im im) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 im im)) -1/2 (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4))) (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 im (sqrt.f64 -1/2))) (*.f64 im (sqrt.f64 -1/2)) (exp.f64 re))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 im)) im (exp.f64 re))
(+.f64 0 (*.f64 -1/2 (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(-.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1)
(pow.f64 (*.f64 -1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 (pow.f64 im 4) 1/4) 1/2)
(pow.f64 (*.f64 (pow.f64 im 6) -1/8) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 im im)))))
(cbrt.f64 (*.f64 (pow.f64 im 6) -1/8))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im im))))
(expm1.f64 (*.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im im))) 1))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 6) -1/8)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 -1/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 im im))))
(fma.f64 1 (fma.f64 -1/2 (*.f64 im im) 1) -1)
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1 -1)
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) -1)
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) -1)
(fma.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))) -1)
(fma.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 im im)))) -1)
Outputs
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1))))
(*.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (pow.f64 re 2))) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re))))
(fma.f64 1/2 (*.f64 (*.f64 re re) (fma.f64 -1/2 (*.f64 im im) 1)) (+.f64 1 (fma.f64 -1/2 (*.f64 im im) (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)))))
(fma.f64 1/2 (*.f64 (*.f64 re re) (fma.f64 -1/2 (*.f64 im im) 1)) (*.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 im im) 1)))
(*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 (+.f64 1 re) (*.f64 1/2 (*.f64 re re))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (pow.f64 re 2))) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 (*.f64 re re) (fma.f64 -1/2 (*.f64 im im) 1)) (+.f64 1 (fma.f64 -1/2 (*.f64 im im) (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 1/2 (*.f64 (*.f64 re re) (fma.f64 -1/2 (*.f64 im im) 1)) (*.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 im im) 1))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 -1/2 (*.f64 im im) 1)) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 (+.f64 1 re) (*.f64 1/2 (*.f64 re re)))))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(exp.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (*.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (*.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (exp.f64 re) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 0 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))) 1)
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (+.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 im 6) -1/8))) (+.f64 (exp.f64 (+.f64 re re)) (-.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2) (*.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 (exp.f64 re) 3) (*.f64 (pow.f64 im 6) -1/8))) (+.f64 (exp.f64 (+.f64 re re)) (-.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2) (*.f64 (exp.f64 (+.f64 re re)) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (pow.f64 (exp.f64 re) 3)) (+.f64 (pow.f64 (exp.f64 2) re) (*.f64 (*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re)))) (-.f64 (*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re)))) (exp.f64 re)))))
(/.f64 (*.f64 (pow.f64 (exp.f64 3) re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 (pow.f64 (exp.f64 re) 2) (*.f64 (pow.f64 (exp.f64 re) 2) (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))))
(/.f64 (-.f64 (exp.f64 (+.f64 re re)) (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2)) (-.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 2) re) (pow.f64 (*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re)))) 2)) (+.f64 (exp.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (exp.f64 re))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 re) 2) (*.f64 (pow.f64 (exp.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4))) (*.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(/.f64 (*.f64 (exp.f64 re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 im (*.f64 im 1/2)))))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (exp.f64 re) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 (exp.f64 re) (-.f64 1 (*.f64 (pow.f64 im 4) 1/4))) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) (exp.f64 re)))
(*.f64 (/.f64 (exp.f64 re) (fma.f64 (*.f64 im 1/2) im 1)) (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)))
(*.f64 (exp.f64 re) (/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 1/2 (*.f64 im im) 1)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (exp.f64 re)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (exp.f64 re) (fma.f64 (pow.f64 im 6) -1/8 1)) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 im (*.f64 im 1/2)))))
(*.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 (exp.f64 re) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (exp.f64 re)) (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(/.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) (exp.f64 re)))
(*.f64 (/.f64 (exp.f64 re) (fma.f64 (*.f64 im 1/2) im 1)) (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)))
(*.f64 (exp.f64 re) (/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 1/2 (*.f64 im im) 1)))
(pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 1)
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))) 3)
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 2) 1/2)
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 3) 1/3)
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))) 2)
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 2))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 re)))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (exp.f64 re))) (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 (exp.f64 re))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (expm1.f64 (exp.f64 re)))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) 3))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 3))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 3 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 1/3))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 2))
(exp.f64 (+.f64 re (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (exp.f64 re) 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (exp.f64 re) 1 (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (exp.f64 re) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 -1/2 (*.f64 im im)) (exp.f64 re) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (exp.f64 re)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (exp.f64 re)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (cbrt.f64 (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (cbrt.f64 (exp.f64 re)) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) 1) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) 1) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (exp.f64 re)) (exp.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (exp.f64 re) (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(*.f64 (exp.f64 re) (+.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (exp.f64 re)) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) 1) (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) 1) (*.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 im (sqrt.f64 -1/2)) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (exp.f64 re)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 -1/2 im) (*.f64 im (exp.f64 re)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))))) (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (sqrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 im (sqrt.f64 -1/2))) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (*.f64 (*.f64 im (sqrt.f64 -1/2)) (cbrt.f64 (exp.f64 re))) 2) (cbrt.f64 (exp.f64 re)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (exp.f64 re) -1/2) (*.f64 im im) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 im im)) -1/2 (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (exp.f64 re) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4))) (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (exp.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (*.f64 (exp.f64 re) (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) (exp.f64 re))
(*.f64 (exp.f64 re) (+.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/4)) (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 im (sqrt.f64 -1/2))) (*.f64 im (sqrt.f64 -1/2)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 im)) im (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 0 (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))))
(*.f64 -1/2 (*.f64 im im))
(-.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1)
(*.f64 -1/2 (*.f64 im im))
(pow.f64 (*.f64 -1/2 (*.f64 im im)) 1)
(*.f64 -1/2 (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) 3)
(*.f64 -1/2 (*.f64 im im))
(pow.f64 (*.f64 (pow.f64 im 4) 1/4) 1/2)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(pow.f64 (*.f64 (pow.f64 im 6) -1/8) 1/3)
(*.f64 -1/2 (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 -1/2)) 2)
(*.f64 -1/2 (*.f64 im im))
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 im)))
(*.f64 -1/2 (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 -1/2 (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 im 6) -1/8))
(*.f64 -1/2 (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im im))))
(*.f64 -1/2 (*.f64 im im))
(expm1.f64 (*.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 1))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 1) 1))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))) 3))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 6) -1/8)) 1/3))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im im))) 3) 1/3))
(*.f64 -1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 -1/2))) 2))
(*.f64 -1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 im im))))
(*.f64 -1/2 (*.f64 im im))
(fma.f64 1 (fma.f64 -1/2 (*.f64 im im) 1) -1)
(*.f64 -1/2 (*.f64 im im))
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1 -1)
(*.f64 -1/2 (*.f64 im im))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) -1)
(*.f64 -1/2 (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) -1)
(*.f64 -1/2 (*.f64 im im))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) -1)
(fma.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))) -1)
(fma.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (/.f64 1 (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 im (*.f64 im 1/2))))) -1)
(+.f64 -1 (/.f64 (fma.f64 (pow.f64 im 6) -1/8 1) (+.f64 1 (fma.f64 (pow.f64 im 4) 1/4 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 (-.f64 1 (*.f64 (pow.f64 im 4) 1/4)) (/.f64 1 (+.f64 1 (*.f64 1/2 (*.f64 im im)))) -1)
(fma.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (/.f64 1 (fma.f64 (*.f64 im 1/2) im 1)) -1)
(+.f64 -1 (/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 1/2 (*.f64 im im) 1)))

eval39.0ms (1.3%)

Compiler

Compiled 2372 to 1381 computations (41.8% saved)

prune18.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1383141
Fresh000
Picked202
Done011
Total1404144
Accurracy
100.0%
Counts
144 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
31.7%
(fma.f64 -1/2 (*.f64 im im) 1)
23.2%
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
71.6%
(exp.f64 re)
Compiler

Compiled 29 to 21 computations (27.6% saved)

localize42.0ms (1.4%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 -1/2 (*.f64 im im))
89.5%
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
Compiler

Compiled 39 to 16 computations (59% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite54.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1772×pow1
1622×add-exp-log
1622×log1p-expm1-u
1622×expm1-log1p-u
1584×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
119823
2228623
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
Outputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) -1/2)) im) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3) (pow.f64 (exp.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (+.f64 re (log.f64 (*.f64 -1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))

simplify64.0ms (2.1%)

Algorithm
egg-herbie
Rules
1264×unswap-sqr
1086×fma-def
1054×associate-*r/
1006×associate-*l/
958×distribute-lft-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062947
1172921
2613885
31646877
44645877
Stop Event
node limit
Counts
37 → 36
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) -1/2)) im) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3) (pow.f64 (exp.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (+.f64 re (log.f64 (*.f64 -1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
Outputs
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (+.f64 (*.f64 (*.f64 im im) re) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 re) -1/2))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(fma.f64 -1/2 (*.f64 (*.f64 im im) re) (fma.f64 -1/2 (*.f64 im im) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re)))))
(fma.f64 -1/2 (*.f64 im (*.f64 im re)) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) -1/2)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 re) (fma.f64 -1/4 (*.f64 re re) -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re (fma.f64 re (*.f64 re -1/4) -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/4 (*.f64 re re) (fma.f64 -1/2 re -1/2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 (*.f64 im im) re) (fma.f64 -1/2 (*.f64 im im) (*.f64 -1/4 (*.f64 (*.f64 im im) (*.f64 re re))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/4 (*.f64 re re)) -1/2)) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/2 re))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/4 (*.f64 re re) -1/2) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 -1/2 re))))
(*.f64 (*.f64 im im) (fma.f64 re (fma.f64 (*.f64 re re) -1/12 -1/2) (fma.f64 re (*.f64 re -1/4) -1/2)))
(*.f64 (*.f64 im im) (fma.f64 re (fma.f64 (*.f64 re re) -1/12 -1/2) (fma.f64 -1/4 (*.f64 re re) -1/2)))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) 1)
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 1)
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))) 3)
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 3) 1/3)
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) -1/2)) im) 2)
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 2))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (*.f64 -1/2 (*.f64 im im))))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im))) 3))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3) (pow.f64 (exp.f64 re) 3)))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 re)))
(*.f64 (*.f64 im im) (*.f64 -1/2 (exp.f64 re)))
(*.f64 -1/2 (*.f64 im (*.f64 im (exp.f64 re))))

eval19.0ms (0.6%)

Compiler

Compiled 1024 to 615 computations (39.9% saved)

prune11.0ms (0.3%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New72274
Fresh000
Picked033
Done011
Total72678
Accurracy
100.0%
Counts
78 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
31.7%
(fma.f64 -1/2 (*.f64 im im) 1)
11.3%
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 re) -1/2))
23.2%
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
8.4%
(*.f64 -1/2 (*.f64 im im))
71.6%
(exp.f64 re)
Compiler

Compiled 47 to 34 computations (27.7% saved)

localize97.0ms (3.2%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 36 to 19 computations (47.2% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite66.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
966×log-prod
862×prod-exp
706×pow-prod-down
636×prod-diff
454×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
120021
2263821
Stop Event
node limit
Counts
1 → 69
Calls
Call 1
Inputs
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 re) -1/2))
Outputs
(+.f64 (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(+.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(+.f64 0 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))
(+.f64 (*.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 1) (*.f64 (*.f64 im (*.f64 im -1/2)) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))) 1)
(/.f64 (+.f64 (*.f64 (*.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 6)) (pow.f64 (*.f64 im (*.f64 im -1/2)) 3)) (+.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 2) (-.f64 (pow.f64 (*.f64 im (*.f64 im -1/2)) 2) (*.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 2) (pow.f64 (*.f64 im (*.f64 im -1/2)) 2)) (-.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2))))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 -1/8 (pow.f64 re 3) -1/8)) (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 re (*.f64 re 1/4) -1/4)) (fma.f64 -1/2 re 1/2))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 re 3) -1/8) (*.f64 im im)) (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)))
(/.f64 (*.f64 (fma.f64 re (*.f64 re 1/4) -1/4) (*.f64 im im)) (fma.f64 -1/2 re 1/2))
(pow.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im (fma.f64 -1/2 re -1/2)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (fma.f64 -1/2 re -1/2))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (fma.f64 -1/2 re -1/2))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(exp.f64 (+.f64 (log.f64 (fma.f64 -1/2 re -1/2)) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (log.f64 (fma.f64 -1/2 re -1/2)) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (log.f64 (*.f64 im (fma.f64 -1/2 re -1/2))) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(fma.f64 im (*.f64 im -1/2) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 im (*.f64 im (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 im im) -1/2 (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (*.f64 im im) (*.f64 -1/2 re) (*.f64 im (*.f64 im -1/2)))
(fma.f64 -1/2 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 -1/2 (*.f64 re (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 re (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 -1/2 re) (*.f64 im im) (*.f64 im (*.f64 im -1/2)))
(fma.f64 1 (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 re)) 2) (*.f64 (cbrt.f64 (*.f64 -1/2 re)) (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) -1/2) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (sqrt.f64 (*.f64 -1/2 re)) (*.f64 (sqrt.f64 (*.f64 -1/2 re)) (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 im (*.f64 im -1/2)) re (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 1 (*.f64 (*.f64 im (*.f64 im -1/2)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im -1/2))) 2) (cbrt.f64 (*.f64 im (*.f64 im -1/2))) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re)))) 2) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re)))) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (sqrt.f64 (*.f64 im (*.f64 im -1/2))) (sqrt.f64 (*.f64 im (*.f64 im -1/2))) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 -1/2 re))) (*.f64 im (sqrt.f64 (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 -1/2 im) im (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (*.f64 (*.f64 -1/2 re) im) im (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 (*.f64 -1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 (*.f64 im im) re) -1/2 (*.f64 im (*.f64 im -1/2)))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 -1/2 re))) 2) (cbrt.f64 (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 -1/2 re))) (sqrt.f64 (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 -1/2 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))

simplify71.0ms (2.3%)

Algorithm
egg-herbie
Rules
950×cancel-sign-sub-inv
934×fma-def
764×times-frac
688×fma-neg
676×distribute-rgt-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01992361
14972317
212102267
341412257
Stop Event
node limit
Counts
93 → 98
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(+.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(+.f64 0 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))
(+.f64 (*.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 1) (*.f64 (*.f64 im (*.f64 im -1/2)) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))) 1)
(/.f64 (+.f64 (*.f64 (*.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 6)) (pow.f64 (*.f64 im (*.f64 im -1/2)) 3)) (+.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 2) (-.f64 (pow.f64 (*.f64 im (*.f64 im -1/2)) 2) (*.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 2) (pow.f64 (*.f64 im (*.f64 im -1/2)) 2)) (-.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2))))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 -1/8 (pow.f64 re 3) -1/8)) (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 re (*.f64 re 1/4) -1/4)) (fma.f64 -1/2 re 1/2))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 re 3) -1/8) (*.f64 im im)) (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)))
(/.f64 (*.f64 (fma.f64 re (*.f64 re 1/4) -1/4) (*.f64 im im)) (fma.f64 -1/2 re 1/2))
(pow.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im (fma.f64 -1/2 re -1/2)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (fma.f64 -1/2 re -1/2))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (fma.f64 -1/2 re -1/2))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(exp.f64 (+.f64 (log.f64 (fma.f64 -1/2 re -1/2)) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (log.f64 (fma.f64 -1/2 re -1/2)) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (log.f64 (*.f64 im (fma.f64 -1/2 re -1/2))) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(fma.f64 im (*.f64 im -1/2) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 im (*.f64 im (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 im im) -1/2 (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (*.f64 im im) (*.f64 -1/2 re) (*.f64 im (*.f64 im -1/2)))
(fma.f64 -1/2 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 -1/2 (*.f64 re (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 re (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 -1/2 re) (*.f64 im im) (*.f64 im (*.f64 im -1/2)))
(fma.f64 1 (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 re)) 2) (*.f64 (cbrt.f64 (*.f64 -1/2 re)) (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) -1/2) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (sqrt.f64 (*.f64 -1/2 re)) (*.f64 (sqrt.f64 (*.f64 -1/2 re)) (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 im (*.f64 im -1/2)) re (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 1 (*.f64 (*.f64 im (*.f64 im -1/2)) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im -1/2))) 2) (cbrt.f64 (*.f64 im (*.f64 im -1/2))) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re)))) 2) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re)))) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (sqrt.f64 (*.f64 im (*.f64 im -1/2))) (sqrt.f64 (*.f64 im (*.f64 im -1/2))) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 -1/2 re))) (*.f64 im (sqrt.f64 (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 -1/2 im) im (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (*.f64 (*.f64 -1/2 re) im) im (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 (*.f64 -1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 (*.f64 im im) re) -1/2 (*.f64 im (*.f64 im -1/2)))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 -1/2 re))) 2) (cbrt.f64 (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 -1/2 re))) (sqrt.f64 (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (*.f64 -1/2 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
Outputs
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 (-.f64 (*.f64 -1/2 re) 1/2) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 -1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(*.f64 -1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 -1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (*.f64 -1/2 (pow.f64 im 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 0 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (*.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 1) (*.f64 (*.f64 im (*.f64 im -1/2)) 1))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 -1/2 (fma.f64 re im im))))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))) 1)
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(/.f64 (+.f64 (*.f64 (*.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 6)) (pow.f64 (*.f64 im (*.f64 im -1/2)) 3)) (+.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 2) (-.f64 (pow.f64 (*.f64 im (*.f64 im -1/2)) 2) (*.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2))))))
(/.f64 (fma.f64 (*.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 6) (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 -1/2 re)) 2) (-.f64 (pow.f64 (*.f64 -1/2 (*.f64 im im)) 2) (*.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (*.f64 im im) (*.f64 -1/2 re))))))
(/.f64 (fma.f64 (*.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 6) (*.f64 -1/8 (pow.f64 (*.f64 im im) 3))) (+.f64 (pow.f64 (*.f64 -1/2 (*.f64 re (*.f64 im im))) 2) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 (*.f64 -1/2 (*.f64 re (*.f64 im im))) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 -1/8 (+.f64 (*.f64 (pow.f64 re 3) (pow.f64 im 6)) (pow.f64 im 6))) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 -1/2 (*.f64 re (*.f64 im im))) (*.f64 im (*.f64 im (fma.f64 -1/2 re 1/2))))))
(/.f64 (*.f64 (pow.f64 im 6) (fma.f64 -1/8 (pow.f64 re 3) -1/8)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 -1/2 (*.f64 re (*.f64 im im))) (*.f64 im (*.f64 im (fma.f64 -1/2 re 1/2))))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 2) (pow.f64 (*.f64 im (*.f64 im -1/2)) 2)) (-.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 -1/8 (pow.f64 re 3) -1/8)) (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)))
(/.f64 (*.f64 im im) (/.f64 (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)) (fma.f64 -1/8 (pow.f64 re 3) -1/8)))
(*.f64 (/.f64 (*.f64 im im) (+.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re -1/4))) (fma.f64 -1/8 (pow.f64 re 3) -1/8))
(*.f64 (/.f64 (*.f64 im (fma.f64 -1/8 (pow.f64 re 3) -1/8)) (fma.f64 re -1/4 (fma.f64 re (*.f64 re 1/4) 1/4))) im)
(*.f64 (*.f64 im im) (/.f64 (fma.f64 -1/8 (pow.f64 re 3) -1/8) (fma.f64 re -1/4 (fma.f64 re (*.f64 re 1/4) 1/4))))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 re (*.f64 re 1/4) -1/4)) (fma.f64 -1/2 re 1/2))
(/.f64 (*.f64 im im) (/.f64 (fma.f64 -1/2 re 1/2) (fma.f64 re (*.f64 re 1/4) -1/4)))
(*.f64 (/.f64 (*.f64 im im) (fma.f64 -1/2 re 1/2)) (fma.f64 re (*.f64 re 1/4) -1/4))
(*.f64 (/.f64 im (/.f64 (fma.f64 -1/2 re 1/2) (fma.f64 (*.f64 re re) 1/4 -1/4))) im)
(*.f64 (*.f64 im im) (/.f64 (fma.f64 re (*.f64 re 1/4) -1/4) (fma.f64 -1/2 re 1/2)))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 re 3) -1/8) (*.f64 im im)) (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)))
(/.f64 (*.f64 im im) (/.f64 (-.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re 1/4)) (fma.f64 -1/8 (pow.f64 re 3) -1/8)))
(*.f64 (/.f64 (*.f64 im im) (+.f64 (fma.f64 re (*.f64 re 1/4) 1/4) (*.f64 re -1/4))) (fma.f64 -1/8 (pow.f64 re 3) -1/8))
(*.f64 (/.f64 (*.f64 im (fma.f64 -1/8 (pow.f64 re 3) -1/8)) (fma.f64 re -1/4 (fma.f64 re (*.f64 re 1/4) 1/4))) im)
(*.f64 (*.f64 im im) (/.f64 (fma.f64 -1/8 (pow.f64 re 3) -1/8) (fma.f64 re -1/4 (fma.f64 re (*.f64 re 1/4) 1/4))))
(/.f64 (*.f64 (fma.f64 re (*.f64 re 1/4) -1/4) (*.f64 im im)) (fma.f64 -1/2 re 1/2))
(/.f64 (*.f64 im im) (/.f64 (fma.f64 -1/2 re 1/2) (fma.f64 re (*.f64 re 1/4) -1/4)))
(*.f64 (/.f64 (*.f64 im im) (fma.f64 -1/2 re 1/2)) (fma.f64 re (*.f64 re 1/4) -1/4))
(*.f64 (/.f64 im (/.f64 (fma.f64 -1/2 re 1/2) (fma.f64 (*.f64 re re) 1/4 -1/4))) im)
(*.f64 (*.f64 im im) (/.f64 (fma.f64 re (*.f64 re 1/4) -1/4) (fma.f64 -1/2 re 1/2)))
(pow.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))) 1)
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 3)
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4) 1/2)
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6) 1/3)
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 2)
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 4))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (fma.f64 -1/2 re -1/2))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))) 1) 1))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2))))) 3))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2))) 6)) 1/3))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/2 re -1/2)))) 2))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im (fma.f64 -1/2 re -1/2)))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (fma.f64 -1/2 re -1/2))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (fma.f64 -1/2 re -1/2))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (log.f64 (fma.f64 -1/2 re -1/2)) (*.f64 (log.f64 im) 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (log.f64 (fma.f64 -1/2 re -1/2)) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 2 (log.f64 im))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 (log.f64 im) 2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (fma.f64 -1/2 re -1/2)) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(exp.f64 (+.f64 (log.f64 (*.f64 im (fma.f64 -1/2 re -1/2))) (*.f64 (log.f64 im) 1)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 im (*.f64 im -1/2) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 im (*.f64 im (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 im im) -1/2 (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 im im) (*.f64 -1/2 re) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 -1/2 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 -1/2 (*.f64 re (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 re (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 -1/2 re) (*.f64 im im) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 1 (*.f64 im (*.f64 im -1/2)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 re)) 2) (*.f64 (cbrt.f64 (*.f64 -1/2 re)) (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 -1/2 re) (cbrt.f64 (*.f64 im im))) (*.f64 -1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 (cbrt.f64 (*.f64 im im)) re)) (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (+.f64 (*.f64 im im) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 re (cbrt.f64 (pow.f64 im 4))))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) -1/2) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/2 (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im im) (*.f64 -1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/2 (cbrt.f64 (*.f64 im im))) (*.f64 -1/2 (*.f64 re (*.f64 im im))))
(*.f64 -1/2 (+.f64 (*.f64 re (*.f64 im im)) (*.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (*.f64 im im)))))
(fma.f64 (sqrt.f64 (*.f64 -1/2 re)) (*.f64 (sqrt.f64 (*.f64 -1/2 re)) (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 im (*.f64 im -1/2)) re (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re))) 1 (*.f64 (*.f64 im (*.f64 im -1/2)) 1))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im -1/2))) 2) (cbrt.f64 (*.f64 im (*.f64 im -1/2))) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re)))) 2) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 -1/2 re)))) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (sqrt.f64 (*.f64 im (*.f64 im -1/2))) (sqrt.f64 (*.f64 im (*.f64 im -1/2))) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 -1/2 re))) (*.f64 im (sqrt.f64 (*.f64 -1/2 re))) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 -1/2 im) im (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 (*.f64 -1/2 re) im) im (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 (*.f64 -1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im -1/2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 -1/2 re) (cbrt.f64 (*.f64 im im))) (*.f64 -1/2 (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 (cbrt.f64 (*.f64 im im)) re)) (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (+.f64 (*.f64 im im) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 re (cbrt.f64 (pow.f64 im 4))))))
(fma.f64 (*.f64 (*.f64 im im) re) -1/2 (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 -1/2 re))) 2) (cbrt.f64 (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 -1/2 re))) (sqrt.f64 (*.f64 -1/2 re)) (*.f64 im (*.f64 im -1/2)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 im (*.f64 -1/2 (fma.f64 re im im)))
(fma.f64 (*.f64 -1/2 (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 -1/2 re))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/2 (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im im) (*.f64 -1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/2 (cbrt.f64 (*.f64 im im))) (*.f64 -1/2 (*.f64 re (*.f64 im im))))
(*.f64 -1/2 (+.f64 (*.f64 re (*.f64 im im)) (*.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (*.f64 im im)))))

eval38.0ms (1.2%)

Compiler

Compiled 1964 to 1305 computations (33.6% saved)

prune26.0ms (0.9%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New1351136
Fresh000
Picked022
Done044
Total1357142
Accurracy
100.0%
Counts
142 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
31.7%
(fma.f64 -1/2 (*.f64 im im) 1)
11.3%
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 re) -1/2))
23.2%
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
11.4%
(*.f64 -1/2 (*.f64 re (*.f64 im im)))
8.4%
(*.f64 -1/2 (*.f64 im im))
71.6%
(exp.f64 re)
Compiler

Compiled 114 to 69 computations (39.5% saved)

regimes25.0ms (0.8%)

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

5 calls:

6.0ms
(cos.f64 im)
6.0ms
re
5.0ms
im
3.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (exp.f64 re) (cos.f64 im))
100.0%1(exp.f64 re)
100.0%1(cos.f64 im)
Compiler

Compiled 79 to 44 computations (44.3% saved)

regimes15.0ms (0.5%)

Counts
8 → 1
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 im im))
(*.f64 -1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/2 re) -1/2))
(exp.f64 re)
(*.f64 (exp.f64 re) 1)
(fma.f64 -1/2 (*.f64 im im) 1)
(*.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (exp.f64 re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
Outputs
(exp.f64 re)
Calls

3 calls:

6.0ms
re
5.0ms
im
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
71.6%1re
71.6%1im
71.6%1(exp.f64 re)
Compiler

Compiled 63 to 34 computations (46% saved)

regimes8.0ms (0.2%)

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

2 calls:

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

Compiled 29 to 17 computations (41.4% saved)

regimes8.0ms (0.3%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

5.0ms
im
2.0ms
re
Results
AccuracySegmentsBranch
8.4%1im
8.4%1re
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
11752
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
(*.f64 -1/2 (*.f64 re (*.f64 im im)))
(*.f64 -1/2 (*.f64 im im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
(*.f64 -1/2 (*.f64 re (*.f64 im im)))
(*.f64 -1/2 (*.f64 im im))
Compiler

Compiled 27 to 19 computations (29.6% saved)

soundness582.0ms (19.1%)

Rules
1970×fma-neg
1264×unswap-sqr
1264×unswap-sqr
1086×fma-def
1086×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0121569
1241535
2644519
33358519
47008519
02553585
16413463
218243329
364193329
062947
1172921
2613885
31646877
44645877
062947
1172921
2613885
31646877
44645877
01992361
14972317
212102267
341412257
Stop Event
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 138 to 92 computations (33.3% saved)

end36.0ms (1.2%)

Remove

(abs im)

Compiler

Compiled 70 to 42 computations (40% saved)

Profiling

Loading profile data...