
Preprocessing Cost Relations
=====================================

#### Computed strongly connected components 
0. recursive  : [evalrealshellsortbb2in/5,evalrealshellsortbb3in/5,evalrealshellsortbb4in/5]
1. recursive  : [evalrealshellsortbb1in/9,evalrealshellsortbb3in_loop_cont/10,evalrealshellsortbb5in/9,evalrealshellsortbb6in/9]
2. recursive  : [evalrealshellsortbb6in_loop_cont/11,evalrealshellsortbb7in/10,evalrealshellsortbb8in/10]
3. non_recursive  : [evalrealshellsortstop/6]
4. non_recursive  : [evalrealshellsortreturnin/6]
5. non_recursive  : [exit_location/1]
6. non_recursive  : [evalrealshellsortbb8in_loop_cont/7]
7. non_recursive  : [evalrealshellsortentryin/6]
8. non_recursive  : [evalrealshellsortstart/6]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into evalrealshellsortbb3in/5
1. SCC is partially evaluated into evalrealshellsortbb6in/9
2. SCC is partially evaluated into evalrealshellsortbb8in/10
3. SCC is completely evaluated into other SCCs
4. SCC is completely evaluated into other SCCs
5. SCC is completely evaluated into other SCCs
6. SCC is partially evaluated into evalrealshellsortbb8in_loop_cont/7
7. SCC is partially evaluated into evalrealshellsortentryin/6
8. SCC is partially evaluated into evalrealshellsortstart/6

Control-Flow Refinement of Cost Relations
=====================================

### Specialization of cost equations evalrealshellsortbb3in/5 
* CE 18 is refined into CE [19] 
* CE 17 is refined into CE [20] 
* CE 15 is refined into CE [21] 
* CE 16 is refined into CE [22] 


### Cost equations --> "Loop" of evalrealshellsortbb3in/5 
* CEs [22] --> Loop 19 
* CEs [19] --> Loop 20 
* CEs [20] --> Loop 21 
* CEs [21] --> Loop 22 

### Ranking functions of CR evalrealshellsortbb3in(B,D,E,G,H) 
* RF of phase [19]: [-B+E+1,E]

#### Partial ranking functions of CR evalrealshellsortbb3in(B,D,E,G,H) 
* Partial RF of phase [19]:
  - RF of loop [19:1]:
    -B+E+1
    E


### Specialization of cost equations evalrealshellsortbb6in/9 
* CE 13 is refined into CE [23] 
* CE 11 is refined into CE [24,25] 
* CE 14 is refined into CE [26] 
* CE 12 is refined into CE [27,28,29,30] 


### Cost equations --> "Loop" of evalrealshellsortbb6in/9 
* CEs [30] --> Loop 23 
* CEs [29] --> Loop 24 
* CEs [28] --> Loop 25 
* CEs [27] --> Loop 26 
* CEs [23] --> Loop 27 
* CEs [25] --> Loop 28 
* CEs [24] --> Loop 29 
* CEs [26] --> Loop 30 

### Ranking functions of CR evalrealshellsortbb6in(A,B,C,D,E,G,H,I,J) 
* RF of phase [23,24,26]: [A-C]
* RF of phase [25]: [A/2-C,B-C]

#### Partial ranking functions of CR evalrealshellsortbb6in(A,B,C,D,E,G,H,I,J) 
* Partial RF of phase [23,24,26]:
  - RF of loop [23:1,24:1,26:1]:
    A-C
* Partial RF of phase [25]:
  - RF of loop [25:1]:
    A/2-C
    B-C


### Specialization of cost equations evalrealshellsortbb8in/10 
* CE 7 is refined into CE [31] 
* CE 6 is refined into CE [32,33,34,35,36,37] 
* CE 8 is refined into CE [38] 
* CE 5 is refined into CE [39,40] 


### Cost equations --> "Loop" of evalrealshellsortbb8in/10 
* CEs [40] --> Loop 31 
* CEs [39] --> Loop 32 
* CEs [31] --> Loop 33 
* CEs [38] --> Loop 34 
* CEs [35] --> Loop 35 
* CEs [34] --> Loop 36 
* CEs [32,33,37] --> Loop 37 
* CEs [36] --> Loop 38 

