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

#### Computed strongly connected components 
0. recursive  : [f2/7]
1. non_recursive  : [exit_location/1]
2. non_recursive  : [f300/4]
3. non_recursive  : [f2_loop_cont/5]
4. non_recursive  : [f1/4]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into f2/7
1. SCC is completely evaluated into other SCCs
2. SCC is completely evaluated into other SCCs
3. SCC is partially evaluated into f2_loop_cont/5
4. SCC is partially evaluated into f1/4

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

### Specialization of cost equations f2/7 
* CE 12 is refined into CE [15] 
* CE 2 is refined into CE [16] 
* CE 7 is refined into CE [17] 
* CE 11 is refined into CE [18] 
* CE 8 is refined into CE [19] 
* CE 4 is refined into CE [20] 
* CE 5 is refined into CE [21] 
* CE 10 is refined into CE [22] 
* CE 9 is refined into CE [23] 
* CE 6 is refined into CE [24] 
* CE 3 is refined into CE [25] 


### Cost equations --> "Loop" of f2/7 
* CEs [17] --> Loop 15 
* CEs [18] --> Loop 16 
* CEs [19] --> Loop 17 
* CEs [20] --> Loop 18 
* CEs [21] --> Loop 19 
* CEs [22] --> Loop 20 
* CEs [23] --> Loop 21 
* CEs [24] --> Loop 22 
* CEs [25] --> Loop 23 
* CEs [15] --> Loop 24 
* CEs [16] --> Loop 25 

### Ranking functions of CR f2(A,B,C,E,F,G,H) 
* RF of phase [15]: [-B+1]
* RF of phase [16]: [-A+1]
* RF of phase [17]: [-A+1,-B+1]
* RF of phase [22]: [-B+1]

#### Partial ranking functions of CR f2(A,B,C,E,F,G,H) 
* Partial RF of phase [15]:
  - RF of loop [15:1]:
    -B+1
* Partial RF of phase [16]:
  - RF of loop [16:1]:
    -A+1
* Partial RF of phase [17]:
  - RF of loop [17:1]:
    -A+1
    -B+1
* Partial RF of phase [22]:
  - RF of loop [22:1]:
    -B+1


### Specialization of cost equations f2_loop_cont/5 
* CE 14 is refined into CE [26] 
* CE 13 is refined into CE [27] 


### Cost equations --> "Loop" of f2_loop_cont/5 
* CEs [26] --> Loop 26 
* CEs [27] --> Loop 27 

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

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


### Specialization of cost equations f1/4 
* CE 1 is refined into CE [28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68] 


### Cost equations --> "Loop" of f1/4 
* CEs [67,68] --> Loop 28 
* CEs [65,66] --> Loop 29 
* CEs [63,64] --> Loop 30 
* CEs [61,62] --> Loop 31 
* CEs [59,60] --> Loop 32 
* CEs [57,58] --> Loop 33 
* CEs [55,56] --> Loop 34 
* CEs [53,54] --> Loop 35 
* CEs [51,52] --> Loop 36 
* CEs [49,50] --> Loop 37 
* CEs [39] --> Loop 38 
* CEs [48] --> Loop 39 
* CEs [47] --> Loop 40 
* CEs [38,46] --> Loop 41 
* CEs [45] --> Loop 42 
* CEs [44] --> Loop 43 
* CEs [43] --> Loop 44 
* CEs [42] --> Loop 45 
* CEs [41] --> Loop 46 
* CEs [34,37] --> Loop 47 
* CEs [36] --> Loop 48 
* CEs [35] --> Loop 49 
* CEs [32,33] --> Loop 50 
* CEs [31] --> Loop 51 
* CEs [30] --> Loop 52 
* CEs [29] --> Loop 53 
* CEs [28] --> Loop 54 
* CEs [40] --> Loop 55 

### Ranking functions of CR f1(A,B,C,E) 

#### Partial ranking functions of CR f1(A,B,C,E) 


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

#### Cost of chains of f2(A,B,C,E,F,G,H):
* Chain [[22],24]: 1*it(22)+0
  Such that:it(22) =< -B+1

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

* Chain [[22],23,[21]]...: 1*it(21)+1*it(22)+1
  Such that:it(22) =< -B+1

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

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

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

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

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

* Chain [[21]]...: 1*it(21)+0
  with precondition: [A=1,B>=2] 

* Chain [[21],24]: 1*it(21)+0
  with precondition: [A=1,E=3,B>=2] 

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

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

* Chain [[17],[22],23,[21]]...: 1*it(17)+1*it(21)+1*it(22)+1
  Such that:it(17) =< -A+1
it(22) =< A-B

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

* Chain [[17],[22],23,[21],24]: 1*it(17)+1*it(21)+1*it(22)+1
  Such that:it(17) =< -A+1
