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

#### Computed strongly connected components 
0. recursive  : [f14/9]
1. recursive  : [f10/9,f14_loop_cont/10]
2. recursive  : [f10_loop_cont/10,f6/9]
3. non_recursive  : [exit_location/1]
4. non_recursive  : [f25/5]
5. non_recursive  : [f6_loop_cont/6]
6. non_recursive  : [f0/5]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into f14/9
1. SCC is partially evaluated into f10/9
2. SCC is partially evaluated into f6/9
3. SCC is completely evaluated into other SCCs
4. SCC is completely evaluated into other SCCs
5. SCC is partially evaluated into f6_loop_cont/6
6. SCC is partially evaluated into f0/5

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

### Specialization of cost equations f14/9 
* CE 16 is refined into CE [17] 
* CE 15 is refined into CE [18] 
* CE 14 is refined into CE [19] 
* CE 13 is refined into CE [20] 
* CE 12 is refined into CE [21] 


### Cost equations --> "Loop" of f14/9 
* CEs [19] --> Loop 17 
* CEs [20] --> Loop 18 
* CEs [21] --> Loop 19 
* CEs [17] --> Loop 20 
* CEs [18] --> Loop 21 

### Ranking functions of CR f14(A,B,C,D,F,G,H,I,J) 
* RF of phase [17,18,19]: [C]

#### Partial ranking functions of CR f14(A,B,C,D,F,G,H,I,J) 
* Partial RF of phase [17,18,19]:
  - RF of loop [17:1,18:1]:
    A-1
  - RF of loop [17:1,18:1,19:1]:
    C


### Specialization of cost equations f10/9 
* CE 10 is refined into CE [22] 
* CE 8 is refined into CE [23,24] 
* CE 11 is refined into CE [25] 
* CE 9 is refined into CE [26,27] 


### Cost equations --> "Loop" of f10/9 
* CEs [27] --> Loop 22 
* CEs [26] --> Loop 23 
* CEs [22] --> Loop 24 
* CEs [24] --> Loop 25 
* CEs [23] --> Loop 26 
* CEs [25] --> Loop 27 

### Ranking functions of CR f10(A,B,C,D,F,G,H,I,J) 
* RF of phase [22]: [B]
* RF of phase [23]: [A+B-2]

#### Partial ranking functions of CR f10(A,B,C,D,F,G,H,I,J) 
* Partial RF of phase [22]:
  - RF of loop [22:1]:
    B
* Partial RF of phase [23]:
  - RF of loop [23:1]:
    A+B-2


### Specialization of cost equations f6/9 
* CE 4 is refined into CE [28] 
* CE 2 is refined into CE [29,30,31,32,33,34] 
* CE 5 is refined into CE [35] 
* CE 3 is refined into CE [36,37,38,39] 


### Cost equations --> "Loop" of f6/9 
* CEs [39] --> Loop 28 
* CEs [38] --> Loop 29 
* CEs [37] --> Loop 30 
* CEs [36] --> Loop 31 
* CEs [28] --> Loop 32 
* CEs [34] --> Loop 33 
* CEs [33] --> Loop 34 
* CEs [32] --> Loop 35 
* CEs [31] --> Loop 36 
* CEs [30] --> Loop 37 
* CEs [29] --> Loop 38 
* CEs [35] --> Loop 39 

### Ranking functions of CR f6(A,B,C,D,F,G,H,I,J) 
* RF of phase [29]: [A]
* RF of phase [30]: [A-2]

#### Partial ranking functions of CR f6(A,B,C,D,F,G,H,I,J) 
* Partial RF of phase [29]:
  - RF of loop [29:1]:
    A
* Partial RF of phase [30]:
  - RF of loop [30:1]:
    A-2


### Specialization of cost equations f6_loop_cont/6 
* CE 6 is refined into CE [40] 
* CE 7 is refined into CE [41] 


### Cost equations --> "Loop" of f6_loop_cont/6 
* CEs [40] --> Loop 40 
* CEs [41] --> Loop 41 

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

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


### Specialization of cost equations f0/5 
* CE 1 is refined into CE [42,43,44,45,46,47,48,49,50,51,52] 


### Cost equations --> "Loop" of f0/5 
* CEs [42,43,44,45,46,47,48,49,50,51,52] --> Loop 42 

### Ranking functions of CR f0(A,B,C,D,F) 

#### Partial ranking functions of CR f0(A,B,C,D,F) 


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

