Details

Time bar (total: 2.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 10 to 6 computations (40% saved)

sample667.0ms (32%)

Results
371.0ms4686×body256valid
285.0ms3570×body256infinite
Bogosity

preprocess171.0ms (8.2%)

Algorithm
egg-herbie
Rules
2428×fma-def
1090×sub-neg
988×distribute-rgt-in
972×distribute-lft-in
832×distribute-lft-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0838
12838
24938
310538
427238
581038
6207538
7382138
8545838
9603938
10615238
11626638
12634638
13634638
14772738
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (*.f64 re re))
Outputs
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (*.f64 re re))
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify171.0ms (8.2%)

Algorithm
egg-herbie
Rules
2086×fma-def
1386×distribute-lft-out
998×distribute-lft-out--
986×unsub-neg
954×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11819
23019
35919
413419
538419
684319
7170619
8385019
9550819
10638219
11675119
12698119
13709519
14709519
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (*.f64 re re) (*.f64 im im))
Outputs
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 re re (*.f64 im (neg.f64 im)))

eval0.0ms (0%)

Compiler

Compiled 16 to 8 computations (50% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Accurracy
58.2%
Counts
3 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
58.2%
(fma.f64 re re (*.f64 im (neg.f64 im)))
58.2%
(-.f64 (*.f64 re re) (*.f64 im im))
Compiler

Compiled 18 to 10 computations (44.4% saved)

localize6.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
96.1%
(-.f64 (*.f64 re re) (*.f64 im im))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite56.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1680×pow1
1560×add-exp-log
1560×log1p-expm1-u
1560×expm1-log1p-u
1522×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
116019
2224719
Stop Event
node limit
Counts
1 → 46
Calls
Call 1
Inputs
(-.f64 (*.f64 re re) (*.f64 im im))
Outputs
(+.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 (*.f64 im (neg.f64 im)) 1))
(+.f64 (*.f64 re re) (+.f64 (*.f64 im (neg.f64 im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (*.f64 im (neg.f64 im)) 1 (*.f64 im im)))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im)))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 1))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(+.f64 (*.f64 im (neg.f64 im)) (*.f64 re re))
(+.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 1 (-.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(*.f64 (+.f64 re im) (-.f64 re im))
(*.f64 (-.f64 re im) (+.f64 re im))
(/.f64 1 (/.f64 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))) (-.f64 (pow.f64 re 6) (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (neg.f64 (fma.f64 re re (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 (*.f64 im (neg.f64 im)) 3)) (+.f64 (pow.f64 re 4) (-.f64 (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im))) (*.f64 (*.f64 re re) (*.f64 im (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 re 4) (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im)))) (-.f64 (*.f64 re re) (*.f64 im (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))) (-.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re im)) (-.f64 re im)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(exp.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(fma.f64 re re (*.f64 im (neg.f64 im)))
(fma.f64 1 (*.f64 re re) (*.f64 im (neg.f64 im)))
(fma.f64 1 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2) (*.f64 im (neg.f64 im)))
(fma.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (+.f64 re im) (-.f64 re im) (fma.f64 (neg.f64 im) im (*.f64 im im)))

simplify50.0ms (2.4%)

Algorithm
egg-herbie
Rules
1818×fma-def
742×distribute-lft-in
734×distribute-rgt-in
422×cancel-sign-sub-inv
340×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01282078
13441964
215241810
Stop Event
node limit
Counts
70 → 67
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(*.f64 -1 (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(*.f64 -1 (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 (*.f64 im (neg.f64 im)) 1))
(+.f64 (*.f64 re re) (+.f64 (*.f64 im (neg.f64 im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (*.f64 im (neg.f64 im)) 1 (*.f64 im im)))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im)))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 1))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(+.f64 (*.f64 im (neg.f64 im)) (*.f64 re re))
(+.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 1 (-.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(*.f64 (+.f64 re im) (-.f64 re im))
(*.f64 (-.f64 re im) (+.f64 re im))
(/.f64 1 (/.f64 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))) (-.f64 (pow.f64 re 6) (pow.f64 im 6))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (neg.f64 (fma.f64 re re (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 (*.f64 im (neg.f64 im)) 3)) (+.f64 (pow.f64 re 4) (-.f64 (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im))) (*.f64 (*.f64 re re) (*.f64 im (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 re 4) (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im)))) (-.f64 (*.f64 re re) (*.f64 im (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))) (-.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re im)) (-.f64 re im)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(exp.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(fma.f64 re re (*.f64 im (neg.f64 im)))
(fma.f64 1 (*.f64 re re) (*.f64 im (neg.f64 im)))
(fma.f64 1 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2) (*.f64 im (neg.f64 im)))
(fma.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (+.f64 re im) (-.f64 re im) (fma.f64 (neg.f64 im) im (*.f64 im im)))
Outputs
(*.f64 -1 (pow.f64 im 2))
(*.f64 im (neg.f64 im))
(neg.f64 (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 -1 (pow.f64 im 2))
(*.f64 im (neg.f64 im))
(neg.f64 (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 -1 (pow.f64 im 2))
(*.f64 im (neg.f64 im))
(neg.f64 (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 re re) (*.f64 (*.f64 im (neg.f64 im)) 1))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 re re) (+.f64 (*.f64 im (neg.f64 im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (*.f64 im (neg.f64 im)) 1 (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im)))
(fma.f64 (+.f64 im re) (-.f64 re im) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im)))
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 im im))) (cbrt.f64 (pow.f64 im 4)) (fma.f64 re re 0))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 1))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im (neg.f64 im)) (*.f64 re re))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1 (-.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) 1) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (+.f64 (pow.f64 (*.f64 im re) 2) (pow.f64 re 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 im im (*.f64 re re)))
(*.f64 (+.f64 re im) (-.f64 re im))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (-.f64 re im) (+.f64 re im))
(-.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (/.f64 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))) (-.f64 (pow.f64 re 6) (pow.f64 im 6))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) 1) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (+.f64 (pow.f64 (*.f64 im re) 2) (pow.f64 re 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) 1) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (+.f64 (pow.f64 (*.f64 im re) 2) (pow.f64 re 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 im im (*.f64 re re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) 1) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (+.f64 (pow.f64 (*.f64 im re) 2) (pow.f64 re 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (neg.f64 (fma.f64 re re (*.f64 im im))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 im im (*.f64 re re)))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 (*.f64 im (neg.f64 im)) 3)) (+.f64 (pow.f64 re 4) (-.f64 (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im))) (*.f64 (*.f64 re re) (*.f64 im (neg.f64 im))))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) 1) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (+.f64 (pow.f64 (*.f64 im re) 2) (pow.f64 re 4))))
(/.f64 (-.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (+.f64 (pow.f64 im 4) (pow.f64 (*.f64 im re) 2))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (-.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) (pow.f64 (*.f64 0 (*.f64 im im)) 3)) (fma.f64 (*.f64 0 (*.f64 im im)) (-.f64 (*.f64 0 (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)))
(/.f64 (+.f64 0 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3)) (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2))
(/.f64 (-.f64 (pow.f64 re 4) (*.f64 (*.f64 im (neg.f64 im)) (*.f64 im (neg.f64 im)))) (-.f64 (*.f64 re re) (*.f64 im (neg.f64 im))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (fma.f64 re re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 re re (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))) (-.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (*.f64 (*.f64 0 (*.f64 im im)) (*.f64 0 (*.f64 im im)))) (fma.f64 (+.f64 im re) (-.f64 re im) (*.f64 0 (*.f64 im im))))
(/.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (-.f64 (*.f64 re re) (*.f64 im im)))
(pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 3)
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) 1/3)
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 2)
(-.f64 (*.f64 re re) (*.f64 im im))
(sqrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2))
(-.f64 (*.f64 re re) (*.f64 im im))
(log.f64 (pow.f64 (exp.f64 (+.f64 re im)) (-.f64 re im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3))
(-.f64 (*.f64 re re) (*.f64 im im))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (*.f64 re re) (*.f64 im im))
(exp.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (*.f64 re re) (*.f64 im im))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 re re (*.f64 im (neg.f64 im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 1 (*.f64 re re) (*.f64 im (neg.f64 im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 1 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(fma.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 0 (*.f64 im im)))
(fma.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2)) 0)
(fma.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2) (*.f64 im (neg.f64 im)))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2)) (*.f64 im im))
(fma.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 (+.f64 re im) (-.f64 re im) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im im))