### Ranking functions of CR evalrealshellsortbb8in(A,B,C,D,E,G,H,I,J,K) 
* RF of phase [31]: [2*B-1]

#### Partial ranking functions of CR evalrealshellsortbb8in(A,B,C,D,E,G,H,I,J,K) 
* Partial RF of phase [31]:
  - RF of loop [31:1]:
    2*B-1


### Specialization of cost equations evalrealshellsortbb8in_loop_cont/7 
* CE 9 is refined into CE [41] 
* CE 10 is refined into CE [42] 


### Cost equations --> "Loop" of evalrealshellsortbb8in_loop_cont/7 
* CEs [41] --> Loop 39 
* CEs [42] --> Loop 40 

### Ranking functions of CR evalrealshellsortbb8in_loop_cont(A,B,C,D,E,F,G) 

#### Partial ranking functions of CR evalrealshellsortbb8in_loop_cont(A,B,C,D,E,F,G) 


### Specialization of cost equations evalrealshellsortentryin/6 
* CE 3 is refined into CE [43,44,45,46,47,48,49,50] 
* CE 4 is refined into CE [51,52] 
* CE 2 is refined into CE [53,54] 


### Cost equations --> "Loop" of evalrealshellsortentryin/6 
* CEs [47] --> Loop 41 
* CEs [46] --> Loop 42 
* CEs [43,44,45,49] --> Loop 43 
* CEs [48] --> Loop 44 
* CEs [51,52] --> Loop 45 
* CEs [50] --> Loop 46 
* CEs [53,54] --> Loop 47 

### Ranking functions of CR evalrealshellsortentryin(A,B,C,D,E,G) 

#### Partial ranking functions of CR evalrealshellsortentryin(A,B,C,D,E,G) 


### Specialization of cost equations evalrealshellsortstart/6 
* CE 1 is refined into CE [55,56,57,58,59,60,61] 


### Cost equations --> "Loop" of evalrealshellsortstart/6 
* CEs [61] --> Loop 48 
* CEs [60] --> Loop 49 
* CEs [59] --> Loop 50 
* CEs [58] --> Loop 51 
* CEs [57] --> Loop 52 
* CEs [56] --> Loop 53 
* CEs [55] --> Loop 54 

### Ranking functions of CR evalrealshellsortstart(A,B,C,D,E,G) 

#### Partial ranking functions of CR evalrealshellsortstart(A,B,C,D,E,G) 


Computing Bounds
=====================================

#### Cost of chains of evalrealshellsortbb3in(B,D,E,G,H):
* Chain [[19],22]: 1*it(19)+0
  Such that:it(19) =< E-H

  with precondition: [G=2,B>=1,H>=B,E>=B+H] 

* Chain [[19],21]: 1*it(19)+0
  Such that:it(19) =< -B+E+1

  with precondition: [G=2,H>=0,B>=H+1,E>=B+H] 

* Chain [[19],20]: 1*it(19)+0
  Such that:it(19) =< -B+E+1

  with precondition: [G=3,B>=1,E>=B] 

* Chain [22]: 0
  with precondition: [G=2,E=H,B>=1,E>=B] 

* Chain [21]: 0
  with precondition: [G=2,E=H,E>=0,B>=E+1] 

* Chain [20]: 0
  with precondition: [G=3,B>=1,E>=0] 


#### Cost of chains of evalrealshellsortbb6in(A,B,C,D,E,G,H,I,J):
* Chain [[25],[23,24,26],30]: 3*it(23)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:it(25) =< A/2-C
it(25) =< B-C
aux(6) =< A-B
it(23) =< aux(6)
aux(2) =< aux(6)-1
s(5) =< it(23)*aux(6)
s(6) =< it(23)*aux(2)

  with precondition: [G=3,C>=0,A+1>=2*B,A>=B+1,B>=C+1] 

* Chain [[25],[23,24,26],29]: 3*it(23)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:it(25) =< A/2-C
it(25) =< B-C
aux(8) =< A-B
it(23) =< aux(8)
aux(2) =< aux(8)-1
s(5) =< it(23)*aux(8)
s(6) =< it(23)*aux(2)

  with precondition: [G=3,C>=0,A+1>=2*B,A>=B+2,B>=C+1] 