#### Cost of chains of f14(A,B,C,D,F,G,H,I,J):
* Chain [[17,18,19],21]: 2*it(17)+1*it(19)+0
  Such that:aux(1) =< A
aux(2) =< A-G
aux(5) =< C
it(17) =< aux(1)
it(17) =< aux(2)
it(17) =< aux(5)
it(19) =< aux(5)

  with precondition: [F=2,I=0,A+B=G+H,B>=0,C>=1,A>=C+1,A>=G,C+G>=A] 

* Chain [[17,18,19],20]: 2*it(17)+1*it(19)+0
  Such that:aux(1) =< A
aux(6) =< C
it(17) =< aux(1)
it(17) =< aux(6)
it(19) =< aux(6)

  with precondition: [F=3,B>=0,C>=1,A>=C+1] 

* Chain [21]: 0
  with precondition: [F=2,J=D,A=G,B=H,C=I,0>=C,B>=0,A>=C+1] 

* Chain [20]: 0
  with precondition: [F=3,B>=0,A>=C+1] 


#### Cost of chains of f10(A,B,C,D,F,G,H,I,J):
* Chain [[23],[22],27]: 2*it(22)+2*s(10)+1*s(11)+0
  Such that:aux(10) =< A
aux(11) =< A+B
it(22) =< aux(11)
s(12) =< it(22)*aux(10)
s(10) =< s(12)
s(10) =< aux(10)
s(11) =< s(12)

  with precondition: [F=3,A>=2,B>=1] 

* Chain [[23],[22],25]: 2*it(22)+2*s(10)+1*s(11)+0
  Such that:aux(12) =< A
aux(13) =< A+B
it(22) =< aux(13)
s(12) =< it(22)*aux(12)
s(10) =< s(12)
s(10) =< aux(12)
s(11) =< s(12)

  with precondition: [F=3,A>=2,B>=1,A+B>=4] 

* Chain [[23],[22],24]: 2*it(22)+2*s(10)+1*s(11)+0
  Such that:aux(14) =< A
aux(15) =< A+B
it(22) =< aux(15)
s(12) =< it(22)*aux(14)
s(10) =< s(12)
s(10) =< aux(14)
s(11) =< s(12)

  with precondition: [F=4,G=1,H=0,I=0,A>=2,B>=1] 

* Chain [[23],27]: 1*it(23)+2*s(10)+1*s(11)+0
  Such that:it(23) =< A+B
aux(16) =< A
s(12) =< it(23)*aux(16)
s(10) =< s(12)
s(10) =< aux(16)
s(11) =< s(12)

  with precondition: [F=3,A>=2,B>=1] 

* Chain [[23],26]: 1*it(23)+2*s(10)+1*s(11)+3*s(16)+0
  Such that:aux(18) =< A
aux(19) =< A+B
aux(17) =< aux(18)
aux(17) =< aux(19)
it(23) =< aux(19)
s(16) =< aux(17)
s(12) =< it(23)*aux(18)
s(10) =< s(12)
s(10) =< aux(18)
s(11) =< s(12)

  with precondition: [F=3,A>=2,B>=1,A+B>=4] 

* Chain [[23],25]: 1*it(23)+2*s(10)+1*s(11)+0
  Such that:it(23) =< A+B
aux(20) =< A
s(12) =< it(23)*aux(20)
s(10) =< s(12)
s(10) =< aux(20)
s(11) =< s(12)

  with precondition: [F=3,A>=2,B>=1] 

* Chain [[23],24]: 1*it(23)+2*s(10)+1*s(11)+0
  Such that:aux(9) =< A
it(23) =< A+B-G
s(13) =< A-G
s(13) =< aux(9)
s(12) =< it(23)*aux(9)
s(10) =< s(12)
s(10) =< s(13)
s(11) =< s(12)

  with precondition: [F=4,H=0,I=0,B>=1,G>=2,A>=G] 

* Chain [[22],27]: 1*it(22)+0
  Such that:it(22) =< B

  with precondition: [F=3,1>=A,A>=0,B>=1] 

* Chain [[22],25]: 1*it(22)+0
  Such that:it(22) =< B

  with precondition: [F=3,1>=A,A>=0,B>=2] 

* Chain [[22],24]: 1*it(22)+0
  Such that:it(22) =< B

  with precondition: [F=4,H=0,A=G,A=I+1,D=J,1>=A,A>=0,B>=1] 

* Chain [27]: 0
  with precondition: [F=3,A>=0] 

* Chain [26]: 3*s(16)+0
  Such that:aux(17) =< A