localize6.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
98.0%
(fma.f64 re re (*.f64 im (neg.f64 im)))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
(fma.f64 re re (*.f64 im (neg.f64 im)))
0.0ms
re
@0
(fma.f64 re re (*.f64 im (neg.f64 im)))
0.0ms
re
@inf
(fma.f64 re re (*.f64 im (neg.f64 im)))
0.0ms
im
@0
(fma.f64 re re (*.f64 im (neg.f64 im)))
0.0ms
im
@inf
(fma.f64 re re (*.f64 im (neg.f64 im)))

rewrite56.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1434×pow1
1304×add-exp-log
1302×log1p-expm1-u
1302×expm1-log1p-u
1270×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0919
117913
2217613
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(fma.f64 re re (*.f64 im (neg.f64 im)))
Outputs
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 (*.f64 re re) 1) (*.f64 im im))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 1 (pow.f64 (hypot.f64 re im) 2)) 1)
(*.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 re im) 2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)))
(*.f64 (hypot.f64 re im) (hypot.f64 re im))
(/.f64 (+.f64 (pow.f64 (*.f64 re re) 3) (pow.f64 (*.f64 im im) 3)) (+.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (-.f64 (*.f64 im (pow.f64 im 3)) (*.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 im (pow.f64 im 3))) (pow.f64 (hypot.f64 re im) 2))
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 3) 1/3)
(pow.f64 (hypot.f64 re im) 2)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 2))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 re im) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 re im) 2)))

