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

#### Computed strongly connected components 
0. recursive  : [eval_serpent_2/5,eval_serpent_3/5,eval_serpent_bb1_in/5,eval_serpent_bb2_in/5,eval_serpent_bb3_in/5]
1. recursive  : [eval_serpent_10/9,eval_serpent_11/9,eval_serpent_bb4_in/9,eval_serpent_bb5_in/9,eval_serpent_bb6_in/9]
2. recursive  : [eval_serpent_7/16,eval_serpent_8/16,eval_serpent_9/16,eval_serpent__critedge1_in/16,eval_serpent__critedge_in/16,eval_serpent_bb1_in_loop_cont/17,eval_serpent_bb4_in_loop_cont/17]
3. non_recursive  : [eval_serpent_stop/9]
4. non_recursive  : [eval_serpent_bb7_in/9]
5. non_recursive  : [exit_location/1]
6. non_recursive  : [eval_serpent__critedge1_in_loop_cont/10]
7. non_recursive  : [eval_serpent_1/9]
8. non_recursive  : [eval_serpent_0/9]
9. non_recursive  : [eval_serpent_bb0_in/9]
10. non_recursive  : [eval_serpent_start/9]

#### Obtained direct recursion through partial evaluation 
0. SCC is partially evaluated into eval_serpent_bb1_in/5
1. SCC is partially evaluated into eval_serpent_bb4_in/9
2. SCC is partially evaluated into eval_serpent__critedge1_in/16
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 eval_serpent__critedge1_in_loop_cont/10
7. SCC is partially evaluated into eval_serpent_1/9
8. SCC is completely evaluated into other SCCs
9. SCC is completely evaluated into other SCCs
10. SCC is partially evaluated into eval_serpent_start/9

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

### Specialization of cost equations eval_serpent_bb1_in/5 
* CE 14 is refined into CE [19] 
* CE 11 is refined into CE [20] 
* CE 13 is refined into CE [21] 
* CE 12 is refined into CE [22] 


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

### Ranking functions of CR eval_serpent_bb1_in(V_3,V_y_1,B,C,D) 
* RF of phase [18]: [V_y_1+1]

#### Partial ranking functions of CR eval_serpent_bb1_in(V_3,V_y_1,B,C,D) 
* Partial RF of phase [18]:
  - RF of loop [18:1]:
    V_y_1+1


### Specialization of cost equations eval_serpent_bb4_in/9 
* CE 15 is refined into CE [23] 
* CE 17 is refined into CE [24] 
* CE 18 is refined into CE [25] 
* CE 16 is refined into CE [26] 


### Cost equations --> "Loop" of eval_serpent_bb4_in/9 
* CEs [26] --> Loop 22 
* CEs [23] --> Loop 23 
* CEs [24] --> Loop 24 
* CEs [25] --> Loop 25 

### Ranking functions of CR eval_serpent_bb4_in(V_8,V_n,V_x_0,V_y_0,V_y_2,B,C,D,E) 
* RF of phase [22]: [V_n-V_y_2+1]

#### Partial ranking functions of CR eval_serpent_bb4_in(V_8,V_n,V_x_0,V_y_0,V_y_2,B,C,D,E) 
* Partial RF of phase [22]:
  - RF of loop [22:1]:
    V_n-V_y_2+1


### Specialization of cost equations eval_serpent__critedge1_in/16 
* CE 7 is refined into CE [27] 
* CE 4 is refined into CE [28,29] 
* CE 6 is refined into CE [30,31,32,33,34,35,36,37] 
* CE 8 is refined into CE [38] 
* CE 5 is refined into CE [39,40,41,42,43,44,45,46,47,48,49,50,51,52] 


### Cost equations --> "Loop" of eval_serpent__critedge1_in/16 
* CEs [52] --> Loop 26 
* CEs [51] --> Loop 27 
* CEs [48] --> Loop 28 
* CEs [47] --> Loop 29 
* CEs [49] --> Loop 30 
* CEs [45] --> Loop 31 
* CEs [44] --> Loop 32 
* CEs [43] --> Loop 33 
* CEs [50] --> Loop 34 
* CEs [46] --> Loop 35 
* CEs [42] --> Loop 36 
* CEs [41] --> Loop 37 
* CEs [39] --> Loop 38 
* CEs [40] --> Loop 39 
* CEs [27] --> Loop 40 
* CEs [38] --> Loop 41 
* CEs [28] --> Loop 42 
* CEs [36,37] --> Loop 43 
* CEs [35] --> Loop 44 
* CEs [29,30,31,34] --> Loop 45 
* CEs [32,33] --> Loop 46 

### Ranking functions of CR eval_serpent__critedge1_in(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B,C,D,E,F,G,H,I) 
* RF of phase [26,27,28,29,30,31,32,33,34,35,36,37,38,39]: [V_x_0+1]

