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

#### Computed strongly connected components 
0. recursive  : [evalfbb1in/7]
1. recursive  : [evalfbb3in/7]
2. recursive  : [evalfbb1in_loop_cont/14,evalfbb3in_loop_cont/14,evalfbb5in/13,evalfbbin/13]
3. non_recursive  : [evalfstop/8]
4. non_recursive  : [evalfreturnin/8]
5. non_recursive  : [exit_location/1]
6. non_recursive  : [evalfbb5in_loop_cont/9]
7. non_recursive  : [evalfentryin/8]
8. non_recursive  : [evalfstart/8]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into evalfbb1in/7
1. SCC is partially evaluated into evalfbb3in/7
2. SCC is partially evaluated into evalfbb5in/13
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 evalfbb5in_loop_cont/9
7. SCC is partially evaluated into evalfentryin/8
8. SCC is partially evaluated into evalfstart/8

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

### Specialization of cost equations evalfbb1in/7 
* CE 13 is refined into CE [17] 
* CE 11 is refined into CE [18] 
* CE 12 is refined into CE [19] 


### Cost equations --> "Loop" of evalfbb1in/7 
* CEs [19] --> Loop 16 
* CEs [17] --> Loop 17 
* CEs [18] --> Loop 18 

### Ranking functions of CR evalfbb1in(B,C,F,G,I,J,K) 
* RF of phase [16]: [-F+G]

#### Partial ranking functions of CR evalfbb1in(B,C,F,G,I,J,K) 
* Partial RF of phase [16]:
  - RF of loop [16:1]:
    -F+G


### Specialization of cost equations evalfbb3in/7 
* CE 16 is refined into CE [20] 
* CE 14 is refined into CE [21] 
* CE 15 is refined into CE [22] 


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

### Ranking functions of CR evalfbb3in(A,C,F,G,I,J,K) 
* RF of phase [19]: [-F+G]

#### Partial ranking functions of CR evalfbb3in(A,C,F,G,I,J,K) 
* Partial RF of phase [19]:
  - RF of loop [19:1]:
    -F+G


### Specialization of cost equations evalfbb5in/13 
* CE 7 is refined into CE [23] 
* CE 3 is refined into CE [24,25] 
* CE 5 is refined into CE [26,27] 
* CE 8 is refined into CE [28] 
* CE 6 is refined into CE [29,30] 
* CE 4 is refined into CE [31,32] 


### Cost equations --> "Loop" of evalfbb5in/13 
* CEs [31] --> Loop 22 
* CEs [29] --> Loop 23 
* CEs [30] --> Loop 24 
* CEs [32] --> Loop 25 
* CEs [23] --> Loop 26 
* CEs [24,26] --> Loop 27 
* CEs [25] --> Loop 28 
* CEs [27] --> Loop 29 
* CEs [28] --> Loop 30 

### Ranking functions of CR evalfbb5in(A,B,C,D,E,F,G,I,J,K,L,M,N) 
* RF of phase [22,23,24,25]: [-C+D]

#### Partial ranking functions of CR evalfbb5in(A,B,C,D,E,F,G,I,J,K,L,M,N) 
* Partial RF of phase [22,23,24,25]:
  - RF of loop [22:1,23:1,24:1,25:1]:
    -C+D
  - RF of loop [24:1]:
    -A/2+G/2
    B-C+G depends on loops [25:1] 
  - RF of loop [25:1]:
    A-C+G depends on loops [24:1] 
    -B/2+G/2


### Specialization of cost equations evalfbb5in_loop_cont/9 
* CE 9 is refined into CE [33] 
* CE 10 is refined into CE [34] 


### Cost equations --> "Loop" of evalfbb5in_loop_cont/9 
* CEs [33] --> Loop 31 
* CEs [34] --> Loop 32 

### Ranking functions of CR evalfbb5in_loop_cont(A,B,C,D,E,F,G,H,I) 

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


### Specialization of cost equations evalfentryin/8 
* CE 2 is refined into CE [35,36,37,38,39,40,41,42,43] 


### Cost equations --> "Loop" of evalfentryin/8 
* CEs [36,38] --> Loop 33 
* CEs [40] --> Loop 34 
* CEs [35,37] --> Loop 35 
* CEs [39,43] --> Loop 36 
* CEs [42] --> Loop 37 
* CEs [41] --> Loop 38 

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

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