s(16) =< aux(17)

  with precondition: [F=3,A>=2,B>=1] 

* Chain [25]: 0
  with precondition: [F=3,A>=0,B>=1] 

* Chain [24]: 0
  with precondition: [F=4,I=C,J=D,A=G,B=H,0>=B,A>=0] 


#### Cost of chains of f6(A,B,C,D,F,G,H,I,J):
* Chain [[30],[29],39]: 2*it(29)+2*it(30)+2*s(67)+1*s(68)+0
  Such that:aux(28) =< 2
aux(33) =< A
it(29) =< aux(28)
it(30) =< aux(33)
aux(30) =< aux(33)
s(71) =< it(30)*aux(30)
s(70) =< aux(33)
s(70) =< s(71)
s(69) =< it(30)*aux(33)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],[29],38]: 1*it(29)+2*it(30)+1*s(52)+2*s(67)+1*s(68)+1*s(73)+0
  Such that:aux(34) =< 1
aux(26) =< 2
aux(35) =< A
s(73) =< aux(34)
aux(25) =< aux(26)
it(29) =< aux(26)
aux(25) =< aux(34)
it(29) =< aux(34)
s(52) =< aux(25)
it(30) =< aux(35)
aux(30) =< aux(35)
s(71) =< it(30)*aux(30)
s(70) =< aux(35)
s(70) =< s(71)
s(69) =< it(30)*aux(35)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],[29],36]: 1*it(29)+2*it(30)+1*s(52)+2*s(67)+1*s(68)+0
  Such that:aux(27) =< 1
aux(26) =< 2
aux(36) =< A
aux(25) =< aux(26)
it(29) =< aux(26)
aux(25) =< aux(27)
it(29) =< aux(27)
s(52) =< aux(25)
it(30) =< aux(36)
aux(30) =< aux(36)
s(71) =< it(30)*aux(30)
s(70) =< aux(36)
s(70) =< s(71)
s(69) =< it(30)*aux(36)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],[29],35]: 1*it(29)+2*it(30)+1*s(52)+2*s(67)+1*s(68)+0
  Such that:aux(27) =< 1
aux(26) =< 2
aux(37) =< A
aux(25) =< aux(26)
it(29) =< aux(26)
aux(25) =< aux(27)
it(29) =< aux(27)
s(52) =< aux(25)
it(30) =< aux(37)
aux(30) =< aux(37)
s(71) =< it(30)*aux(30)
s(70) =< aux(37)
s(70) =< s(71)
s(69) =< it(30)*aux(37)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],[29],32]: 2*it(29)+2*it(30)+2*s(67)+1*s(68)+0
  Such that:aux(38) =< 2
aux(39) =< A
it(29) =< aux(38)
it(30) =< aux(39)
aux(30) =< aux(39)
s(71) =< it(30)*aux(30)
s(70) =< aux(39)
s(70) =< s(71)
s(69) =< it(30)*aux(39)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=5,G=0,H=0,I+1=0,A>=3] 

* Chain [[30],39]: 2*it(30)+2*s(67)+1*s(68)+0
  Such that:aux(40) =< A
it(30) =< aux(40)
aux(30) =< aux(40)
s(71) =< it(30)*aux(30)
s(70) =< aux(40)
s(70) =< s(71)
s(69) =< it(30)*aux(40)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],38]: 2*it(30)+2*s(67)+1*s(68)+1*s(73)+0
  Such that:s(73) =< 1
aux(41) =< A
it(30) =< aux(41)
aux(30) =< aux(41)
s(71) =< it(30)*aux(30)
s(70) =< aux(41)
s(70) =< s(71)
s(69) =< it(30)*aux(41)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],36]: 2*it(30)+2*s(67)+1*s(68)+0
  Such that:aux(42) =< A
it(30) =< aux(42)
aux(30) =< aux(42)
s(71) =< it(30)*aux(30)
s(70) =< aux(42)
s(70) =< s(71)
s(69) =< it(30)*aux(42)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],35]: 2*it(30)+2*s(67)+1*s(68)+0
  Such that:aux(43) =< A
it(30) =< aux(43)
aux(30) =< aux(43)
s(71) =< it(30)*aux(30)
s(70) =< aux(43)
s(70) =< s(71)
s(69) =< it(30)*aux(43)
s(67) =< s(69)
s(67) =< s(70)
s(68) =< s(69)

  with precondition: [B=0,F=3,A>=3] 

* Chain [[30],34]: 9*it(30)+2*s(67)+4*s(68)+6*s(79)+0
  Such that:aux(45) =< A