#### Partial ranking functions of CR eval_serpent__critedge1_in(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B,C,D,E,F,G,H,I) 
* Partial RF of phase [26,27,28,29,30,31,32,33,34,35,36,37,38,39]:
  - RF of loop [26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1]:
    V_x_0+1
  - RF of loop [27:1]:
    V_y_0 depends on loops [26:1,28:1,32:1,34:1,35:1,36:1,37:1,38:1] 
  - RF of loop [28:1]:
    V_n-V_y_0 depends on loops [26:1,27:1,30:1,34:1,37:1,38:1,39:1] 
  - RF of loop [30:1]:
    -V_n+V_y_0-1 depends on loops [26:1,28:1,32:1,34:1,35:1,36:1,37:1,38:1] 
    V_y_0-3 depends on loops [26:1,28:1,32:1,34:1,35:1,36:1,37:1,38:1] 
  - RF of loop [32:1]:
    V_n-V_y_0-1 depends on loops [26:1,27:1,30:1,34:1,37:1,38:1,39:1] 
    -V_y_0 depends on loops [26:1,27:1,30:1,34:1,37:1,38:1,39:1] 
  - RF of loop [35:1]:
    V_n-V_y_0+1 depends on loops [26:1,27:1,30:1,34:1,37:1,38:1,39:1] 
  - RF of loop [36:1]:
    -V_y_0/3 depends on loops [26:1,27:1,30:1,34:1,37:1,38:1,39:1] 
  - RF of loop [39:1]:
    2*V_n+V_y_0-1 depends on loops [26:1,28:1,32:1,34:1,35:1,36:1,37:1,38:1] 
    V_y_0+1 depends on loops [26:1,28:1,32:1,34:1,35:1,36:1,37:1,38:1] 


### Specialization of cost equations eval_serpent__critedge1_in_loop_cont/10 
* CE 9 is refined into CE [53] 
* CE 10 is refined into CE [54] 


### Cost equations --> "Loop" of eval_serpent__critedge1_in_loop_cont/10 
* CEs [53] --> Loop 47 
* CEs [54] --> Loop 48 

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

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


### Specialization of cost equations eval_serpent_1/9 
* CE 3 is refined into CE [55,56,57,58,59,60,61] 
* CE 2 is refined into CE [62] 


### Cost equations --> "Loop" of eval_serpent_1/9 
* CEs [55,56,57,58,59,60,61] --> Loop 49 
* CEs [62] --> Loop 50 

### Ranking functions of CR eval_serpent_1(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B) 

#### Partial ranking functions of CR eval_serpent_1(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B) 


### Specialization of cost equations eval_serpent_start/9 
* CE 1 is refined into CE [63,64] 


### Cost equations --> "Loop" of eval_serpent_start/9 
* CEs [64] --> Loop 51 
* CEs [63] --> Loop 52 

### Ranking functions of CR eval_serpent_start(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B) 

#### Partial ranking functions of CR eval_serpent_start(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B) 


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

#### Cost of chains of eval_serpent_bb1_in(V_3,V_y_1,B,C,D):
* Chain [[18],21]: 1*it(18)+0
  Such that:it(18) =< V_y_1+1

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

* Chain [[18],20]: 1*it(18)+0
  Such that:it(18) =< V_y_1-D

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

* Chain [[18],19]: 1*it(18)+0
  Such that:it(18) =< V_y_1+1

  with precondition: [B=3,V_y_1>=0] 

* Chain [21]: 0
  with precondition: [B=2,C=V_3,V_y_1=D,0>=V_y_1+1] 

* Chain [20]: 0
  with precondition: [B=2,V_y_1=D,0>=C,V_y_1>=0] 

* Chain [19]: 0
  with precondition: [B=3] 


#### Cost of chains of eval_serpent_bb4_in(V_8,V_n,V_x_0,V_y_0,V_y_2,B,C,D,E):
* Chain [[22],25]: 1*it(22)+0
  Such that:it(22) =< V_n-V_y_2+1

  with precondition: [B=3,V_n>=1,V_x_0>=0,V_n>=V_x_0,V_n>=V_y_2] 

* Chain [[22],24]: 1*it(22)+0
  Such that:it(22) =< -V_y_2+D

  with precondition: [B=4,V_n+1=D,V_n+1=E,V_n>=1,V_x_0>=0,C>=1,V_n>=V_x_0,V_n>=V_y_2] 

* Chain [[22],23]: 1*it(22)+0
  Such that:it(22) =< -V_y_2+D

  with precondition: [B=4,D=E,0>=C,V_n>=1,V_x_0>=0,V_n>=V_x_0,D>=V_y_2+1,V_n>=D] 

