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

#### Computed strongly connected components 
0. recursive  : [evalNestedMultiplebb1in/4,evalNestedMultiplebb2in/4,evalNestedMultiplebb3in/4]
1. recursive  : [evalNestedMultiplebb2in_loop_cont/10,evalNestedMultiplebb4in/9,evalNestedMultiplebb5in/9]
2. non_recursive  : [evalNestedMultiplestop/6]
3. non_recursive  : [evalNestedMultiplereturnin/6]
4. non_recursive  : [exit_location/1]
5. non_recursive  : [evalNestedMultiplebb5in_loop_cont/7]
6. non_recursive  : [evalNestedMultipleentryin/6]
7. non_recursive  : [evalNestedMultiplestart/6]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into evalNestedMultiplebb2in/4
1. SCC is partially evaluated into evalNestedMultiplebb5in/9
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 evalNestedMultiplebb5in_loop_cont/7
6. SCC is partially evaluated into evalNestedMultipleentryin/6
7. SCC is partially evaluated into evalNestedMultiplestart/6

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

### Specialization of cost equations evalNestedMultiplebb2in/4 
* CE 12 is refined into CE [13] 
* CE 9 is refined into CE [14] 
* CE 11 is refined into CE [15] 
* CE 10 is refined into CE [16] 


### Cost equations --> "Loop" of evalNestedMultiplebb2in/4 
* CEs [16] --> Loop 13 
* CEs [13] --> Loop 14 
* CEs [14] --> Loop 15 
* CEs [15] --> Loop 16 

### Ranking functions of CR evalNestedMultiplebb2in(C,E,G,H) 
* RF of phase [13]: [C-E]

#### Partial ranking functions of CR evalNestedMultiplebb2in(C,E,G,H) 
* Partial RF of phase [13]:
  - RF of loop [13:1]:
    C-E


### Specialization of cost equations evalNestedMultiplebb5in/9 
* CE 5 is refined into CE [17] 
* CE 3 is refined into CE [18,19] 
* CE 6 is refined into CE [20] 
* CE 4 is refined into CE [21,22,23,24] 


### Cost equations --> "Loop" of evalNestedMultiplebb5in/9 
* CEs [24] --> Loop 17 
* CEs [23] --> Loop 18 
* CEs [22] --> Loop 19 
* CEs [21] --> Loop 20 
* CEs [17] --> Loop 21 
* CEs [19] --> Loop 22 
* CEs [18] --> Loop 23 
* CEs [20] --> Loop 24 

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

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


### Specialization of cost equations evalNestedMultiplebb5in_loop_cont/7 
* CE 7 is refined into CE [25] 
* CE 8 is refined into CE [26] 


### Cost equations --> "Loop" of evalNestedMultiplebb5in_loop_cont/7 
* CEs [25] --> Loop 25 
* CEs [26] --> Loop 26 

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

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


### Specialization of cost equations evalNestedMultipleentryin/6 
* CE 2 is refined into CE [27,28,29,30,31,32,33,34,35,36,37,38,39,40] 


### Cost equations --> "Loop" of evalNestedMultipleentryin/6 
* CEs [36] --> Loop 27 
* CEs [34] --> Loop 28 
* CEs [33,38] --> Loop 29 
* CEs [31] --> Loop 30 
* CEs [32,37] --> Loop 31 
* CEs [29,39] --> Loop 32 
* CEs [30,40] --> Loop 33 
* CEs [28] --> Loop 34 
* CEs [35] --> Loop 35 
* CEs [27] --> Loop 36 

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

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


### Specialization of cost equations evalNestedMultiplestart/6 
* CE 1 is refined into CE [41,42,43,44,45,46,47,48,49,50] 


### Cost equations --> "Loop" of evalNestedMultiplestart/6 
* CEs [50] --> Loop 37 
* CEs [49] --> Loop 38 
* CEs [48] --> Loop 39 
* CEs [47] --> Loop 40 
* CEs [46] --> Loop 41 
* CEs [45] --> Loop 42 
* CEs [44] --> Loop 43 
* CEs [43] --> Loop 44 
* CEs [42] --> Loop 45 
* CEs [41] --> Loop 46 

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

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


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

#### Cost of chains of evalNestedMultiplebb2in(C,E,G,H):
* Chain [[13],16]: 1*it(13)+0
  Such that:it(13) =< C-E

  with precondition: [G=2,C=H,C>=E+1] 

* Chain [[13],15]: 1*it(13)+0
  Such that:it(13) =< -E+H

  with precondition: [G=2,H>=E+1,C>=H+1] 

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

  with precondition: [G=3,C>=E+1] 