### Specialization of cost equations evalfstart/8 
* CE 1 is refined into CE [44,45,46,47,48,49] 


### Cost equations --> "Loop" of evalfstart/8 
* CEs [49] --> Loop 39 
* CEs [48] --> Loop 40 
* CEs [47] --> Loop 41 
* CEs [46] --> Loop 42 
* CEs [45] --> Loop 43 
* CEs [44] --> Loop 44 

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

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


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

#### Cost of chains of evalfbb1in(B,C,F,G,I,J,K):
* Chain [[16],18]: 1*it(16)+0
  Such that:it(16) =< -F+J

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

* Chain [[16],17]: 1*it(16)+0
  Such that:it(16) =< -F+G

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

* Chain [18]: 0
  with precondition: [I=2,F+1=J,F=K,C>=0,F>=B,F>=G] 

* Chain [17]: 0
  with precondition: [I=3,C>=0,F>=B] 


#### Cost of chains of evalfbb3in(A,C,F,G,I,J,K):
* Chain [[19],21]: 1*it(19)+0
  Such that:it(19) =< -F+J

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

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

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

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

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


#### Cost of chains of evalfbb5in(A,B,C,D,E,F,G,I,J,K,L,M,N):
* Chain [[22,23,24,25],30]: 2*it(22)+1*it(24)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:s(5) =< -A+G+1
it(24) =< -A/2+G/2
s(6) =< -B+G+1
it(25) =< -B/2+G/2
aux(29) =< -C+D
it(22) =< aux(29)
it(24) =< aux(29)
it(25) =< aux(29)

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

* Chain [[22,23,24,25],29]: 2*it(22)+1*it(24)+1*it(25)+2*s(5)+1*s(6)+0
  Such that:it(24) =< -A/2+G/2
s(6) =< -B+G+1
it(25) =< -B/2+G/2
aux(30) =< -A+G
aux(31) =< -C+D
it(24) =< aux(30)
s(5) =< aux(30)
it(22) =< aux(31)
it(24) =< aux(31)
it(25) =< aux(31)

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

* Chain [[22,23,24,25],28]: 2*it(22)+1*it(24)+1*it(25)+1*s(5)+2*s(6)+0
  Such that:s(5) =< -A+G+1
it(24) =< -A/2+G/2
it(25) =< -B/2+G/2
aux(32) =< -B+G
aux(33) =< -C+D
it(25) =< aux(32)
s(6) =< aux(32)
it(22) =< aux(33)
it(24) =< aux(33)
it(25) =< aux(33)

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

* Chain [[22,23,24,25],27]: 2*it(22)+1*it(24)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:s(5) =< -A+G+1
it(24) =< -A/2+G/2
s(6) =< -B+G+1
it(25) =< -B/2+G/2
aux(34) =< -C+D
it(22) =< aux(34)
it(24) =< aux(34)
it(25) =< aux(34)

  with precondition: [I=3,A>=0,B>=0,C>=0,D>=C+2,A+B>=C] 

* Chain [[22,23,24,25],26]: 2*it(22)+1*it(24)+1*it(25)+1*s(5)+1*s(6)+0
  Such that:s(5) =< -A+G+1
s(5) =< -A+J
it(24) =< -A/2+G/2
it(24) =< -A/2+J/2
s(6) =< -B+G+1
s(6) =< -B+K
it(25) =< -B/2+G/2
it(25) =< -B/2+K/2
aux(35) =< -C+L
it(22) =< aux(35)
it(24) =< aux(35)
it(25) =< aux(35)

  with precondition: [I=4,D=L,D=M,A>=0,B>=0,C>=0,J>=A,K>=B,D>=C+1,N>=G,A+B>=C,J+K>=N+1,C+J+K>=D+G,C+J+K>=A+B+D] 

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

* Chain [29]: 1*s(7)+0
  Such that:s(7) =< -A+G

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

* Chain [28]: 1*s(8)+0
  Such that:s(8) =< -B+G

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

* Chain [27]: 0
  with precondition: [I=3,A>=0,B>=0,C>=0,D>=C+1,A+B>=C] 