* Chain [25]: 0
  with precondition: [B=3,V_n>=1,V_x_0>=0,V_n>=V_x_0] 

* Chain [24]: 0
  with precondition: [B=4,C=V_8,V_y_2=D,V_y_2=E,V_n>=1,V_x_0>=0,V_y_2>=V_n+1,V_n>=V_x_0] 

* Chain [23]: 0
  with precondition: [B=4,V_y_2=D,V_y_2=E,0>=C,V_n>=1,V_x_0>=0,V_n>=V_x_0,V_n>=V_y_2] 


#### Cost of chains of eval_serpent__critedge1_in(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B,C,D,E,F,G,H,I):
* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],46]: 14*it(26)+1*s(1)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+0
  Such that:aux(620) =< V_n
aux(1) =< 2*V_n
s(1) =< 3*V_n
aux(627) =< V_x_0
aux(626) =< V_x_0+1
it(26) =< aux(626)
it(26) =< aux(627)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(1)+1
aux(38) =< aux(1)
s(32) =< it(26)*aux(1)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=3,V_x_0>=1,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],45]: 14*it(26)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+3*s(47)+1*s(50)+0
  Such that:aux(620) =< V_n
s(50) =< V_n+2
aux(1) =< 2*V_n
aux(631) =< 2*V_n+1
aux(627) =< V_x_0
aux(626) =< V_x_0+1
s(47) =< aux(631)
it(26) =< aux(626)
it(26) =< aux(627)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(1)+1
aux(38) =< aux(1)
s(32) =< it(26)*aux(1)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=3,V_x_0>=1,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],44]: 14*it(26)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+1*s(51)+0
  Such that:aux(620) =< V_n
s(51) =< V_n+1
aux(1) =< 2*V_n
aux(627) =< V_x_0
aux(626) =< V_x_0+1
it(26) =< aux(626)
it(26) =< aux(627)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(1)+1
aux(38) =< aux(1)
s(32) =< it(26)*aux(1)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=3,V_x_0>=1,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],43]: 14*it(26)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+2*s(52)+1*s(54)+0
  Such that:aux(620) =< V_n
s(54) =< V_n+1
aux(627) =< V_x_0
aux(626) =< V_x_0+1
aux(633) =< 2*V_n
s(52) =< aux(633)
it(26) =< aux(626)
it(26) =< aux(627)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(633)+1
aux(38) =< aux(633)
s(32) =< it(26)*aux(633)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=3,V_x_0>=1,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],42]: 14*it(26)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+0
  Such that:aux(620) =< V_n
aux(1) =< 2*V_n
aux(627) =< V_x_0
aux(626) =< V_x_0+1
it(26) =< aux(626)
it(26) =< aux(627)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(1)+1
aux(38) =< aux(1)
s(32) =< it(26)*aux(1)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=3,V_x_0>=1,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],41]: 14*it(26)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+0
  Such that:aux(620) =< V_n
aux(1) =< 2*V_n
aux(634) =< V_x_0+1
it(26) =< aux(634)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(1)+1
aux(38) =< aux(1)
s(32) =< it(26)*aux(1)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=3,V_n>=1,V_x_0>=0,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [[26,27,28,29,30,31,32,33,34,35,36,37,38,39],40]: 14*it(26)+1*s(32)+1*s(33)+2*s(34)+6*s(35)+2*s(39)+2*s(42)+1*s(45)+0
  Such that:aux(620) =< V_n