* Chain [16]: 0
  with precondition: [G=2,E=H,E>=C] 

* Chain [15]: 0
  with precondition: [G=2,E=H,C>=E+1] 

* Chain [14]: 0
  with precondition: [G=3] 


#### Cost of chains of evalNestedMultiplebb5in(A,B,C,D,E,G,H,I,J):
* Chain [[19],24]: 1*it(19)+0
  Such that:it(19) =< A-B

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

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

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

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

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

* Chain [[17,18],24]: 1*it(17)+1*it(18)+1*s(3)+0
  Such that:aux(5) =< A-B
aux(6) =< C-D
it(17) =< aux(5)
it(18) =< aux(5)
it(17) =< aux(6)
s(3) =< aux(6)

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

* Chain [[17,18],23]: 1*it(17)+1*it(18)+1*s(3)+0
  Such that:aux(7) =< A-B
aux(8) =< C-D
it(17) =< aux(7)
it(18) =< aux(7)
it(17) =< aux(8)
s(3) =< aux(8)

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

* Chain [[17,18],22]: 1*it(17)+1*it(18)+2*s(3)+0
  Such that:aux(9) =< A-B
aux(10) =< C-D
s(3) =< aux(10)
it(17) =< aux(9)
it(18) =< aux(9)
it(17) =< aux(10)

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

* Chain [[17,18],21]: 1*it(17)+1*it(18)+1*s(3)+0
  Such that:aux(3) =< C-D
aux(4) =< -D+J
aux(11) =< A-B
it(17) =< aux(11)
it(18) =< aux(11)
it(17) =< aux(3)
s(3) =< aux(3)
it(17) =< aux(4)
s(3) =< aux(4)

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

* Chain [[17,18],20,[19],24]: 1*it(17)+2*it(18)+2*s(3)+1
  Such that:aux(12) =< A-B
aux(13) =< C-D
it(18) =< aux(12)
s(3) =< aux(13)
it(17) =< aux(12)
it(17) =< aux(13)

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

* Chain [[17,18],20,[19],23]: 1*it(17)+2*it(18)+2*s(3)+1
  Such that:aux(14) =< A-B
aux(15) =< C-D
it(18) =< aux(14)
s(3) =< aux(15)
it(17) =< aux(14)
it(17) =< aux(15)

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

* Chain [[17,18],20,[19],21]: 1*it(17)+2*it(18)+2*s(3)+1
  Such that:aux(16) =< A-B
aux(17) =< C-D
it(18) =< aux(16)
s(3) =< aux(17)
it(17) =< aux(16)
it(17) =< aux(17)

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

* Chain [[17,18],20,24]: 1*it(17)+1*it(18)+2*s(3)+1
  Such that:aux(18) =< A-B
aux(19) =< C-D
s(3) =< aux(19)
it(17) =< aux(18)
it(18) =< aux(18)
it(17) =< aux(19)

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

* Chain [[17,18],20,23]: 1*it(17)+1*it(18)+2*s(3)+1
  Such that:aux(20) =< A-B
aux(21) =< C-D
s(3) =< aux(21)
it(17) =< aux(20)
it(18) =< aux(20)
it(17) =< aux(21)

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

* Chain [[17,18],20,21]: 1*it(17)+1*it(18)+2*s(3)+1
  Such that:aux(22) =< A-B
aux(23) =< C-D
s(3) =< aux(23)
it(17) =< aux(22)
it(18) =< aux(22)
it(17) =< aux(23)

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

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

* Chain [23]: 0
  with precondition: [G=3,A>=B+1] 

* Chain [22]: 1*s(4)+0
  Such that:s(4) =< C-D

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

* Chain [21]: 0
  with precondition: [G=4,I=D,J=E,B=H,B>=A] 

* Chain [20,[19],24]: 1*it(19)+1*s(5)+1
  Such that:it(19) =< A-B
s(5) =< C-D

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

* Chain [20,[19],23]: 1*it(19)+1*s(5)+1
  Such that:it(19) =< A-B
s(5) =< C-D

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

* Chain [20,[19],21]: 1*it(19)+1*s(5)+1
  Such that:it(19) =< A-B
s(5) =< C-D

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

* Chain [20,24]: 1*s(5)+1
  Such that:s(5) =< C-D

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

* Chain [20,23]: 1*s(5)+1
  Such that:s(5) =< C-D

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

* Chain [20,21]: 1*s(5)+1
  Such that:s(5) =< C-D

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


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

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


#### Cost of chains of evalNestedMultipleentryin(A,B,C,D,E,G):
* Chain [36]: 0
  with precondition: [] 

* Chain [35]: 1*s(50)+1
  Such that:s(50) =< -C+D

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