simplify65.0ms (3.1%)

Algorithm
egg-herbie
Rules
1900×times-frac
1800×fma-def
1232×log-prod
876×associate-*r*
772×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0591008
1164868
2725768
35559768
Stop Event
node limit
Counts
46 → 36
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(*.f64 -1 (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(*.f64 -1 (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 (*.f64 re re) 1) (*.f64 im im))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 1 (pow.f64 (hypot.f64 re im) 2)) 1)
(*.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 re im) 2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)))
(*.f64 (hypot.f64 re im) (hypot.f64 re im))
(/.f64 (+.f64 (pow.f64 (*.f64 re re) 3) (pow.f64 (*.f64 im im) 3)) (+.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (-.f64 (*.f64 im (pow.f64 im 3)) (*.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 im (pow.f64 im 3))) (pow.f64 (hypot.f64 re im) 2))
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 3) 1/3)
(pow.f64 (hypot.f64 re im) 2)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 2))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 re im) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 re im) 2)))
Outputs
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (*.f64 im im))
(*.f64 im (neg.f64 im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (*.f64 im im))
(*.f64 im (neg.f64 im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (*.f64 im im))
(*.f64 im (neg.f64 im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 im 2)))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 re re))
(fma.f64 im im (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(+.f64 (*.f64 (*.f64 re re) 1) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 1 (pow.f64 (hypot.f64 re im) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(*.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(*.f64 1 (pow.f64 (hypot.f64 re im) 2))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 2))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(*.f64 (hypot.f64 re im) (hypot.f64 re im))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(/.f64 (+.f64 (pow.f64 (*.f64 re re) 3) (pow.f64 (*.f64 im im) 3)) (+.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (-.f64 (*.f64 im (pow.f64 im 3)) (*.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re re) 3) (pow.f64 (*.f64 im im) 3)) (fma.f64 (*.f64 re re) (*.f64 re re) (-.f64 (*.f64 im (pow.f64 im 3)) (*.f64 (*.f64 im im) (*.f64 re re)))))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (-.f64 (pow.f64 im 4) (*.f64 im (*.f64 im (*.f64 re re))))))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (fma.f64 im (-.f64 (pow.f64 im 3) (*.f64 im (*.f64 re re))) (pow.f64 re 4)))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 im (pow.f64 im 3))) (pow.f64 (hypot.f64 re im) 2))
(/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (pow.f64 im 3))) (pow.f64 (hypot.f64 re im) 2))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (hypot.f64 re im) 2))
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) 3)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 3) 1/3)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(pow.f64 (hypot.f64 re im) 2)
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 2))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 re im) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 2) 3))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(exp.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 re im) 2)))
(+.f64 1 (-.f64 (pow.f64 (hypot.f64 re im) 2) 1))
(+.f64 (pow.f64 (hypot.f64 re im) 2) 0)
(pow.f64 (hypot.f64 re im) 2)

eval18.0ms (0.9%)

Compiler

Compiled 1503 to 547 computations (63.6% saved)

prune13.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1003103
Fresh000
Picked101
Done011
Total1014105
Accurracy
58.6%
Counts
105 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
58.2%
(-.f64 (*.f64 re re) (*.f64 im im))
58.2%
(*.f64 (-.f64 re im) (+.f64 re im))
35.8%
(*.f64 re re)
29.9%
(*.f64 im (neg.f64 im))
Compiler

Compiled 29 to 17 computations (41.4% saved)

localize4.0ms (0.2%)

Compiler

Compiled 9 to 4 computations (55.6% saved)

localize3.0ms (0.1%)

Compiler

Compiled 6 to 3 computations (50% saved)