* Chain [[25],[23,24,26],28]: 4*it(23)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:it(25) =< A/2-C
it(25) =< B-C
aux(11) =< A-B
it(23) =< aux(11)
aux(2) =< aux(11)-1
s(5) =< it(23)*aux(11)
s(6) =< it(23)*aux(2)

  with precondition: [G=3,C>=0,A+1>=2*B,A>=B+2,B>=C+1] 

* Chain [[25],[23,24,26],27]: 3*it(23)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:it(25) =< B-C
it(25) =< -C+H/2
aux(13) =< -B+H
it(23) =< aux(13)
aux(2) =< aux(13)-1
s(5) =< it(23)*aux(13)
s(6) =< it(23)*aux(2)

  with precondition: [G=4,A=H,C>=0,J>=0,A+1>=2*B,A>=B+1,B>=C+1,A>=J+1] 

* Chain [[25],30]: 1*it(25)+0
  Such that:it(25) =< A/2-C
it(25) =< B-C

  with precondition: [G=3,C>=0,A+1>=2*B,B>=C+1] 

* Chain [[25],29]: 1*it(25)+0
  Such that:it(25) =< A/2-C
it(25) =< B-C

  with precondition: [G=3,C>=0,A+1>=2*B,A>=C+2,B>=C+1] 

* Chain [[25],28]: 1*it(25)+1*s(7)+0
  Such that:s(7) =< 1
it(25) =< A/2-C
it(25) =< B-C

  with precondition: [G=3,C>=0,A+1>=2*B,A>=B+1,B>=C+1] 

* Chain [[25],27]: 1*it(25)+0
  Such that:it(25) =< 1/2

  with precondition: [A=1,B=1,C=0,G=4,H=1,J=0] 

* Chain [30]: 0
  with precondition: [G=3,B>=1,C>=0,A+1>=2*B] 

* Chain [29]: 0
  with precondition: [G=3,B>=1,C>=0,A+1>=2*B,A>=C+1] 


#### Cost of chains of evalrealshellsortbb8in(A,B,C,D,E,G,H,I,J,K):
* Chain [[31],38]: 1*it(31)+1*s(28)+1*s(41)+3*s(42)+1*s(43)+1*s(44)+0
  Such that:s(35) =< A
aux(20) =< A/2
s(28) =< B/2
aux(23) =< 2*B
s(28) =< aux(23)
it(31) =< aux(23)
s(41) =< aux(23)
aux(19) =< s(35)
s(41) =< it(31)*aux(20)
s(45) =< it(31)*aux(19)
s(42) =< s(45)
s(38) =< s(35)-1
s(43) =< s(42)*s(35)
s(44) =< s(42)*s(38)

  with precondition: [G=3,B>=2,A+1>=2*B] 

* Chain [[31],37]: 1*it(31)+1*s(41)+3*s(42)+1*s(43)+1*s(44)+1*s(46)+0
  Such that:s(35) =< A
aux(20) =< A/2
s(46) =< B/2
aux(24) =< 2*B
s(46) =< aux(24)
it(31) =< aux(24)
s(41) =< aux(24)
aux(19) =< s(35)
s(41) =< it(31)*aux(20)
s(45) =< it(31)*aux(19)
s(42) =< s(45)
s(38) =< s(35)-1
s(43) =< s(42)*s(35)
s(44) =< s(42)*s(38)

  with precondition: [G=3,B>=2,A+1>=2*B] 

* Chain [[31],36]: 1*it(31)+1*s(41)+3*s(42)+1*s(43)+1*s(44)+1*s(47)+2*s(51)+3*s(52)+1*s(54)+1*s(55)+0
  Such that:s(47) =< 1
aux(25) =< A
aux(26) =< A/2
aux(27) =< 2*B
s(50) =< aux(25)
s(50) =< aux(27)
s(51) =< aux(26)
s(51) =< s(50)
s(52) =< aux(25)
s(38) =< aux(25)-1
s(54) =< s(52)*aux(25)
s(55) =< s(52)*s(38)
it(31) =< aux(27)
s(41) =< aux(27)
aux(19) =< aux(25)
s(41) =< it(31)*aux(26)
s(45) =< it(31)*aux(19)
s(42) =< s(45)
s(43) =< s(42)*aux(25)
s(44) =< s(42)*s(38)

  with precondition: [G=3,B>=2,A+1>=2*B] 

