Details

Time bar (total: 3.9s)

analyze508.0ms (12.9%)

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)

sample62.0ms (1.6%)

Algorithm
intervals
Results
12.0ms191×body128valid
6.0ms16×body4096valid
6.0ms19×body2048valid
4.0ms15×body1024valid
1.0msbody512valid
1.0msbody256valid
Compiler

Compiled 37 to 27 computations (27% saved)

simplify12.0ms (0.3%)

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

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
14.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.2b
(*.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.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
1.3b
(+.f64 re (hypot.f64 re im))

series74.0ms (1.9%)

Counts
2 → 32
Calls

2 calls:

58.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
17.0ms
(+.f64 re (hypot.f64 re im))

rewrite8.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:

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

simplify79.0ms (2%)

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

prune83.0ms (2.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New72779
Fresh000
Picked011
Done000
Total72880
Error
7.3b
Counts
80 → 8
Alt Table
StatusErrorProgram
48.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
45.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
57.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))))
54.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
14.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
14.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (sqrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))))
14.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))))
Compiler

Compiled 1940 to 1332 computations (31.3% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series95.0ms (2.4%)

Counts
2 → 16
Calls

2 calls:

56.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
39.0ms
(sqrt.f64 (+.f64 re (hypot.f64 re im)))

rewrite14.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
15×sqrt-prod_binary64
11×*-un-lft-identity_binary64
associate-*r*_binary64
add-cube-cbrt_binary64
Counts
2 → 55
Calls

2 calls:

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

simplify87.0ms (2.2%)

Algorithm
egg-herbie
Rules
608×fma-neg_binary64
601×fma-def_binary64
441×times-frac_binary64
335×associate-/l*_binary64
318×cancel-sign-sub-inv_binary64
Counts
71 → 84
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01811642
14611585
214871518
345391518
449971518

prune121.0ms (3.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1302132
Fresh336
Picked011
Done011
Total1337140
Error
7.3b
Counts
140 → 7
Alt Table
StatusErrorProgram
48.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))
14.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
57.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))))
45.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
54.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 3204 to 2113 computations (34.1% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series111.0ms (2.8%)

Counts
2 → 16
Calls

2 calls:

57.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
53.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))

rewrite34.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
38×add-sqr-sqrt_binary64
36×sqrt-prod_binary64
18×associate-*l*_binary64
16×rem-sqrt-square_binary64
14×pow1_binary64
Counts
2 → 77
Calls

2 calls:

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

simplify111.0ms (2.8%)

Algorithm
egg-herbie
Rules
591×fma-def_binary64
440×fma-neg_binary64
341×cancel-sign-sub-inv_binary64
263×associate-+l+_binary64
214×associate-*r*_binary64
Counts
93 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02182355
15412218
217492162
348342162
451362162

prune185.0ms (4.7%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1963199
Fresh224
Picked011
Done022
Total1988206
Error
7.3b
Counts
206 → 8
Alt Table
StatusErrorProgram
14.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
57.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
48.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 im))))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))
54.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
54.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))
45.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im)))))
Compiler

Compiled 5624 to 4008 computations (28.7% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im)))
0.2b
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im))))

series22.0ms (0.6%)

Counts
2 → 0
Calls

2 calls:

12.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im)))
9.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im))))

rewrite29.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
42×sqrt-prod_binary64
40×add-sqr-sqrt_binary64
18×associate-*l*_binary64
16×rem-sqrt-square_binary64
14×associate-*r*_binary64
Counts
2 → 79
Calls

2 calls:

13.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im)))
10.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im))))

simplify85.0ms (2.2%)

Algorithm
egg-herbie
Rules
945×neg-mul-1_binary64
839×fma-def_binary64
573×distribute-rgt-neg-out_binary64
571×distribute-lft-neg-out_binary64
358×neg-sub0_binary64
Counts
79 → 87
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0861182
11721105
24801105
38591105
417451105
541151105
653701105

prune58.0ms (1.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New85287
Fresh044
Picked101
Done033
Total86995
Error
7.3b
Counts
95 → 9
Alt Table
StatusErrorProgram
14.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
57.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
48.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 im))))
14.3b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))
50.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im))) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im)))) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (neg.f64 im)))))))
47.1b
(*.f64 1/2 (exp.f64 (+.f64 (log.f64 (sqrt.f64 (sqrt.f64 2))) (+.f64 (log.f64 (sqrt.f64 (sqrt.f64 2))) (log.f64 (sqrt.f64 (neg.f64 im)))))))
54.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
54.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (sqrt.f64 (sqrt.f64 2)) (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))
Compiler

Compiled 1736 to 1362 computations (21.5% saved)

regimes633.0ms (16.1%)

Accuracy

Total 3.0b remaining (30%)

Threshold costs 0b (0%)

Counts
57 → 3
Compiler

Compiled 6908 to 5657 computations (18.1% saved)

bsearch2.0ms (0%)

Compiler

Compiled 12 to 7 computations (41.7% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03598
14598
24598

end1.0ms (0%)

Compiler

Compiled 66 to 38 computations (42.4% saved)

sample1.5s (37.6%)

Algorithm
intervals
Results
464.0ms6065×body128valid
212.0ms619×body2048valid
200.0ms519×body4096valid
109.0ms431×body1024valid
49.0ms244×body512valid
19.0ms122×body256valid
Compiler

Compiled 261 to 198 computations (24.1% saved)

Profiling

Loading profile data...