aux(1) =< 2*V_n
aux(635) =< V_x_0+1
it(26) =< aux(635)
aux(457) =< aux(620)+2
aux(236) =< aux(620)+1
s(33) =< it(26)*aux(620)
s(45) =< it(26)*aux(457)
s(39) =< it(26)*aux(236)
aux(420) =< aux(1)+1
aux(38) =< aux(1)
s(32) =< it(26)*aux(1)
s(42) =< it(26)*aux(420)
s(34) =< it(26)*aux(38)

  with precondition: [B=5,D+1=0,F+1=0,G=I,V_n>=1,V_x_0>=0,V_n>=V_x_0,2*V_n>=G,G>=H,H+2*V_n>=1,H+6*V_n+3>=4*G,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [45]: 3*s(47)+1*s(50)+0
  Such that:s(50) =< V_n+2
aux(631) =< V_y_0+1
s(47) =< aux(631)

  with precondition: [B=3,V_n>=1,V_x_0>=0,V_y_0>=0,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [44]: 1*s(51)+0
  Such that:s(51) =< V_n-V_y_0+1

  with precondition: [B=3,V_n>=1,V_x_0>=0,V_y_0>=0,V_n>=V_x_0,V_n>=V_y_0,V_y_0+2*V_n>=2*V_x_0+1] 

* Chain [43]: 2*s(52)+1*s(54)+0
  Such that:s(54) =< V_n+1
aux(632) =< V_y_0
s(52) =< aux(632)

  with precondition: [B=3,V_n>=1,V_x_0>=0,V_y_0>=1,V_n>=V_x_0,2*V_n>=V_x_0+V_y_0] 

* Chain [42]: 0
  with precondition: [B=3,V_n>=1,V_x_0>=0,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 

* Chain [41]: 0
  with precondition: [B=3,V_n>=1,V_n>=V_x_0,V_y_0+2*V_n>=2*V_x_0+1,2*V_n>=V_x_0+V_y_0] 


#### Cost of chains of eval_serpent__critedge1_in_loop_cont(A,B,C,D,E,F,G,H,I,J):
* Chain [48]: 0
  with precondition: [A=3,E>=1] 

* Chain [47]: 0
  with precondition: [A=5,E>=1] 


#### Cost of chains of eval_serpent_1(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B):
* Chain [50]: 0
  with precondition: [0>=V_n] 

* Chain [49]: 1*s(157)+2*s(158)+34*s(160)+2*s(163)+2*s(170)+2*s(171)+4*s(172)+2*s(175)+4*s(176)+4*s(177)+42*s(178)+1*s(181)+70*s(188)+5*s(191)+5*s(192)+10*s(193)+5*s(196)+10*s(197)+10*s(198)+2*s(199)+3*s(200)+0
  Such that:s(157) =< 1
s(180) =< 2*V_n+1
s(181) =< 3*V_n
aux(643) =< V_n
aux(644) =< V_n+1
aux(645) =< V_n+2
aux(646) =< 2*V_n
s(160) =< aux(644)
s(158) =< aux(645)
s(163) =< aux(643)
s(168) =< aux(643)+2
s(169) =< aux(643)+1
s(170) =< s(160)*aux(643)
s(171) =< s(160)*s(168)
s(172) =< s(160)*s(169)
s(173) =< aux(646)+1
s(174) =< aux(646)
s(175) =< s(160)*aux(646)
s(176) =< s(160)*s(173)
s(177) =< s(160)*s(174)
s(188) =< aux(644)
s(188) =< aux(643)
s(191) =< s(188)*aux(643)
s(192) =< s(188)*s(168)
s(193) =< s(188)*s(169)
s(196) =< s(188)*aux(646)
s(197) =< s(188)*s(173)
s(198) =< s(188)*s(174)
s(199) =< aux(646)
s(200) =< s(180)

  with precondition: [V_n>=1] 


#### Cost of chains of eval_serpent_start(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B):
* Chain [52]: 0
  with precondition: [0>=V_n] 

* Chain [51]: 1*s(217)+1*s(219)+34*s(224)+2*s(225)+2*s(226)+2*s(229)+2*s(230)+4*s(231)+2*s(234)+4*s(235)+4*s(236)+70*s(237)+5*s(238)+5*s(239)+10*s(240)+5*s(241)+10*s(242)+10*s(243)+2*s(244)+3*s(245)+42*s(246)+0
  Such that:s(217) =< 1
s(220) =< V_n
s(221) =< V_n+1
s(222) =< V_n+2
s(223) =< 2*V_n
s(218) =< 2*V_n+1
s(219) =< 3*V_n
s(224) =< s(221)
s(225) =< s(222)
s(226) =< s(220)
s(227) =< s(220)+2
s(228) =< s(220)+1
s(229) =< s(224)*s(220)
s(230) =< s(224)*s(227)
s(231) =< s(224)*s(228)
s(232) =< s(223)+1
s(233) =< s(223)
s(234) =< s(224)*s(223)
s(235) =< s(224)*s(232)
s(236) =< s(224)*s(233)
s(237) =< s(221)
s(237) =< s(220)
s(238) =< s(237)*s(220)
s(239) =< s(237)*s(227)
s(240) =< s(237)*s(228)
s(241) =< s(237)*s(223)
s(242) =< s(237)*s(232)
s(243) =< s(237)*s(233)
s(244) =< s(223)
s(245) =< s(218)

  with precondition: [V_n>=1] 


Closed-form bounds of eval_serpent_start(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B): 
-------------------------------------
* Chain [52] with precondition: [0>=V_n] 
    - Upper bound: 0 
    - Complexity: constant 
* Chain [51] with precondition: [V_n>=1] 
    - Upper bound: inf 
    - Complexity: infinity 

### Maximum cost of eval_serpent_start(V_3,V_6,V_8,V_n,V_x_0,V_y_0,V_y_1,V_y_2,B): inf 
Asymptotic class: infinity 
* Total analysis performed in 4887 ms.