it(30) =< aux(45)
s(69) =< it(30)*aux(45)
s(79) =< s(69)
s(79) =< aux(45)
s(68) =< s(69)
aux(30) =< aux(45)
s(71) =< it(30)*aux(30)
s(70) =< aux(45)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=4] 

* Chain [[30],33]: 8*it(30)+2*s(67)+3*s(68)+4*s(90)+0
  Such that:aux(47) =< A
it(30) =< aux(47)
s(69) =< it(30)*aux(47)
s(90) =< s(69)
s(90) =< aux(47)
s(68) =< s(69)
aux(30) =< aux(47)
s(71) =< it(30)*aux(30)
s(70) =< aux(47)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=5] 

* Chain [[30],31,[29],39]: 2*it(29)+4*it(30)+2*s(67)+2*s(68)+2*s(96)+1
  Such that:aux(28) =< 1
aux(49) =< A
it(29) =< aux(28)
it(30) =< aux(49)
s(69) =< it(30)*aux(49)
s(96) =< s(69)
s(96) =< aux(49)
s(68) =< s(69)
aux(30) =< aux(49)
s(71) =< it(30)*aux(30)
s(70) =< aux(49)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=4] 

* Chain [[30],31,[29],32]: 2*it(29)+4*it(30)+2*s(67)+2*s(68)+2*s(96)+1
  Such that:aux(38) =< 1
aux(50) =< A
it(29) =< aux(38)
it(30) =< aux(50)
s(69) =< it(30)*aux(50)
s(96) =< s(69)
s(96) =< aux(50)
s(68) =< s(69)
aux(30) =< aux(50)
s(71) =< it(30)*aux(30)
s(70) =< aux(50)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=5,G=0,H=0,I+1=0,A>=4] 

* Chain [[30],31,39]: 4*it(30)+2*s(67)+2*s(68)+2*s(96)+1
  Such that:aux(51) =< A
it(30) =< aux(51)
s(69) =< it(30)*aux(51)
s(96) =< s(69)
s(96) =< aux(51)
s(68) =< s(69)
aux(30) =< aux(51)
s(71) =< it(30)*aux(30)
s(70) =< aux(51)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=4] 

* Chain [[30],31,38]: 4*it(30)+2*s(67)+2*s(68)+1*s(73)+2*s(96)+1
  Such that:s(73) =< 1
aux(52) =< A
it(30) =< aux(52)
s(69) =< it(30)*aux(52)
s(96) =< s(69)
s(96) =< aux(52)
s(68) =< s(69)
aux(30) =< aux(52)
s(71) =< it(30)*aux(30)
s(70) =< aux(52)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=4] 

* Chain [[30],31,36]: 4*it(30)+2*s(67)+2*s(68)+2*s(96)+1
  Such that:aux(53) =< A
it(30) =< aux(53)
s(69) =< it(30)*aux(53)
s(96) =< s(69)
s(96) =< aux(53)
s(68) =< s(69)
aux(30) =< aux(53)
s(71) =< it(30)*aux(30)
s(70) =< aux(53)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=4] 

* Chain [[30],31,35]: 4*it(30)+2*s(67)+2*s(68)+2*s(96)+1
  Such that:aux(54) =< A
it(30) =< aux(54)
s(69) =< it(30)*aux(54)
s(96) =< s(69)
s(96) =< aux(54)
s(68) =< s(69)
aux(30) =< aux(54)
s(71) =< it(30)*aux(30)
s(70) =< aux(54)
s(70) =< s(71)
s(67) =< s(69)
s(67) =< s(70)

  with precondition: [B=0,F=3,A>=4] 

* Chain [[29],39]: 2*it(29)+0
  Such that:aux(28) =< A
it(29) =< aux(28)

  with precondition: [B=0,F=3,2>=A,A>=1] 

* Chain [[29],38]: 1*it(29)+1*s(52)+1*s(73)+0
  Such that:aux(26) =< 2
aux(34) =< 1
s(73) =< aux(34)
aux(25) =< aux(26)
it(29) =< aux(26)
aux(25) =< aux(34)
it(29) =< aux(34)
s(52) =< aux(25)

  with precondition: [A=2,B=0,F=3] 

* Chain [[29],36]: 1*it(29)+1*s(52)+0
  Such that:aux(27) =< 1
aux(26) =< 2
aux(25) =< aux(26)
it(29) =< aux(26)
aux(25) =< aux(27)
it(29) =< aux(27)
s(52) =< aux(25)

  with precondition: [A=2,B=0,F=3] 