localize6.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (-.f64 re im) (+.f64 re im))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@-inf
(*.f64 (-.f64 re im) (+.f64 re im))
0.0ms
re
@0
(*.f64 (-.f64 re im) (+.f64 re im))
0.0ms
im
@inf
(*.f64 (-.f64 re im) (+.f64 re im))
0.0ms
re
@inf
(*.f64 (-.f64 re im) (+.f64 re im))
0.0ms
im
@0
(*.f64 (-.f64 re im) (+.f64 re im))

rewrite61.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
1922×pow1
1790×add-exp-log
1790×log1p-expm1-u
1790×expm1-log1p-u
174×add-sqr-sqrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
116019
2246619
Stop Event
node limit
Counts
1 → 45
Calls
Call 1
Inputs
(*.f64 (-.f64 re im) (+.f64 re im))
Outputs
(+.f64 (*.f64 re re) (neg.f64 (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (fma.f64 (neg.f64 im) im (*.f64 im im)))
(+.f64 (*.f64 re (-.f64 re im)) (*.f64 im (-.f64 re im)))
(+.f64 (*.f64 im (-.f64 re im)) (*.f64 re (-.f64 re im)))
(+.f64 (*.f64 (+.f64 re im) re) (*.f64 (+.f64 re im) (neg.f64 im)))
(+.f64 (*.f64 re (+.f64 re im)) (*.f64 (neg.f64 im) (+.f64 re im)))
(+.f64 (*.f64 (*.f64 re (-.f64 re im)) 1) (*.f64 (*.f64 im (-.f64 re im)) 1))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 1 (-.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2) (-.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3)) (+.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 (fma.f64 re re (*.f64 im (+.f64 re im))) (fma.f64 re re (*.f64 im (-.f64 im re)))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3)) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (pow.f64 re 3) (pow.f64 im 3)))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 (+.f64 re im) (fma.f64 re re (*.f64 im (-.f64 im re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 im 3)) (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 (fma.f64 re re (*.f64 im (-.f64 im re))) (fma.f64 re re (*.f64 im (+.f64 re im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 im 3)) (-.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (pow.f64 re 3) (pow.f64 im 3)))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 (-.f64 re im) (fma.f64 re re (*.f64 im (+.f64 re im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (-.f64 re im)) 3) (pow.f64 (*.f64 im (-.f64 re im)) 3)) (+.f64 (*.f64 (*.f64 re (-.f64 re im)) (*.f64 re (-.f64 re im))) (-.f64 (*.f64 (*.f64 im (-.f64 re im)) (*.f64 im (-.f64 re im))) (*.f64 (*.f64 re (-.f64 re im)) (*.f64 im (-.f64 re im))))))
(/.f64 (-.f64 (pow.f64 (*.f64 re re) 3) (pow.f64 (*.f64 im im) 3)) (+.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (+.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 re (-.f64 re im)) (*.f64 re (-.f64 re im))) (*.f64 (*.f64 im (-.f64 re im)) (*.f64 im (-.f64 re im)))) (-.f64 (*.f64 re (-.f64 re im)) (*.f64 im (-.f64 re im))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 re im)) (-.f64 re im))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 re im)) (+.f64 re im))
(/.f64 (*.f64 (+.f64 re im) (-.f64 (*.f64 re re) (*.f64 im im))) (+.f64 re im))
(/.f64 (*.f64 (-.f64 re im) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re im))
(/.f64 (*.f64 (-.f64 re im) (+.f64 (pow.f64 re 3) (pow.f64 im 3))) (fma.f64 re re (*.f64 im (-.f64 im re))))
(/.f64 (*.f64 (+.f64 re im) (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (fma.f64 re re (*.f64 im (+.f64 re im))))
(/.f64 (*.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3)) (+.f64 re im)) (fma.f64 re re (*.f64 im (+.f64 re im))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 im 3)) (-.f64 re im)) (fma.f64 re re (*.f64 im (-.f64 im re))))
(pow.f64 (cbrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 2)
(pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 1)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 re im)) (-.f64 re im)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) 3))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 3) (pow.f64 (+.f64 re im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re im) 3) (pow.f64 (-.f64 re im) 3)))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(exp.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))) 1))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(fma.f64 re re (neg.f64 (*.f64 im im)))
(fma.f64 re (-.f64 re im) (*.f64 im (-.f64 re im)))
(fma.f64 (-.f64 re im) re (*.f64 im (-.f64 re im)))

simplify53.0ms (2.5%)

Algorithm
egg-herbie
Rules
1346×associate-/l*
636×associate-*l/
628×associate-*r/
584×unswap-sqr
580×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

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

eval14.0ms (0.7%)

Compiler

Compiled 1333 to 467 computations (65% saved)

