0.06/0.36 WORST_CASE(?,O(n^1)) 0.06/0.36 0.06/0.36 Preprocessing Cost Relations 0.06/0.36 ===================================== 0.06/0.36 0.06/0.36 #### Computed strongly connected components 0.06/0.36 0. recursive : [eval_subsetdump_2/4,eval_subsetdump_3/5,eval_subsetdump_bb3_in/4,eval_subsetdump_bb4_in/4,eval_subsetdump_bb5_in/5] 0.06/0.36 1. recursive : [eval_subsetdump_bb7_in/4,eval_subsetdump_bb8_in/4] 0.06/0.36 2. recursive : [eval_subsetdump_0/3,eval_subsetdump_1/4,eval_subsetdump_6/5,eval_subsetdump_7/6,eval_subsetdump_bb1_in/3,eval_subsetdump_bb2_in/3,eval_subsetdump_bb3_in_loop_cont/6,eval_subsetdump_bb6_in/5,eval_subsetdump_bb7_in_loop_cont/6,eval_subsetdump_bb9_in/5] 0.06/0.36 3. non_recursive : [eval_subsetdump_stop/1] 0.06/0.36 4. non_recursive : [eval_subsetdump_bb10_in/1] 0.06/0.36 5. non_recursive : [eval_subsetdump_bb1_in_loop_cont/2] 0.06/0.36 6. non_recursive : [eval_subsetdump_bb0_in/2] 0.06/0.36 7. non_recursive : [eval_subsetdump_start/2] 0.06/0.36 0.06/0.36 #### Obtained direct recursion through partial evaluation 0.06/0.36 0. SCC is partially evaluated into eval_subsetdump_bb3_in/4 0.06/0.36 1. SCC is partially evaluated into eval_subsetdump_bb7_in/4 0.06/0.36 2. SCC is partially evaluated into eval_subsetdump_bb1_in/3 0.06/0.36 3. SCC is completely evaluated into other SCCs 0.06/0.36 4. SCC is completely evaluated into other SCCs 0.06/0.36 5. SCC is completely evaluated into other SCCs 0.06/0.36 6. SCC is partially evaluated into eval_subsetdump_bb0_in/2 0.06/0.36 7. SCC is partially evaluated into eval_subsetdump_start/2 0.06/0.36 0.06/0.36 Control-Flow Refinement of Cost Relations 0.06/0.36 ===================================== 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_subsetdump_bb3_in/4 0.06/0.36 * CE 8 is refined into CE [13] 0.06/0.36 * CE 10 is refined into CE [14] 0.06/0.36 * CE 9 is refined into CE [15] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_subsetdump_bb3_in/4 0.06/0.36 * CEs [15] --> Loop 11 0.06/0.36 * CEs [13] --> Loop 12 0.06/0.36 * CEs [14] --> Loop 13 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_subsetdump_bb3_in(V_limit,V_cnum_1,B,C) 0.06/0.36 * RF of phase [11]: [V_limit-V_cnum_1] 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_subsetdump_bb3_in(V_limit,V_cnum_1,B,C) 0.06/0.36 * Partial RF of phase [11]: 0.06/0.36 - RF of loop [11:1]: 0.06/0.36 V_limit-V_cnum_1 0.06/0.36 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_subsetdump_bb7_in/4 0.06/0.36 * CE 12 is refined into CE [16] 0.06/0.36 * CE 11 is refined into CE [17] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_subsetdump_bb7_in/4 0.06/0.36 * CEs [17] --> Loop 14 0.06/0.36 * CEs [16] --> Loop 15 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_subsetdump_bb7_in(V_cnum_1,V_7,V_rangestart_0,B) 0.06/0.36 * RF of phase [14]: [V_cnum_1-V_rangestart_0] 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_subsetdump_bb7_in(V_cnum_1,V_7,V_rangestart_0,B) 0.06/0.36 * Partial RF of phase [14]: 0.06/0.36 - RF of loop [14:1]: 0.06/0.36 V_cnum_1-V_rangestart_0 0.06/0.36 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_subsetdump_bb1_in/3 0.06/0.36 * CE 7 is refined into CE [18] 0.06/0.36 * CE 3 is refined into CE [19,20,21] 0.06/0.36 * CE 4 is refined into CE [22,23,24] 0.06/0.36 * CE 5 is refined into CE [25,26,27] 0.06/0.36 * CE 6 is refined into CE [28] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_subsetdump_bb1_in/3 0.06/0.36 * CEs [21,24,27] --> Loop 16 0.06/0.36 * CEs [20,23,26,28] --> Loop 17 0.06/0.36 * CEs [19,22,25] --> Loop 18 0.06/0.36 * CEs [18] --> Loop 19 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_subsetdump_bb1_in(V_limit,V_cnum_0,B) 0.06/0.36 * RF of phase [16,17]: [V_limit-V_cnum_0] 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_subsetdump_bb1_in(V_limit,V_cnum_0,B) 0.06/0.36 * Partial RF of phase [16,17]: 0.06/0.36 - RF of loop [16:1]: 0.06/0.36 V_limit-V_cnum_0-1 0.06/0.36 - RF of loop [17:1]: 0.06/0.36 V_limit-V_cnum_0 0.06/0.36 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_subsetdump_bb0_in/2 0.06/0.36 * CE 2 is refined into CE [29,30,31] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_subsetdump_bb0_in/2 0.06/0.36 * CEs [31] --> Loop 20 0.06/0.36 * CEs [30] --> Loop 21 0.06/0.36 * CEs [29] --> Loop 22 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_subsetdump_bb0_in(V_limit,B) 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_subsetdump_bb0_in(V_limit,B) 0.06/0.36 0.06/0.36 0.06/0.36 ### Specialization of cost equations eval_subsetdump_start/2 0.06/0.36 * CE 1 is refined into CE [32,33,34] 0.06/0.36 0.06/0.36 0.06/0.36 ### Cost equations --> "Loop" of eval_subsetdump_start/2 0.06/0.36 * CEs [34] --> Loop 23 0.06/0.36 * CEs [33] --> Loop 24 0.06/0.36 * CEs [32] --> Loop 25 0.06/0.36 0.06/0.36 ### Ranking functions of CR eval_subsetdump_start(V_limit,B) 0.06/0.36 0.06/0.36 #### Partial ranking functions of CR eval_subsetdump_start(V_limit,B) 0.06/0.36 0.06/0.36 0.06/0.36 Computing Bounds 0.06/0.36 ===================================== 0.06/0.36 0.06/0.36 #### Cost of chains of eval_subsetdump_bb3_in(V_limit,V_cnum_1,B,C): 0.06/0.36 * Chain [[11],13]: 1*it(11)+0 0.06/0.36 Such that:it(11) =< V_limit-V_cnum_1 0.06/0.36 0.06/0.36 with precondition: [B=2,V_limit=C,V_limit>=V_cnum_1+1] 0.06/0.36 0.06/0.36 * Chain [[11],12]: 1*it(11)+0 0.06/0.36 Such that:it(11) =< -V_cnum_1+C 0.06/0.36 0.06/0.36 with precondition: [B=2,C>=V_cnum_1+1,V_limit>=C+1] 0.06/0.36 0.06/0.36 * Chain [12]: 0 0.06/0.36 with precondition: [B=2,V_cnum_1=C,V_limit>=V_cnum_1+1] 0.06/0.36 0.06/0.36 0.06/0.36 #### Cost of chains of eval_subsetdump_bb7_in(V_cnum_1,V_7,V_rangestart_0,B): 0.06/0.36 * Chain [[14],15]: 1*it(14)+0 0.06/0.36 Such that:it(14) =< V_cnum_1-V_rangestart_0 0.06/0.36 0.06/0.36 with precondition: [B=3,V_cnum_1>=V_rangestart_0+1] 0.06/0.36 0.06/0.36 * Chain [15]: 0 0.06/0.36 with precondition: [B=3,V_rangestart_0>=V_cnum_1] 0.06/0.36 0.06/0.36 0.06/0.36 #### Cost of chains of eval_subsetdump_bb1_in(V_limit,V_cnum_0,B): 0.06/0.36 * Chain [[16,17],19]: 7*it(16)+0 0.06/0.36 Such that:aux(6) =< V_limit-V_cnum_0 0.06/0.36 it(16) =< aux(6) 0.06/0.36 0.06/0.36 with precondition: [B=4,V_cnum_0>=0,V_limit>=V_cnum_0+1] 0.06/0.36 0.06/0.36 * Chain [[16,17],18,19]: 2*it(16)+5*s(8)+5*s(10)+1 0.06/0.36 Such that:aux(10) =< V_limit-V_cnum_0 0.06/0.36 aux(11) =< V_limit-V_cnum_0+1 0.06/0.36 aux(5) =< aux(10) 0.06/0.36 aux(5) =< aux(11) 0.06/0.36 s(10) =< aux(5) 0.06/0.36 it(16) =< aux(10) 0.06/0.36 s(9) =< aux(10) 0.06/0.36 it(16) =< aux(5) 0.06/0.36 s(9) =< aux(5) 0.06/0.36 s(8) =< s(9) 0.06/0.36 0.06/0.36 with precondition: [B=4,V_cnum_0>=0,V_limit>=V_cnum_0+2] 0.06/0.36 0.06/0.36 * Chain [19]: 0 0.06/0.36 with precondition: [B=4,V_cnum_0>=0,V_cnum_0>=V_limit] 0.06/0.36 0.06/0.36 * Chain [18,19]: 5*s(10)+1 0.06/0.36 Such that:aux(9) =< V_limit-V_cnum_0+1 0.06/0.36 s(10) =< aux(9) 0.06/0.36 0.06/0.36 with precondition: [B=4,V_cnum_0>=0,V_limit>=V_cnum_0+1] 0.06/0.36 0.06/0.36 0.06/0.36 #### Cost of chains of eval_subsetdump_bb0_in(V_limit,B): 0.06/0.36 * Chain [22]: 0 0.06/0.36 with precondition: [0>=V_limit] 0.06/0.36 0.06/0.36 * Chain [21]: 7*s(21)+5*s(22)+1 0.06/0.36 Such that:s(19) =< V_limit 0.06/0.36 s(20) =< V_limit+1 0.06/0.36 s(21) =< s(19) 0.06/0.36 s(22) =< s(20) 0.06/0.36 0.06/0.36 with precondition: [V_limit>=1] 0.06/0.36 0.06/0.36 * Chain [20]: 5*s(26)+2*s(27)+5*s(29)+1 0.06/0.36 Such that:s(23) =< V_limit 0.06/0.36 s(24) =< V_limit+1 0.06/0.36 s(25) =< s(23) 0.06/0.36 s(25) =< s(24) 0.06/0.36 s(26) =< s(25) 0.06/0.36 s(27) =< s(23) 0.06/0.36 s(28) =< s(23) 0.06/0.36 s(27) =< s(25) 0.06/0.36 s(28) =< s(25) 0.06/0.36 s(29) =< s(28) 0.06/0.36 0.06/0.36 with precondition: [V_limit>=2] 0.06/0.36 0.06/0.36 0.06/0.36 #### Cost of chains of eval_subsetdump_start(V_limit,B): 0.06/0.36 * Chain [25]: 0 0.06/0.36 with precondition: [0>=V_limit] 0.06/0.36 0.06/0.36 * Chain [24]: 7*s(32)+5*s(33)+1 0.06/0.36 Such that:s(30) =< V_limit 0.06/0.36 s(31) =< V_limit+1 0.06/0.36 s(32) =< s(30) 0.06/0.36 s(33) =< s(31) 0.06/0.36 0.06/0.36 with precondition: [V_limit>=1] 0.06/0.36 0.06/0.36 * Chain [23]: 5*s(37)+2*s(38)+5*s(40)+1 0.06/0.36 Such that:s(34) =< V_limit 0.06/0.36 s(35) =< V_limit+1 0.06/0.36 s(36) =< s(34) 0.06/0.36 s(36) =< s(35) 0.06/0.36 s(37) =< s(36) 0.06/0.36 s(38) =< s(34) 0.06/0.36 s(39) =< s(34) 0.06/0.36 s(38) =< s(36) 0.06/0.36 s(39) =< s(36) 0.06/0.36 s(40) =< s(39) 0.06/0.36 0.06/0.36 with precondition: [V_limit>=2] 0.06/0.36 0.06/0.36 0.06/0.36 Closed-form bounds of eval_subsetdump_start(V_limit,B): 0.06/0.36 ------------------------------------- 0.06/0.36 * Chain [25] with precondition: [0>=V_limit] 0.06/0.36 - Upper bound: 0 0.06/0.36 - Complexity: constant 0.06/0.36 * Chain [24] with precondition: [V_limit>=1] 0.06/0.36 - Upper bound: 12*V_limit+6 0.06/0.36 - Complexity: n 0.06/0.36 * Chain [23] with precondition: [V_limit>=2] 0.06/0.36 - Upper bound: 12*V_limit+1 0.06/0.36 - Complexity: n 0.06/0.36 0.06/0.36 ### Maximum cost of eval_subsetdump_start(V_limit,B): nat(V_limit)*7+1+max([nat(V_limit)*5,nat(V_limit+1)*5]) 0.06/0.36 Asymptotic class: n 0.06/0.36 * Total analysis performed in 257 ms. 0.06/0.36 0.06/0.46 EOF