* Chain [[29],35]: 1*it(29)+1*s(52)+0
  Such that:aux(27) =< 1
aux(26) =< 2
aux(25) =< aux(26)
it(29) =< aux(26)
aux(25) =< aux(27)
it(29) =< aux(27)
s(52) =< aux(25)

  with precondition: [A=2,B=0,F=3] 

* Chain [[29],32]: 2*it(29)+0
  Such that:aux(38) =< A
it(29) =< aux(38)

  with precondition: [B=0,F=5,G=0,H=0,I+1=0,D=J,2>=A,A>=1] 

* Chain [39]: 0
  with precondition: [B=0,F=3] 

* Chain [38]: 1*s(73)+0
  Such that:s(73) =< 1

  with precondition: [B=0,F=3,2>=A,A>=1] 

* Chain [36]: 0
  with precondition: [B=0,F=3,A>=1] 

* Chain [35]: 0
  with precondition: [B=0,F=3,A>=1] 

* Chain [34]: 7*s(76)+6*s(79)+3*s(80)+0
  Such that:aux(44) =< A
s(76) =< aux(44)
s(78) =< s(76)*aux(44)
s(79) =< s(78)
s(79) =< aux(44)
s(80) =< s(78)

  with precondition: [B=0,F=3,A>=3] 

* Chain [33]: 6*s(87)+4*s(90)+2*s(91)+0
  Such that:aux(46) =< A
s(87) =< aux(46)
s(89) =< s(87)*aux(46)
s(90) =< s(89)
s(90) =< aux(46)
s(91) =< s(89)

  with precondition: [B=0,F=3,A>=4] 

* Chain [32]: 0
  with precondition: [B=0,F=5,H=0,I=C,J=D,A=G,0>=A] 

* Chain [31,[29],39]: 2*it(29)+2*s(94)+2*s(96)+1*s(97)+1
  Such that:aux(28) =< 1
aux(48) =< A
it(29) =< aux(28)
s(94) =< aux(48)
s(95) =< s(94)*aux(48)
s(96) =< s(95)
s(96) =< aux(48)
s(97) =< s(95)

  with precondition: [B=0,F=3,A>=3] 

* Chain [31,[29],32]: 2*it(29)+2*s(94)+2*s(96)+1*s(97)+1
  Such that:aux(38) =< 1
aux(48) =< A
it(29) =< aux(38)
s(94) =< aux(48)
s(95) =< s(94)*aux(48)
s(96) =< s(95)
s(96) =< aux(48)
s(97) =< s(95)

  with precondition: [B=0,F=5,G=0,H=0,I+1=0,A>=3] 

* Chain [31,39]: 2*s(94)+2*s(96)+1*s(97)+1
  Such that:aux(48) =< A
s(94) =< aux(48)
s(95) =< s(94)*aux(48)
s(96) =< s(95)
s(96) =< aux(48)
s(97) =< s(95)

  with precondition: [B=0,F=3,A>=3] 

* Chain [31,38]: 1*s(73)+2*s(94)+2*s(96)+1*s(97)+1
  Such that:s(73) =< 1
aux(48) =< A
s(94) =< aux(48)
s(95) =< s(94)*aux(48)
s(96) =< s(95)
s(96) =< aux(48)
s(97) =< s(95)

  with precondition: [B=0,F=3,A>=3] 

* Chain [31,36]: 2*s(94)+2*s(96)+1*s(97)+1
  Such that:aux(48) =< A
s(94) =< aux(48)
s(95) =< s(94)*aux(48)
s(96) =< s(95)
s(96) =< aux(48)
s(97) =< s(95)

  with precondition: [B=0,F=3,A>=3] 

* Chain [31,35]: 2*s(94)+2*s(96)+1*s(97)+1
  Such that:aux(48) =< A
s(94) =< aux(48)
s(95) =< s(94)*aux(48)
s(96) =< s(95)
s(96) =< aux(48)
s(97) =< s(95)

  with precondition: [B=0,F=3,A>=3] 


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

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


#### Cost of chains of f0(A,B,C,D,F):
* Chain [42]: 1*aux(65)+0
  with precondition: [] 


Closed-form bounds of f0(A,B,C,D,F): 
-------------------------------------
* Chain [42] with precondition: [] 
    - Upper bound: inf 
    - Complexity: infinity 

### Maximum cost of f0(A,B,C,D,F): inf 
Asymptotic class: infinity 
* Total analysis performed in 471 ms.