* Chain [26]: 0
  with precondition: [I=4,M=E,N=F,A=J,B=K,C=L,A>=0,B>=0,C>=0,C>=D,A+B>=C] 


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

* Chain [31]: 0
  with precondition: [A=4] 


#### Cost of chains of evalfentryin(A,B,C,D,E,F,G,I):
* Chain [38]: 0
  with precondition: [] 

* Chain [37]: 0
  with precondition: [0>=D] 

* Chain [36]: 4*s(15)+4*s(16)+4*s(20)+0
  Such that:aux(40) =< D
aux(41) =< G+1
aux(42) =< G/2
s(15) =< aux(41)
s(16) =< aux(42)
s(20) =< aux(40)
s(16) =< aux(40)

  with precondition: [D>=1] 

* Chain [35]: 2*s(27)+0
  Such that:aux(43) =< G
s(27) =< aux(43)

  with precondition: [D>=1,G>=1] 

* Chain [34]: 2*s(29)+2*s(30)+2*s(34)+0
  Such that:s(33) =< D
aux(44) =< G+1
aux(45) =< G/2
s(29) =< aux(44)
s(30) =< aux(45)
s(34) =< s(33)
s(30) =< s(33)

  with precondition: [D>=2] 

* Chain [33]: 2*s(35)+2*s(36)+2*s(37)+4*s(40)+4*s(41)+0
  Such that:aux(48) =< D
aux(49) =< G
aux(50) =< G+1
aux(51) =< G/2
s(36) =< aux(50)
s(35) =< aux(51)
s(37) =< aux(51)
s(35) =< aux(49)
s(40) =< aux(49)
s(41) =< aux(48)
s(35) =< aux(48)
s(37) =< aux(48)

  with precondition: [D>=2,G>=1] 


#### Cost of chains of evalfstart(A,B,C,D,E,F,G,I):
* Chain [44]: 0
  with precondition: [] 

* Chain [43]: 0
  with precondition: [0>=D] 

* Chain [42]: 4*s(52)+4*s(53)+4*s(54)+0
  Such that:s(49) =< D
s(50) =< G+1
s(51) =< G/2
s(52) =< s(50)
s(53) =< s(51)
s(54) =< s(49)
s(53) =< s(49)

  with precondition: [D>=1] 

* Chain [41]: 2*s(56)+0
  Such that:s(55) =< G
s(56) =< s(55)

  with precondition: [D>=1,G>=1] 

* Chain [40]: 2*s(60)+2*s(61)+2*s(62)+0
  Such that:s(57) =< D
s(58) =< G+1
s(59) =< G/2
s(60) =< s(58)
s(61) =< s(59)
s(62) =< s(57)
s(61) =< s(57)

  with precondition: [D>=2] 

* Chain [39]: 2*s(67)+2*s(68)+2*s(69)+4*s(70)+4*s(71)+0
  Such that:s(63) =< D
s(64) =< G
s(65) =< G+1
s(66) =< G/2
s(67) =< s(65)
s(68) =< s(66)
s(69) =< s(66)
s(68) =< s(64)
s(70) =< s(64)
s(71) =< s(63)
s(68) =< s(63)
s(69) =< s(63)

  with precondition: [D>=2,G>=1] 


Closed-form bounds of evalfstart(A,B,C,D,E,F,G,I): 
-------------------------------------
* Chain [44] with precondition: [] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [43] with precondition: [0>=D] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [42] with precondition: [D>=1] 
    - Upper bound: nat(G+1)*4+4*D+nat(G/2)*4 
    - Complexity: n 
* Chain [41] with precondition: [D>=1,G>=1] 
    - Upper bound: 2*G 
    - Complexity: n 
* Chain [40] with precondition: [D>=2] 
    - Upper bound: nat(G+1)*2+2*D+nat(G/2)*2 
    - Complexity: n 
* Chain [39] with precondition: [D>=2,G>=1] 
    - Upper bound: 4*D+8*G+2 
    - Complexity: n 

### Maximum cost of evalfstart(A,B,C,D,E,F,G,I): max([nat(G)*2,nat(G/2)*2+nat(D)*2+max([nat(G)*4,nat(G+1)*2])+(nat(G+1)*2+nat(D)*2+nat(G/2)*2)]) 
Asymptotic class: n 
* Total analysis performed in 480 ms.