* Chain [[31],35]: 1*it(31)+1*s(41)+3*s(42)+1*s(43)+1*s(44)+2*s(59)+7*s(60)+2*s(62)+2*s(63)+0
  Such that:aux(28) =< A
aux(29) =< A/2
aux(30) =< 2*B
s(58) =< aux(28)
s(58) =< aux(30)
s(59) =< aux(29)
s(59) =< s(58)
s(60) =< aux(28)
s(38) =< aux(28)-1
s(62) =< s(60)*aux(28)
s(63) =< s(60)*s(38)
it(31) =< aux(30)
s(41) =< aux(30)
aux(19) =< aux(28)
s(41) =< it(31)*aux(29)
s(45) =< it(31)*aux(19)
s(42) =< s(45)
s(43) =< s(42)*aux(28)
s(44) =< s(42)*s(38)

  with precondition: [G=3,B>=2,A+1>=2*B] 

* Chain [[31],34]: 1*it(31)+1*s(41)+3*s(42)+1*s(43)+1*s(44)+0
  Such that:s(35) =< A
aux(20) =< A/2
aux(31) =< 2*B
it(31) =< aux(31)
s(41) =< aux(31)
aux(19) =< s(35)
s(41) =< it(31)*aux(20)
s(45) =< it(31)*aux(19)
s(42) =< s(45)
s(38) =< s(35)-1
s(43) =< s(42)*s(35)
s(44) =< s(42)*s(38)

  with precondition: [G=3,B>=1,A+1>=2*B,A>=B+1] 

* Chain [[31],33]: 1*it(31)+1*s(41)+3*s(42)+1*s(43)+1*s(44)+0
  Such that:s(35) =< I
aux(20) =< I/2
aux(32) =< 2*B
it(31) =< aux(32)
s(41) =< aux(32)
aux(19) =< s(35)
s(41) =< it(31)*aux(20)
s(45) =< it(31)*aux(19)
s(42) =< s(45)
s(38) =< s(35)-1
s(43) =< s(42)*s(35)
s(44) =< s(42)*s(38)

  with precondition: [G=5,H=0,A=I,B>=1,K>=0,A+1>=2*B,A>=B+1,A>=K+1] 

* Chain [38]: 1*s(28)+0
  Such that:s(28) =< A/2
s(28) =< B

  with precondition: [G=3,A>=2,B>=1,A+1>=2*B] 

* Chain [37]: 1*s(46)+0
  Such that:s(46) =< A/2
s(46) =< B

  with precondition: [G=3,B>=1,A+1>=2*B] 

* Chain [36]: 1*s(47)+2*s(51)+3*s(52)+1*s(54)+1*s(55)+0
  Such that:s(47) =< 1
s(48) =< A-B
s(49) =< A/2
s(50) =< B
s(51) =< s(49)
s(51) =< s(50)
s(52) =< s(48)
s(53) =< s(48)-1
s(54) =< s(52)*s(48)
s(55) =< s(52)*s(53)

  with precondition: [G=3,B>=1,A+1>=2*B,A>=B+1] 

* Chain [35]: 2*s(59)+7*s(60)+2*s(62)+2*s(63)+0
  Such that:s(56) =< A-B
s(57) =< A/2
s(58) =< B
s(59) =< s(57)
s(59) =< s(58)
s(60) =< s(56)
s(61) =< s(56)-1
s(62) =< s(60)*s(56)
s(63) =< s(60)*s(61)

  with precondition: [G=3,B>=1,A+1>=2*B,A>=B+2] 

* Chain [34]: 0
  with precondition: [G=3,A+1>=2*B] 

* Chain [33]: 0
  with precondition: [G=5,I=C,J=D,K=E,B=H,0>=B,A+1>=2*B] 

* Chain [32,34]: 1*s(64)+1
  Such that:s(64) =< 1/2

  with precondition: [A=1,B=1,G=3] 

