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

#### Computed strongly connected components 
0. recursive  : [evalwhile2bb1in/3,evalwhile2bb2in/3]
1. recursive  : [evalwhile2bb2in_loop_cont/7,evalwhile2bb3in/6,evalwhile2bb4in/6]
2. non_recursive  : [evalwhile2stop/4]
3. non_recursive  : [evalwhile2returnin/4]
4. non_recursive  : [exit_location/1]
5. non_recursive  : [evalwhile2bb4in_loop_cont/5]
6. non_recursive  : [evalwhile2entryin/4]
7. non_recursive  : [evalwhile2start/4]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into evalwhile2bb2in/3
1. SCC is partially evaluated into evalwhile2bb4in/6
2. SCC is completely evaluated into other SCCs
3. SCC is completely evaluated into other SCCs
4. SCC is completely evaluated into other SCCs
5. SCC is partially evaluated into evalwhile2bb4in_loop_cont/5
6. SCC is partially evaluated into evalwhile2entryin/4
7. SCC is partially evaluated into evalwhile2start/4

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

### Specialization of cost equations evalwhile2bb2in/3 
* CE 11 is refined into CE [12] 
* CE 10 is refined into CE [13] 
* CE 9 is refined into CE [14] 


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

### Ranking functions of CR evalwhile2bb2in(C,D,E) 
* RF of phase [12]: [C]

#### Partial ranking functions of CR evalwhile2bb2in(C,D,E) 
* Partial RF of phase [12]:
  - RF of loop [12:1]:
    C


### Specialization of cost equations evalwhile2bb4in/6 
* CE 5 is refined into CE [15] 
* CE 3 is refined into CE [16,17] 
* CE 6 is refined into CE [18] 
* CE 4 is refined into CE [19] 


### Cost equations --> "Loop" of evalwhile2bb4in/6 
* CEs [19] --> Loop 15 
* CEs [15] --> Loop 16 
* CEs [18] --> Loop 17 
* CEs [16,17] --> Loop 18 

### Ranking functions of CR evalwhile2bb4in(A,B,C,D,E,F) 
* RF of phase [15]: [A]

#### Partial ranking functions of CR evalwhile2bb4in(A,B,C,D,E,F) 
* Partial RF of phase [15]:
  - RF of loop [15:1]:
    A


### Specialization of cost equations evalwhile2bb4in_loop_cont/5 
* CE 7 is refined into CE [20] 
* CE 8 is refined into CE [21] 


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

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

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


### Specialization of cost equations evalwhile2entryin/4 
* CE 2 is refined into CE [22,23,24,25,26] 


### Cost equations --> "Loop" of evalwhile2entryin/4 
* CEs [23] --> Loop 21 
* CEs [22,25] --> Loop 22 
* CEs [26] --> Loop 23 
* CEs [24] --> Loop 24 

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

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


### Specialization of cost equations evalwhile2start/4 
* CE 1 is refined into CE [27,28,29,30] 


### Cost equations --> "Loop" of evalwhile2start/4 
* CEs [30] --> Loop 25 
* CEs [29] --> Loop 26 
* CEs [28] --> Loop 27 
* CEs [27] --> Loop 28 

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

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


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

#### Cost of chains of evalwhile2bb2in(C,D,E):
* Chain [[12],14]: 1*it(12)+0
  Such that:it(12) =< C

  with precondition: [D=2,E=0,C>=1] 

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

  with precondition: [D=3,C>=1] 

* Chain [13]: 0
  with precondition: [D=3,C>=0] 


#### Cost of chains of evalwhile2bb4in(A,B,C,D,E,F):
* Chain [[15],18]: 1*it(15)+1*s(1)+1*s(4)+0
  Such that:it(15) =< A
aux(2) =< B
s(1) =< aux(2)
s(4) =< it(15)*aux(2)

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

* Chain [[15],17]: 1*it(15)+1*s(4)+0
  Such that:it(15) =< A
aux(1) =< B
s(4) =< it(15)*aux(1)

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

* Chain [[15],16]: 1*it(15)+1*s(4)+0
  Such that:it(15) =< A
aux(1) =< B
s(4) =< it(15)*aux(1)

  with precondition: [D=4,E=0,F=0,A>=1,B>=A] 

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

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

* Chain [17]: 0
  with precondition: [D=3,B>=A] 

* Chain [16]: 0
  with precondition: [D=4,F=C,A=E,0>=A,B>=A] 


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

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


#### Cost of chains of evalwhile2entryin(A,B,C,D):
* Chain [24]: 0
  with precondition: [] 

* Chain [23]: 0
  with precondition: [0>=B] 

* Chain [22]: 3*s(9)+2*s(12)+0
  Such that:aux(6) =< B
s(9) =< aux(6)
s(12) =< s(9)*aux(6)

  with precondition: [B>=1] 

* Chain [21]: 2*s(16)+1*s(19)+0
  Such that:aux(7) =< B
s(16) =< aux(7)
s(19) =< s(16)*aux(7)

  with precondition: [B>=2] 


#### Cost of chains of evalwhile2start(A,B,C,D):
* Chain [28]: 0
  with precondition: [] 

* Chain [27]: 0
  with precondition: [0>=B] 

* Chain [26]: 3*s(21)+2*s(22)+0
  Such that:s(20) =< B
s(21) =< s(20)
s(22) =< s(21)*s(20)

  with precondition: [B>=1] 

* Chain [25]: 2*s(24)+1*s(25)+0
  Such that:s(23) =< B
s(24) =< s(23)
s(25) =< s(24)*s(23)

  with precondition: [B>=2] 


Closed-form bounds of evalwhile2start(A,B,C,D): 
-------------------------------------
* Chain [28] with precondition: [] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [27] with precondition: [0>=B] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [26] with precondition: [B>=1] 
    - Upper bound: 2*B*B+3*B 
    - Complexity: n^2 
* Chain [25] with precondition: [B>=2] 
    - Upper bound: 2*B+B*B 
    - Complexity: n^2 

### Maximum cost of evalwhile2start(A,B,C,D): nat(B)*nat(B)+nat(B)*2+(nat(B)*nat(B)+nat(B)) 
Asymptotic class: n^2 
* Total analysis performed in 71 ms.

