Details

Time bar (total: 4.4s)

analyze469.0ms (10.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
62.4%37.5%0.1%5
62.4%37.5%0.1%6
68.7%31.2%0.1%7
68.7%31.2%0.1%8
71.8%28.1%0.1%9
71.8%28.1%0.1%10
73.4%26.5%0.1%11
73.4%26.5%0.1%12
74.1%25.8%0.1%13
74.1%25.8%0.1%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample1.8s (41.3%)

Results
778.0ms6294×body128valid
337.0ms666×body2048valid
336.0ms527×body4096valid
179.0ms437×body1024valid
68.0ms223×body512valid
27.0ms109×body256valid
Compiler

Compiled 53 to 38 computations (28.3% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
distribute-lft-in_binary64
distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
22915
33115
43115

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
12.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 51 to 37 computations (27.5% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
0.7b
(+.f64 re (hypot.f64 re im))

series61.0ms (1.4%)

Counts
2 → 32
Calls

2 calls:

47.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
14.0ms
(+.f64 re (hypot.f64 re im))

rewrite7.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
pow1_binary64
*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
fma-def_binary64
Counts
2 → 32
Calls

2 calls:

3.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
2.0ms
(+.f64 re (hypot.f64 re im))

simplify61.0ms (1.4%)

Algorithm
egg-herbie
Rules
862×fma-neg_binary64
517×fma-def_binary64
437×associate-*r*_binary64
361×associate-*l*_binary64
244×cancel-sign-sub-inv_binary64
Counts
64 → 79
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01611270
14351196
212551148
346831148
454131148

prune63.0ms (1.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New73679
Fresh000
Picked011
Done000
Total73780
Error
8.3b
Counts
80 → 7
Alt Table
StatusErrorProgram
27.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 3)))
49.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))))
16.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (hypot.f64 re im)))))
46.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 1870 to 1278 computations (31.7% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 re (hypot.f64 re im)))
0.0b
(sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))
0.3b
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
0.7b
(+.f64 re (hypot.f64 re im))

series89.0ms (2%)

Counts
3 → 40
Calls

3 calls:

47.0ms
(sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))
31.0ms
(sqrt.f64 (+.f64 re (hypot.f64 re im)))
12.0ms
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))

rewrite31.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
34×sqrt-div_binary64
31×sqrt-prod_binary64
31×add-sqr-sqrt_binary64
28×*-un-lft-identity_binary64
25×pow1_binary64
Counts
3 → 107
Calls

3 calls:

9.0ms
(sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))
9.0ms
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
2.0ms
(sqrt.f64 (+.f64 re (hypot.f64 re im)))

simplify100.0ms (2.3%)

Algorithm
egg-herbie
Rules
754×fma-def_binary64
437×times-frac_binary64
417×associate-/l*_binary64
400×cancel-sign-sub-inv_binary64
308×fma-neg_binary64
Counts
147 → 183
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02633119
16322887
219492776
348232776
449572776

prune223.0ms (5.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New3112313
Fresh145
Picked101
Done011
Total3137320
Error
8.3b
Counts
320 → 7
Alt Table
StatusErrorProgram
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re))))))
49.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3)))))
16.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (hypot.f64 re im)))))
46.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 8938 to 4414 computations (50.6% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))))
0.3b
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
0.7b
(+.f64 (hypot.f64 re im) re)
0.7b
(+.f64 re (hypot.f64 re im))

series76.0ms (1.7%)

Counts
3 → 56
Calls

3 calls:

51.0ms
(sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))))
13.0ms
(+.f64 (hypot.f64 re im) re)
12.0ms
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))

rewrite27.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
32×sqrt-div_binary64
18×add-sqr-sqrt_binary64
14×*-un-lft-identity_binary64
13×sqrt-prod_binary64
13×flip-+_binary64
Counts
3 → 82
Calls

3 calls:

9.0ms
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
8.0ms
(sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))))
2.0ms
(+.f64 (hypot.f64 re im) re)

simplify76.0ms (1.7%)

Algorithm
egg-herbie
Rules
559×associate-*r*_binary64
538×fma-def_binary64
505×associate-*l*_binary64
248×cancel-sign-sub-inv_binary64
225×associate-/l*_binary64
Counts
138 → 157
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02432988
15422824
214782701
349502701

prune135.0ms (3.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2050205
Fresh055
Picked011
Done011
Total2057212
Error
8.3b
Counts
212 → 7
Alt Table
StatusErrorProgram
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re))))))
49.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3)))))
16.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (hypot.f64 re im)))))
46.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 6035 to 2719 computations (54.9% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))))
0.2b
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3))
0.6b
(pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3)
0.7b
(+.f64 re (hypot.f64 re im))

series134.0ms (3.1%)

Counts
3 → 72
Calls

3 calls:

83.0ms
(pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3)
35.0ms
(sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))))
16.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3))

rewrite38.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
109×sqrt-prod_binary64
69×add-sqr-sqrt_binary64
34×*-un-lft-identity_binary64
32×sqrt-div_binary64
29×cube-prod_binary64
Counts
3 → 153
Calls

3 calls:

14.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3))
5.0ms
(pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3)
3.0ms
(sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))))

simplify172.0ms (3.9%)

Algorithm
egg-herbie
Rules
400×cancel-sign-sub-inv_binary64
377×associate-*r*_binary64
317×associate-*l*_binary64
245×fma-neg_binary64
205×sqr-pow_binary64
Counts
225 → 249
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03906031
110685509
236695187
346845089
448965089

prune331.0ms (7.6%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New4100410
Fresh044
Picked011
Done022
Total4107417
Error
8.3b
Counts
417 → 7
Alt Table
StatusErrorProgram
12.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 (hypot.f64 re im) re))))))
49.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 3)))))
16.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (hypot.f64 re im)))))
46.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 14440 to 7870 computations (45.5% saved)

regimes317.0ms (7.2%)

Accuracy

Total 2.7b remaining (27.6%)

Threshold costs 0b (0%)

Counts
36 → 2
Compiler

Compiled 4442 to 3164 computations (28.8% saved)

bsearch1.0ms (0%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02858
13758
23758

end108.0ms (2.5%)

Compiler

Compiled 185 to 134 computations (27.6% saved)

Profiling

Loading profile data...