it(22) =< A-B

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

* Chain [[17],[22],23,24]: 1*it(17)+1*it(22)+1
  Such that:it(17) =< -A+1
it(22) =< A-B

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

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

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

* Chain [[17],23,[21]]...: 1*it(17)+1*it(21)+1
  Such that:it(17) =< -B+1

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

* Chain [[17],23,[21],24]: 1*it(17)+1*it(21)+1
  Such that:it(17) =< -A+1

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

* Chain [[17],23,24]: 1*it(17)+1
  Such that:it(17) =< -A+1

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

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

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

* Chain [[17],19,[21],24]: 1*it(17)+1*it(21)+1
  Such that:it(17) =< -A

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

* Chain [[17],19,[16],[21]]...: 1*it(16)+1*it(17)+1*it(21)+1
  Such that:it(16) =< -A+B
it(17) =< -B+1

  with precondition: [0>=B,B>=A+2] 

* Chain [[17],19,[16],[21],24]: 1*it(16)+1*it(17)+1*it(21)+1
  Such that:it(16) =< -A+B
it(17) =< -B+1

  with precondition: [E=3,0>=B,B>=A+2] 

* Chain [[17],19,[16],24]: 1*it(16)+1*it(17)+1
  Such that:it(16) =< -A+B
it(17) =< -B+1

  with precondition: [E=3,0>=B,B>=A+2] 

* Chain [[17],19,24]: 1*it(17)+1
  Such that:it(17) =< -B+1

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

* Chain [[16],[21]]...: 1*it(16)+1*it(21)+0
  Such that:it(16) =< -A+1

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

* Chain [[16],[21],24]: 1*it(16)+1*it(21)+0
  Such that:it(16) =< -A+1

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

* Chain [[16],24]: 1*it(16)+0
  Such that:it(16) =< -A+1

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

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

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

* Chain [[15],18,25]: 1*it(15)+1
  Such that:it(15) =< -A+F

  with precondition: [E=2,G=2,A+2=B+F,0>=B,A>=2] 

* Chain [[15],18,24]: 1*it(15)+1
  Such that:it(15) =< -B+1

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

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

* Chain [24]: 0
  with precondition: [E=3] 

* Chain [23,[21]]...: 1*it(21)+1
  with precondition: [A=1,B=1] 

* Chain [23,[21],24]: 1*it(21)+1
  with precondition: [A=1,B=1,E=3] 

* Chain [23,24]: 1
  with precondition: [A=1,B=1,E=3] 

* Chain [20,25]: 1
  with precondition: [A=2,E=2,F=3,G=B+1,G>=3] 

* Chain [20,24]: 1
  with precondition: [A=2,E=3,B>=2] 

* Chain [19,[21]]...: 1*it(21)+1
  with precondition: [A=0,B=1] 

* Chain [19,[21],24]: 1*it(21)+1
  with precondition: [A=0,B=1,E=3] 

* Chain [19,[16],[21]]...: 1*it(16)+1*it(21)+1
  Such that:it(16) =< -A

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

* Chain [19,[16],[21],24]: 1*it(16)+1*it(21)+1
  Such that:it(16) =< -A

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

* Chain [19,[16],24]: 1*it(16)+1
  Such that:it(16) =< -A

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

* Chain [19,24]: 1
  with precondition: [B=1,E=3,0>=A] 

* Chain [18,25]: 1
  with precondition: [B=1,E=2,G=2,F=A+1,F>=3] 

* Chain [18,24]: 1
  with precondition: [B=1,E=3,A>=2] 


#### Cost of chains of f2_loop_cont(A,B,C,D,E):
* Chain [27]: 0
  with precondition: [A=2] 

* Chain [26]: 0
  with precondition: [A=3] 


#### Cost of chains of f1(A,B,C,E):
* Chain [55]: 0
  with precondition: [] 

* Chain [54]: 1*s(29)+1
  with precondition: [A=0,B=1] 

* Chain [53]: 1*s(30)+0
  with precondition: [A=1,B=1] 

* Chain [52]: 3*s(32)+1*s(33)+1
  Such that:s(31) =< -B+1
s(32) =< s(31)

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

* Chain [51]: 1*s(34)+0
  with precondition: [A=1,B>=2] 

* Chain [50]: 1
  with precondition: [A=2,B>=2] 

* Chain [49]: 1
  with precondition: [B=1,0>=A] 

* Chain [48]: 2*s(36)+1*s(37)+1
  Such that:s(35) =< -A
s(36) =< s(35)

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

* Chain [47]: 1
  with precondition: [B=1,A>=2] 

* Chain [46]: 1*s(38)+1*s(39)+1
  Such that:s(38) =< -B+1

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

* Chain [45]: 2*s(41)+1*s(42)+1
  Such that:s(40) =< -B+1
