Details

Time bar (total: 1.6s)

analyze111.0ms (6.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
37.5%62.4%0.1%6
56.2%43.7%0.1%7
65.6%34.3%0.1%8
76.5%23.4%0.1%9
82%18%0.1%10
87.8%12.1%0.1%11
90.7%9.2%0.1%12
93.8%6.1%0.1%13
95.3%4.6%0.1%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample38.0ms (2.3%)

Algorithm
intervals
Symmetry

(sort re im)

Results
9.0ms256×body128valid
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify6.0ms (0.4%)

Algorithm
egg-herbie
Rules
hypot-def_binary64
fma-def_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074
1104
2124
3124

prune3.0ms (0.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(hypot.f64 re im)
Compiler

Compiled 23 to 13 computations (43.5% saved)

localize2.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)

series12.0ms (0.7%)

Counts
1 → 24
Calls

1 calls:

12.0ms
(hypot.f64 re im)

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

0.0ms
(hypot.f64 re im)

simplify66.0ms (4%)

Algorithm
egg-herbie
Rules
943×fma-neg_binary64
529×cancel-sign-sub-inv_binary64
273×associate-/r/_binary64
262×distribute-rgt-neg-in_binary64
259×distribute-lft-neg-in_binary64
Counts
34 → 42
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
064568
1177541
2507525
32142525
44490525
55063525

prune19.0ms (1.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New41142
Fresh000
Picked011
Done000
Total41243
Error
0.0b
Counts
43 → 2
Alt Table
StatusErrorProgram
0.0b
(hypot.f64 re im)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
Compiler

Compiled 567 to 337 computations (40.6% saved)

localize4.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))

series12.0ms (0.7%)

Counts
1 → 24
Calls

1 calls:

12.0ms
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))

rewrite8.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
18×sqrt-prod_binary64
16×pow1_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
1 → 53
Calls

1 calls:

5.0ms
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))

simplify88.0ms (5.4%)

Algorithm
egg-herbie
Rules
692×fma-neg_binary64
529×cancel-sign-sub-inv_binary64
315×neg-mul-1_binary64
262×distribute-rgt-neg-in_binary64
259×distribute-lft-neg-in_binary64
Counts
77 → 89
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
094941
1225885
2649856
32474824
44354824
54970824
64937824

prune69.0ms (4.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1721173
Fresh000
Picked011
Done011
Total1723175
Error
0b
Counts
175 → 3
Alt Table
StatusErrorProgram
0.0b
(hypot.f64 re im)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im))))
Compiler

Compiled 2848 to 1249 computations (56.1% saved)

localize6.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.1b
(sqrt.f64 (sqrt.f64 (hypot.f64 re im)))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im))))
0.4b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im)))

series104.0ms (6.4%)

Counts
3 → 72
Calls

3 calls:

51.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im)))
39.0ms
(sqrt.f64 (sqrt.f64 (hypot.f64 re im)))
14.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im))))

rewrite32.0ms (2%)

Algorithm
rewrite-expression-head
Rules
55×sqrt-pow1_binary64
51×pow1_binary64
47×sqrt-prod_binary64
47×add-sqr-sqrt_binary64
36×pow-prod-up_binary64
Counts
3 → 121
Calls

3 calls:

12.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im))))
7.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im)))
1.0ms
(sqrt.f64 (sqrt.f64 (hypot.f64 re im)))

simplify122.0ms (7.5%)

Algorithm
egg-herbie
Rules
739×fma-neg_binary64
394×cancel-sign-sub-inv_binary64
239×associate-*r*_binary64
212×unswap-sqr_binary64
200×distribute-rgt-neg-in_binary64
Counts
193 → 230
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02933815
17763522
223193356
347463356
452573356

prune203.0ms (12.5%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New4090409
Fresh000
Picked011
Done022
Total4093412
Error
0b
Counts
412 → 3
Alt Table
StatusErrorProgram
0.0b
(hypot.f64 re im)
0.5b
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
0.6b
(*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im))))
Compiler

Compiled 10156 to 4289 computations (57.8% saved)

regimes153.0ms (9.4%)

Accuracy

Total 0.0b remaining (40.7%)

Threshold costs 0.0b (40.7%)

Counts
22 → 1
Compiler

Compiled 1755 to 1073 computations (38.9% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
144

end6.0ms (0.3%)

Remove

(sort re im)

Compiler

Compiled 15 to 9 computations (40% saved)

sample560.0ms (34.4%)

Algorithm
intervals
Results
307.0ms8000×body128valid
Compiler

Compiled 52 to 27 computations (48.1% saved)

Profiling

Loading profile data...