* Chain [32,33]: 1*s(64)+1
  Such that:s(64) =< 1/2

  with precondition: [A=1,B=1,G=5,H=0,I=1,K=0] 


#### Cost of chains of evalrealshellsortbb8in_loop_cont(A,B,C,D,E,F,G):
* Chain [40]: 0
  with precondition: [A=3] 

* Chain [39]: 0
  with precondition: [A=5] 


#### Cost of chains of evalrealshellsortentryin(A,B,C,D,E,G):
* Chain [47]: 0
  with precondition: [A=0] 

* Chain [46]: 0
  with precondition: [A=1] 

* Chain [45]: 0
  with precondition: [0>=A+1] 

* Chain [44]: 0
  with precondition: [A>=1] 

* Chain [43]: 2*s(142)+1*s(144)+2*s(150)+4*s(151)+1*s(153)+1*s(154)+1*s(156)+3*s(159)+1*s(161)+1*s(162)+1*s(166)+1*s(167)+3*s(170)+1*s(172)+1*s(173)+0
  Such that:s(144) =< 1
aux(39) =< 2*A
aux(42) =< A
aux(43) =< A/2
s(142) =< aux(43)
s(146) =< aux(42)
s(147) =< aux(42)
s(146) =< aux(39)
s(147) =< aux(43)
s(150) =< aux(43)
s(150) =< s(147)
s(151) =< s(146)
s(152) =< s(146)-1
s(153) =< s(151)*s(146)
s(154) =< s(151)*s(152)
s(156) =< s(146)
s(157) =< aux(42)
s(156) =< s(151)*aux(43)
s(158) =< s(151)*s(157)
s(159) =< s(158)
s(160) =< aux(42)-1
s(161) =< s(159)*aux(42)
s(162) =< s(159)*s(160)
s(166) =< aux(42)
s(167) =< aux(42)
s(167) =< s(166)*aux(43)
s(169) =< s(166)*s(157)
s(170) =< s(169)
s(172) =< s(170)*aux(42)
s(173) =< s(170)*s(160)

  with precondition: [A>=2] 

* Chain [42]: 2*s(177)+7*s(178)+2*s(180)+2*s(181)+0
  Such that:s(174) =< A/2+1/2
aux(44) =< A
aux(45) =< A/2
s(174) =< aux(44)
s(176) =< aux(44)
s(176) =< aux(45)
s(177) =< aux(45)
s(177) =< s(176)
s(178) =< s(174)
s(179) =< s(174)-1
s(180) =< s(178)*s(174)
s(181) =< s(178)*s(179)

  with precondition: [A>=3] 

* Chain [41]: 1*s(182)+2*s(187)+4*s(189)+14*s(190)+3*s(192)+3*s(193)+4*s(195)+12*s(198)+4*s(199)+4*s(200)+0
  Such that:s(182) =< 1
s(184) =< A/2
s(186) =< A/4
aux(46) =< A
s(187) =< s(186)
s(189) =< s(184)
s(189) =< aux(46)
s(190) =< aux(46)
s(191) =< aux(46)-1
s(192) =< s(190)*aux(46)
s(193) =< s(190)*s(191)
s(195) =< aux(46)
s(196) =< aux(46)
s(195) =< s(190)*s(184)
s(197) =< s(190)*s(196)
s(198) =< s(197)
s(199) =< s(198)*aux(46)
s(200) =< s(198)*s(191)
s(187) =< aux(46)

  with precondition: [A>=4] 


#### Cost of chains of evalrealshellsortstart(A,B,C,D,E,G):
* Chain [54]: 0
  with precondition: [A=0] 

* Chain [53]: 0
  with precondition: [A=1] 

* Chain [52]: 0
  with precondition: [0>=A+1] 

* Chain [51]: 0
  with precondition: [A>=1] 

* Chain [50]: 1*s(201)+2*s(205)+2*s(208)+4*s(209)+1*s(211)+1*s(212)+1*s(213)+3*s(216)+1*s(218)+1*s(219)+1*s(220)+1*s(221)+3*s(223)+1*s(224)+1*s(225)+0
  Such that:s(201) =< 1