s(41) =< s(40)

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

* Chain [44]: 1*s(43)+0
  Such that:s(43) =< -A+1
s(43) =< -B+1

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

* Chain [43]: 2*s(45)+1*s(46)+0
  Such that:s(44) =< -A+1
s(45) =< s(44)

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

* Chain [42]: 3*s(49)+3*s(50)+1*s(51)+1
  Such that:s(47) =< -A+1
s(48) =< A-B
s(49) =< s(47)
s(50) =< s(48)

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

* Chain [41]: 1*s(52)+2*s(54)+1
  Such that:s(53) =< -B+1
s(52) =< -B+2
s(54) =< s(53)

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

* Chain [40]: 1*s(55)+1
  Such that:s(55) =< -B+1

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

* Chain [39]: 2*s(58)+2*s(59)+1*s(60)+1
  Such that:s(56) =< -A+B
s(57) =< -B+1
s(58) =< s(56)
s(59) =< s(57)

  with precondition: [0>=B,B>=A+2] 

* Chain [38]: 0
  with precondition: [A>=3,B>=2] 

* Chain [37]...: 1*aux(11)+0
  with precondition: [A=0,B=1] 

* Chain [36]...: 1*aux(12)+0
  with precondition: [A=1,B=1] 

* Chain [35]...: 2*s(65)+2*s(66)+1
  Such that:aux(13) =< -B+1
s(65) =< aux(13)

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

* Chain [34]...: 1*aux(14)+0
  with precondition: [A=1,B>=2] 

* Chain [33]...: 2*s(71)+2*s(72)+1
  Such that:aux(15) =< -A
s(71) =< aux(15)

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

* Chain [32]...: 2*s(75)+2*s(76)+1
  Such that:aux(16) =< -B+1
s(75) =< aux(16)

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

* Chain [31]...: 2*s(79)+2*s(80)+1
  Such that:aux(17) =< -B+1
s(79) =< aux(17)

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

* Chain [30]...: 2*s(83)+2*s(84)+0
  Such that:aux(18) =< -A+1
s(83) =< aux(18)

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

* Chain [29]...: 2*s(87)+2*s(88)+2*s(89)+1
  Such that:aux(19) =< -A+1
aux(20) =< A-B
s(87) =< aux(19)
s(88) =< aux(20)

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

* Chain [28]...: 2*s(93)+2*s(94)+2*s(95)+1
  Such that:aux(21) =< -A+B
aux(22) =< -B+1
s(93) =< aux(21)
s(94) =< aux(22)

  with precondition: [0>=B,B>=A+2] 


Closed-form bounds of f1(A,B,C,E): 
-------------------------------------
* Chain [55] with precondition: [] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [54] with precondition: [A=0,B=1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [53] with precondition: [A=1,B=1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [52] with precondition: [A=1,0>=B] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [51] with precondition: [A=1,B>=2] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [50] with precondition: [A=2,B>=2] 
    - Upper bound: 1 
    - Complexity: constant 
* Chain [49] with precondition: [B=1,0>=A] 
    - Upper bound: 1 
    - Complexity: constant 
* Chain [48] with precondition: [B=1,0>=A+1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [47] with precondition: [B=1,A>=2] 
    - Upper bound: 1 
    - Complexity: constant 
* Chain [46] with precondition: [A+1=B,0>=A+1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [45] with precondition: [A=B,0>=A] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [44] with precondition: [0>=A,0>=B] 
    - Upper bound: -A+1 
    - Complexity: n 
* Chain [43] with precondition: [0>=A,B>=2] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [42] with precondition: [0>=A,A>=B+1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [41] with precondition: [0>=B,A>=2] 
    - Upper bound: -3*B+5 
    - Complexity: n 
* Chain [40] with precondition: [0>=B,B>=A+1] 
    - Upper bound: -B+2 
    - Complexity: n 
* Chain [39] with precondition: [0>=B,B>=A+2] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [38] with precondition: [A>=3,B>=2] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [37]... with precondition: [A=0,B=1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [36]... with precondition: [A=1,B=1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [35]... with precondition: [A=1,0>=B] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [34]... with precondition: [A=1,B>=2] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [33]... with precondition: [B=1,0>=A+1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [32]... with precondition: [A+1=B,0>=A+1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [31]... with precondition: [A=B,0>=A] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [30]... with precondition: [0>=A,B>=2] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [29]... with precondition: [0>=A,A>=B+1] 
    - Upper bound: inf 
    - Complexity: infinity 
* Chain [28]... with precondition: [0>=B,B>=A+2] 
    - Upper bound: inf 
    - Complexity: infinity 

### Maximum cost of f1(A,B,C,E): inf 
Asymptotic class: infinity 
* Total analysis performed in 375 ms.