* Chain [34]: 0
  with precondition: [B>=A+1] 

* Chain [33]: 4*s(53)+2*s(54)+2*s(55)+1
  Such that:aux(32) =< -A+B
aux(33) =< -C+D
s(53) =< aux(33)
s(54) =< aux(32)
s(55) =< aux(32)
s(54) =< aux(33)

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

* Chain [32]: 2*s(62)+0
  Such that:aux(34) =< -A+B
s(62) =< aux(34)

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

* Chain [31]: 6*s(66)+10*s(67)+4*s(68)+1
  Such that:aux(35) =< -A+B
aux(36) =< -C+D
s(66) =< aux(35)
s(67) =< aux(36)
s(68) =< aux(35)
s(68) =< aux(36)

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

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

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

* Chain [29]: 6*s(77)+7*s(78)+3*s(79)+1
  Such that:aux(37) =< -A+B
aux(38) =< -C+D
s(77) =< aux(37)
s(78) =< aux(38)
s(79) =< aux(37)
s(79) =< aux(38)

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

* Chain [28]: 2*s(87)+2*s(88)+1*s(89)+1
  Such that:s(85) =< -A+B
s(86) =< -C+D
s(87) =< s(85)
s(88) =< s(86)
s(89) =< s(85)
s(89) =< s(86)

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

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


#### Cost of chains of evalNestedMultiplestart(A,B,C,D,E,G):
* Chain [46]: 0
  with precondition: [] 

* Chain [45]: 1*s(90)+1
  Such that:s(90) =< -C+D

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

* Chain [44]: 0
  with precondition: [B>=A+1] 

* Chain [43]: 4*s(93)+2*s(94)+2*s(95)+1
  Such that:s(91) =< -A+B
s(92) =< -C+D
s(93) =< s(92)
s(94) =< s(91)
s(95) =< s(91)
s(94) =< s(92)

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

* Chain [42]: 2*s(97)+0
  Such that:s(96) =< -A+B
s(97) =< s(96)

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

* Chain [41]: 6*s(100)+10*s(101)+4*s(102)+1
  Such that:s(98) =< -A+B
s(99) =< -C+D
s(100) =< s(98)
s(101) =< s(99)
s(102) =< s(98)
s(102) =< s(99)

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

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

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

* Chain [39]: 6*s(106)+7*s(107)+3*s(108)+1
  Such that:s(104) =< -A+B
s(105) =< -C+D
s(106) =< s(104)
s(107) =< s(105)
s(108) =< s(104)
s(108) =< s(105)

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

* Chain [38]: 2*s(111)+2*s(112)+1*s(113)+1
  Such that:s(109) =< -A+B
s(110) =< -C+D
s(111) =< s(109)
s(112) =< s(110)
s(113) =< s(109)
s(113) =< s(110)

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

* Chain [37]: 0
  with precondition: [A>=B] 


Closed-form bounds of evalNestedMultiplestart(A,B,C,D,E,G): 
-------------------------------------
* Chain [46] with precondition: [] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [45] with precondition: [B=A+1,D>=C+1] 
    - Upper bound: -C+D+1 
    - Complexity: n 
* Chain [44] with precondition: [B>=A+1] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [43] with precondition: [B>=A+1,D>=C+1] 
    - Upper bound: -4*A+4*B-4*C+4*D+1 
    - Complexity: n 
* Chain [42] with precondition: [B>=A+1,C>=D] 
    - Upper bound: -2*A+2*B 
    - Complexity: n 
* Chain [41] with precondition: [B>=A+2,D>=C+1] 
    - Upper bound: -10*A+10*B-10*C+10*D+1 
    - Complexity: n 
* Chain [40] with precondition: [B>=A+2,C>=D] 
    - Upper bound: -A+B 
    - Complexity: n 
* Chain [39] with precondition: [B>=A+3,D>=C+1] 
    - Upper bound: -9*A+9*B-7*C+7*D+1 
    - Complexity: n 
* Chain [38] with precondition: [B>=A+4,D>=C+1] 
    - Upper bound: -3*A+3*B-2*C+2*D+1 
    - Complexity: n 
* Chain [37] with precondition: [A>=B] 
    - Upper bound: 0 
    - Complexity: constant 

### Maximum cost of evalNestedMultiplestart(A,B,C,D,E,G): max([nat(-C+D)+1,nat(-C+D)*3+nat(-A+B)*5+(nat(-C+D)*3+nat(-A+B))+(nat(-C+D)*2+nat(-A+B))+(nat(-A+B)+1+nat(-C+D)*2)+nat(-A+B)+nat(-A+B)]) 
Asymptotic class: n 
* Total analysis performed in 254 ms.