s(203) =< A
s(202) =< 2*A
s(204) =< A/2
s(205) =< s(204)
s(206) =< s(203)
s(207) =< s(203)
s(206) =< s(202)
s(207) =< s(204)
s(208) =< s(204)
s(208) =< s(207)
s(209) =< s(206)
s(210) =< s(206)-1
s(211) =< s(209)*s(206)
s(212) =< s(209)*s(210)
s(213) =< s(206)
s(214) =< s(203)
s(213) =< s(209)*s(204)
s(215) =< s(209)*s(214)
s(216) =< s(215)
s(217) =< s(203)-1
s(218) =< s(216)*s(203)
s(219) =< s(216)*s(217)
s(220) =< s(203)
s(221) =< s(203)
s(221) =< s(220)*s(204)
s(222) =< s(220)*s(214)
s(223) =< s(222)
s(224) =< s(223)*s(203)
s(225) =< s(223)*s(217)

  with precondition: [A>=2] 

* Chain [49]: 2*s(230)+7*s(231)+2*s(233)+2*s(234)+0
  Such that:s(227) =< A
s(228) =< A/2
s(226) =< A/2+1/2
s(226) =< s(227)
s(229) =< s(227)
s(229) =< s(228)
s(230) =< s(228)
s(230) =< s(229)
s(231) =< s(226)
s(232) =< s(226)-1
s(233) =< s(231)*s(226)
s(234) =< s(231)*s(232)

  with precondition: [A>=3] 

* Chain [48]: 1*s(235)+2*s(239)+4*s(240)+14*s(241)+3*s(243)+3*s(244)+4*s(245)+12*s(248)+4*s(249)+4*s(250)+0
  Such that:s(235) =< 1
s(238) =< A
s(236) =< A/2
s(237) =< A/4
s(239) =< s(237)
s(240) =< s(236)
s(240) =< s(238)
s(241) =< s(238)
s(242) =< s(238)-1
s(243) =< s(241)*s(238)
s(244) =< s(241)*s(242)
s(245) =< s(238)
s(246) =< s(238)
s(245) =< s(241)*s(236)
s(247) =< s(241)*s(246)
s(248) =< s(247)
s(249) =< s(248)*s(238)
s(250) =< s(248)*s(242)
s(239) =< s(238)

  with precondition: [A>=4] 


Closed-form bounds of evalrealshellsortstart(A,B,C,D,E,G): 
-------------------------------------
* Chain [54] with precondition: [A=0] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [53] with precondition: [A=1] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [52] with precondition: [0>=A+1] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [51] with precondition: [A>=1] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [50] with precondition: [A>=2] 
    - Upper bound: 7*A+1+7*A*A+2*A*A*A+(A-1)*(2*A*A)+(A-1)*A+2*A 
    - Complexity: n^3 
* Chain [49] with precondition: [A>=3] 
    - Upper bound: 7/2*A+7/2+(A-1)*(A/2+1/2)+(A/2+1/2)*(A+1)+A 
    - Complexity: n^2 
* Chain [48] with precondition: [A>=4] 
    - Upper bound: A/2+(18*A+1+15*A*A+4*A*A*A+(A-1)*(4*A*A)+(A-1)*(3*A)+2*A) 
    - Complexity: n^3 

### Maximum cost of evalrealshellsortstart(A,B,C,D,E,G): nat(A/2)*2+max([nat(nat(A/2+1/2)+ -1)*2*nat(A/2+1/2)+nat(A/2+1/2)*7+nat(A/2+1/2)*2*nat(A/2+1/2),nat(A)*7+1+nat(A)*7*nat(A)+nat(A)*2*nat(A)*nat(A)+nat(A)*2*nat(A)*nat(nat(A)+ -1)+nat(nat(A)+ -1)*nat(A)+nat(A/2)*2+(nat(A)*8*nat(A)+nat(A)*11+nat(A)*2*nat(A)*nat(A)+nat(A)*2*nat(A)*nat(nat(A)+ -1)+nat(A)*2*nat(nat(A)+ -1)+nat(A/4)*2)]) 
Asymptotic class: n^3 
* Total analysis performed in 457 ms.