prune11.0ms (0.5%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New76076
Fresh000
Picked011
Done033
Total76480
Accurracy
58.6%
Counts
80 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
58.2%
(-.f64 (*.f64 re re) (*.f64 im im))
58.2%
(*.f64 (-.f64 re im) (+.f64 re im))
35.8%
(*.f64 re re)
29.9%
(*.f64 im (neg.f64 im))
Compiler

Compiled 29 to 17 computations (41.4% saved)

regimes19.0ms (0.9%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 re re)
(*.f64 im (neg.f64 im))
(*.f64 (-.f64 re im) (+.f64 re im))
(-.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 re re (*.f64 im (neg.f64 im)))
Outputs
(fma.f64 re re (*.f64 im (neg.f64 im)))
Calls

5 calls:

5.0ms
im
4.0ms
re
3.0ms
(-.f64 (*.f64 re re) (*.f64 im im))
3.0ms
(*.f64 re re)
3.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
58.2%1re
58.2%1im
58.2%1(-.f64 (*.f64 re re) (*.f64 im im))
58.2%1(*.f64 re re)
58.2%1(*.f64 im im)
Compiler

Compiled 55 to 26 computations (52.7% saved)

regimes19.0ms (0.9%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 re re)
(*.f64 im (neg.f64 im))
(*.f64 (-.f64 re im) (+.f64 re im))
(-.f64 (*.f64 re re) (*.f64 im im))
Outputs
(*.f64 (-.f64 re im) (+.f64 re im))
Calls

5 calls:

6.0ms
im
4.0ms
re
3.0ms
(-.f64 (*.f64 re re) (*.f64 im im))
3.0ms
(*.f64 re re)
3.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
58.2%1re
58.2%1im
58.2%1(-.f64 (*.f64 re re) (*.f64 im im))
58.2%1(*.f64 re re)
58.2%1(*.f64 im im)
Compiler

Compiled 48 to 25 computations (47.9% saved)

regimes25.0ms (1.2%)

Accuracy

Total -28.3b remaining (-91.9%)

Threshold costs -28.3b (-91.9%)

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

3 calls:

8.0ms
im
8.0ms
(*.f64 re re)
8.0ms
re
Results
AccuracySegmentsBranch
49.2%3re
51.9%3im
49.9%4(*.f64 re re)
Compiler

Compiled 20 to 12 computations (40% saved)

bsearch25.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
1.4383222443182379e-22
4.561801912817602e-13
11.0ms
-1.8234651219738992e-134
-1.3333190540240866e-136
Results
17.0ms204×body256valid
4.0ms52×body256infinite
Compiler

Compiled 222 to 153 computations (31.1% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02288
13788
24288
34588
44688
Stop Event
done
saturated
Calls
Call 1
Inputs
(fma.f64 re re (*.f64 im (neg.f64 im)))
(*.f64 (-.f64 re im) (+.f64 re im))
(if (<=.f64 im -7365128867766319/409173825987017733751648712103449894027080255755383098685411421012016724550584319360408761540738019643860835515945008876152157068235674131666065948672) (*.f64 im (neg.f64 im)) (if (<=.f64 im 1687496479023819/2596148429267413814265248164610048) (*.f64 re re) (*.f64 im (neg.f64 im))))
(*.f64 re re)
Outputs
(fma.f64 re re (*.f64 im (neg.f64 im)))
(*.f64 (-.f64 re im) (+.f64 re im))
(if (<=.f64 im -7365128867766319/409173825987017733751648712103449894027080255755383098685411421012016724550584319360408761540738019643860835515945008876152157068235674131666065948672) (*.f64 im (neg.f64 im)) (if (<=.f64 im 1687496479023819/2596148429267413814265248164610048) (*.f64 re re) (*.f64 im (neg.f64 im))))
(if (or (<=.f64 im -7365128867766319/409173825987017733751648712103449894027080255755383098685411421012016724550584319360408761540738019643860835515945008876152157068235674131666065948672) (not (<=.f64 im 1687496479023819/2596148429267413814265248164610048))) (*.f64 im (neg.f64 im)) (*.f64 re re))
(*.f64 re re)
Compiler

Compiled 41 to 25 computations (39% saved)

soundness516.0ms (24.8%)

Rules
2086×fma-def
1818×fma-def
1818×fma-def
1680×pow1
1560×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11819
23019
35919
413419
538419
684319
7170619
8385019
9550819
10638219
11675119
12698119
13709519
14709519
01282078
13441964
215241810
01282078
13441964
215241810
0719
116019
2224719
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 74 to 36 computations (51.4% saved)

end36.0ms (1.7%)

Compiler

Compiled 88 to 42 computations (52.3% saved)

Profiling

Loading profile data...