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

#### Computed strongly connected components 
0. recursive  : [eval2/5]
1. recursive  : [eval1/3,eval2_loop_cont/4]
2. non_recursive  : [exit_location/1]
3. non_recursive  : [eval1_loop_cont/2]
4. non_recursive  : [start/3]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into eval2/5
1. SCC is partially evaluated into eval1/3
2. SCC is completely evaluated into other SCCs
3. SCC is completely evaluated into other SCCs
4. SCC is partially evaluated into start/3

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

### Specialization of cost equations eval2/5 
* CE 7 is refined into CE [8] 
* CE 6 is refined into CE [9] 
* CE 5 is refined into CE [10] 


### Cost equations --> "Loop" of eval2/5 
* CEs [10] --> Loop 8 
* CEs [8] --> Loop 9 
* CEs [9] --> Loop 10 

### Ranking functions of CR eval2(A,B,C,D,E) 
* RF of phase [8]: [2*A-2*B-1]

#### Partial ranking functions of CR eval2(A,B,C,D,E) 
* Partial RF of phase [8]:
  - RF of loop [8:1]:
    2*A-2*B-1


### Specialization of cost equations eval1/3 
* CE 2 is refined into CE [11,12] 
* CE 4 is refined into CE [13] 
* CE 3 is refined into CE [14,15] 


### Cost equations --> "Loop" of eval1/3 
* CEs [15] --> Loop 11 
* CEs [14] --> Loop 12 
* CEs [12] --> Loop 13 
* CEs [11] --> Loop 14 
* CEs [13] --> Loop 15 

### Ranking functions of CR eval1(A,B,C) 
* RF of phase [11]: [A-1]
* RF of phase [12]: [A+1]

#### Partial ranking functions of CR eval1(A,B,C) 
* Partial RF of phase [11]:
  - RF of loop [11:1]:
    A-1
* Partial RF of phase [12]:
  - RF of loop [12:1]:
    A+1


### Specialization of cost equations start/3 
* CE 1 is refined into CE [16,17,18,19,20,21] 


### Cost equations --> "Loop" of start/3 
* CEs [21] --> Loop 16 
* CEs [20] --> Loop 17 
* CEs [19] --> Loop 18 
* CEs [18] --> Loop 19 
* CEs [16] --> Loop 20 
* CEs [17] --> Loop 21 

### Ranking functions of CR start(A,B,C) 

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


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

#### Cost of chains of eval2(A,B,C,D,E):
* Chain [[8],10]: 1*it(8)+0
  Such that:it(8) =< -2*B+2*D+2

  with precondition: [C=2,A=D+1,B>=1,E>=2*B,E>=A,2*A>=E+2] 

* Chain [[8],9]: 1*it(8)+0
  Such that:it(8) =< 2*A-2*B

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

* Chain [10]: 0
  with precondition: [C=2,A=D+1,B=E,A>=0,B>=1,B>=A] 

* Chain [9]: 0
  with precondition: [C=3,B>=1] 


#### Cost of chains of eval1(A,B,C):
* Chain [[12],15]: 1*it(12)+0
  Such that:it(12) =< A+1

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

* Chain [[12],14]: 1*it(12)+0
  Such that:it(12) =< 1

  with precondition: [A=1,C=3] 

* Chain [[11],[12],15]: 1*it(11)+1*it(12)+1*s(3)+0
  Such that:it(12) =< 2
it(11) =< A
aux(1) =< 2*A
s(3) =< it(11)*aux(1)

  with precondition: [C=3,A>=2] 

* Chain [[11],[12],14]: 1*it(11)+1*it(12)+1*s(3)+0
  Such that:it(12) =< 1
it(11) =< A
aux(1) =< 2*A
s(3) =< it(11)*aux(1)

  with precondition: [C=3,A>=2] 

* Chain [[11],15]: 1*it(11)+1*s(3)+0
  Such that:it(11) =< A
aux(1) =< 2*A
s(3) =< it(11)*aux(1)

  with precondition: [C=3,A>=2] 

* Chain [[11],14]: 1*it(11)+1*s(3)+0
  Such that:it(11) =< A
aux(1) =< 2*A
s(3) =< it(11)*aux(1)

  with precondition: [C=3,A>=2] 

* Chain [[11],13]: 1*it(11)+1*s(3)+1*s(4)+0
  Such that:it(11) =< A
aux(2) =< 2*A
it(11) =< aux(2)
s(4) =< aux(2)
s(3) =< it(11)*aux(2)

  with precondition: [C=3,A>=3] 

* Chain [15]: 0
  with precondition: [C=3] 

* Chain [14]: 0
  with precondition: [C=3,A>=0] 

* Chain [13]: 1*s(4)+0
  Such that:s(4) =< 2*A

  with precondition: [C=3,A>=2] 


#### Cost of chains of start(A,B,C):
* Chain [21]: 0
  with precondition: [] 

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

  with precondition: [A=1] 

* Chain [19]: 1*s(21)+0
  Such that:s(21) =< A+1

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

* Chain [18]: 0
  with precondition: [A>=0] 

* Chain [17]: 1*s(22)+1*s(23)+4*s(26)+1*s(27)+4*s(28)+0
  Such that:s(22) =< 1
s(23) =< 2
s(24) =< A
s(25) =< 2*A
s(26) =< s(24)
s(27) =< s(25)
s(28) =< s(26)*s(25)

  with precondition: [A>=2] 

* Chain [16]: 1*s(29)+1*s(31)+1*s(32)+0
  Such that:s(29) =< A
s(30) =< 2*A
s(29) =< s(30)
s(31) =< s(30)
s(32) =< s(29)*s(30)

  with precondition: [A>=3] 


Closed-form bounds of start(A,B,C): 
-------------------------------------
* Chain [21] with precondition: [] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [20] with precondition: [A=1] 
    - Upper bound: 1 
    - Complexity: constant 
* Chain [19] with precondition: [1>=A,A>=0] 
    - Upper bound: A+1 
    - Complexity: n 
* Chain [18] with precondition: [A>=0] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [17] with precondition: [A>=2] 
    - Upper bound: 4*A+3+4*A*(2*A)+2*A 
    - Complexity: n^2 
* Chain [16] with precondition: [A>=3] 
    - Upper bound: 2*A*A+A+2*A 
    - Complexity: n^2 

### Maximum cost of start(A,B,C): max([max([1,nat(A+1)]),nat(2*A)*nat(A)+nat(A)+nat(2*A)+(nat(A)*3+3+nat(A)*3*nat(2*A))]) 
Asymptotic class: n^2 
* Total analysis performed in 75 ms.

