0.05/0.24 WORST_CASE(?,O(n^1)) 0.05/0.24 0.05/0.24 Preprocessing Cost Relations 0.05/0.24 ===================================== 0.05/0.24 0.05/0.24 #### Computed strongly connected components 0.05/0.24 0. recursive : [eval_local_alloc_bb3_in/4,eval_local_alloc_bb4_in/4] 0.05/0.24 1. recursive : [eval_local_alloc_bb1_in/5,eval_local_alloc_bb2_in/5,eval_local_alloc_bb3_in_loop_cont/7,eval_local_alloc_bb5_in/6] 0.05/0.24 2. non_recursive : [eval_local_alloc_stop/1] 0.05/0.24 3. non_recursive : [eval_local_alloc_bb6_in/1] 0.05/0.24 4. non_recursive : [eval_local_alloc_bb1_in_loop_cont/2] 0.05/0.24 5. non_recursive : [eval_local_alloc_bb0_in/4] 0.05/0.24 6. non_recursive : [eval_local_alloc_start/4] 0.05/0.24 0.05/0.24 #### Obtained direct recursion through partial evaluation 0.05/0.24 0. SCC is partially evaluated into eval_local_alloc_bb3_in/4 0.05/0.24 1. SCC is partially evaluated into eval_local_alloc_bb1_in/5 0.05/0.24 2. SCC is completely evaluated into other SCCs 0.05/0.24 3. SCC is completely evaluated into other SCCs 0.05/0.24 4. SCC is completely evaluated into other SCCs 0.05/0.24 5. SCC is partially evaluated into eval_local_alloc_bb0_in/4 0.05/0.24 6. SCC is partially evaluated into eval_local_alloc_start/4 0.05/0.24 0.05/0.24 Control-Flow Refinement of Cost Relations 0.05/0.24 ===================================== 0.05/0.24 0.05/0.24 ### Specialization of cost equations eval_local_alloc_bb3_in/4 0.05/0.24 * CE 7 is refined into CE [8] 0.05/0.24 * CE 6 is refined into CE [9] 0.05/0.24 0.05/0.24 0.05/0.24 ### Cost equations --> "Loop" of eval_local_alloc_bb3_in/4 0.05/0.24 * CEs [9] --> Loop 8 0.05/0.24 * CEs [8] --> Loop 9 0.05/0.24 0.05/0.24 ### Ranking functions of CR eval_local_alloc_bb3_in(V_next_qty_0,V_i_0,B,C) 0.05/0.24 * RF of phase [8]: [V_next_qty_0-V_i_0] 0.05/0.24 0.05/0.24 #### Partial ranking functions of CR eval_local_alloc_bb3_in(V_next_qty_0,V_i_0,B,C) 0.05/0.24 * Partial RF of phase [8]: 0.05/0.24 - RF of loop [8:1]: 0.05/0.24 V_next_qty_0-V_i_0 0.05/0.24 0.05/0.24 0.05/0.24 ### Specialization of cost equations eval_local_alloc_bb1_in/5 0.05/0.24 * CE 5 is refined into CE [10] 0.05/0.24 * CE 4 is refined into CE [11,12] 0.05/0.24 * CE 3 is refined into CE [13] 0.05/0.24 0.05/0.24 0.05/0.24 ### Cost equations --> "Loop" of eval_local_alloc_bb1_in/5 0.05/0.24 * CEs [13] --> Loop 10 0.05/0.24 * CEs [11] --> Loop 11 0.05/0.24 * CEs [12] --> Loop 12 0.05/0.24 * CEs [10] --> Loop 13 0.05/0.24 0.05/0.24 ### Ranking functions of CR eval_local_alloc_bb1_in(V_n_basic_blocks,V_limit,V_b_0,V_next_qty_0,B) 0.05/0.24 * RF of phase [10,12]: [V_n_basic_blocks-V_b_0] 0.05/0.24 0.05/0.24 #### Partial ranking functions of CR eval_local_alloc_bb1_in(V_n_basic_blocks,V_limit,V_b_0,V_next_qty_0,B) 0.05/0.24 * Partial RF of phase [10,12]: 0.05/0.24 - RF of loop [10:1,12:1]: 0.05/0.24 V_n_basic_blocks-V_b_0 0.05/0.24 0.05/0.24 0.05/0.24 ### Specialization of cost equations eval_local_alloc_bb0_in/4 0.05/0.24 * CE 2 is refined into CE [14,15,16,17] 0.05/0.24 0.05/0.24 0.05/0.24 ### Cost equations --> "Loop" of eval_local_alloc_bb0_in/4 0.05/0.24 * CEs [17] --> Loop 14 0.05/0.24 * CEs [15] --> Loop 15 0.05/0.24 * CEs [16] --> Loop 16 0.05/0.24 * CEs [14] --> Loop 17 0.05/0.24 0.05/0.24 ### Ranking functions of CR eval_local_alloc_bb0_in(V_max_qty,V_n_basic_blocks,V_limit,B) 0.05/0.24 0.05/0.24 #### Partial ranking functions of CR eval_local_alloc_bb0_in(V_max_qty,V_n_basic_blocks,V_limit,B) 0.05/0.24 0.05/0.24 0.05/0.24 ### Specialization of cost equations eval_local_alloc_start/4 0.05/0.24 * CE 1 is refined into CE [18,19,20,21] 0.05/0.24 0.05/0.24 0.05/0.24 ### Cost equations --> "Loop" of eval_local_alloc_start/4 0.05/0.24 * CEs [21] --> Loop 18 0.05/0.24 * CEs [20] --> Loop 19 0.05/0.24 * CEs [19] --> Loop 20 0.05/0.24 * CEs [18] --> Loop 21 0.05/0.24 0.05/0.24 ### Ranking functions of CR eval_local_alloc_start(V_max_qty,V_n_basic_blocks,V_limit,B) 0.05/0.24 0.05/0.24 #### Partial ranking functions of CR eval_local_alloc_start(V_max_qty,V_n_basic_blocks,V_limit,B) 0.05/0.24 0.05/0.24 0.05/0.24 Computing Bounds 0.05/0.24 ===================================== 0.05/0.24 0.05/0.24 #### Cost of chains of eval_local_alloc_bb3_in(V_next_qty_0,V_i_0,B,C): 0.05/0.24 * Chain [[8],9]: 1*it(8)+0 0.05/0.24 Such that:it(8) =< -V_i_0+C 0.05/0.24 0.05/0.24 with precondition: [B=2,V_next_qty_0=C,V_i_0>=0,V_next_qty_0>=V_i_0+1] 0.05/0.24 0.05/0.24 * Chain [9]: 0 0.05/0.24 with precondition: [B=2,V_i_0=C,V_i_0>=0,V_i_0>=V_next_qty_0] 0.05/0.24 0.05/0.24 0.05/0.24 #### Cost of chains of eval_local_alloc_bb1_in(V_n_basic_blocks,V_limit,V_b_0,V_next_qty_0,B): 0.05/0.24 * Chain [[10,12],13]: 2*it(10)+0 0.05/0.24 Such that:aux(3) =< V_n_basic_blocks-V_b_0 0.05/0.24 it(10) =< aux(3) 0.05/0.24 0.05/0.24 with precondition: [B=3,V_b_0>=0,V_n_basic_blocks>=V_b_0+1] 0.05/0.24 0.05/0.24 * Chain [13]: 0 0.05/0.24 with precondition: [B=3,V_b_0>=0,V_b_0>=V_n_basic_blocks] 0.05/0.24 0.05/0.24 * Chain [11,[10,12],13]: 2*it(10)+1*s(1)+1 0.05/0.24 Such that:aux(3) =< V_n_basic_blocks 0.05/0.24 s(1) =< V_next_qty_0 0.05/0.24 it(10) =< aux(3) 0.05/0.24 0.05/0.24 with precondition: [V_b_0=0,B=3,V_n_basic_blocks>=2,V_next_qty_0>=1,V_limit>=V_next_qty_0+1] 0.05/0.24 0.05/0.24 * Chain [11,13]: 1*s(1)+1 0.05/0.24 Such that:s(1) =< V_next_qty_0 0.05/0.24 0.05/0.24 with precondition: [V_n_basic_blocks=1,V_b_0=0,B=3,V_next_qty_0>=1,V_limit>=V_next_qty_0+1] 0.05/0.24 0.05/0.24 0.05/0.24 #### Cost of chains of eval_local_alloc_bb0_in(V_max_qty,V_n_basic_blocks,V_limit,B): 0.05/0.24 * Chain [17]: 1*s(2)+1 0.05/0.24 Such that:s(2) =< V_max_qty 0.05/0.24 0.05/0.24 with precondition: [V_n_basic_blocks=1,V_max_qty>=1,V_limit>=V_max_qty+1] 0.05/0.24 0.05/0.24 * Chain [16]: 0 0.05/0.24 with precondition: [0>=V_n_basic_blocks] 0.05/0.24 0.05/0.24 * Chain [15]: 1*s(4)+2*s(5)+1 0.05/0.24 Such that:s(4) =< V_max_qty 0.05/0.24 s(3) =< V_n_basic_blocks 0.05/0.24 s(5) =< s(3) 0.05/0.24 0.05/0.24 with precondition: [V_max_qty>=1,V_n_basic_blocks>=2,V_limit>=V_max_qty+1] 0.05/0.24 0.05/0.24 * Chain [14]: 2*s(7)+0 0.05/0.24 Such that:s(6) =< V_n_basic_blocks 0.05/0.24 s(7) =< s(6) 0.05/0.24 0.05/0.24 with precondition: [V_n_basic_blocks>=1] 0.05/0.24 0.05/0.24 0.05/0.24 #### Cost of chains of eval_local_alloc_start(V_max_qty,V_n_basic_blocks,V_limit,B): 0.05/0.24 * Chain [21]: 1*s(8)+1 0.05/0.24 Such that:s(8) =< V_max_qty 0.05/0.24 0.05/0.24 with precondition: [V_n_basic_blocks=1,V_max_qty>=1,V_limit>=V_max_qty+1] 0.05/0.24 0.05/0.24 * Chain [20]: 0 0.05/0.24 with precondition: [0>=V_n_basic_blocks] 0.05/0.24 0.05/0.24 * Chain [19]: 1*s(9)+2*s(11)+1 0.05/0.24 Such that:s(9) =< V_max_qty 0.05/0.24 s(10) =< V_n_basic_blocks 0.05/0.24 s(11) =< s(10) 0.05/0.24 0.05/0.24 with precondition: [V_max_qty>=1,V_n_basic_blocks>=2,V_limit>=V_max_qty+1] 0.05/0.24 0.05/0.24 * Chain [18]: 2*s(13)+0 0.05/0.24 Such that:s(12) =< V_n_basic_blocks 0.05/0.24 s(13) =< s(12) 0.05/0.24 0.05/0.24 with precondition: [V_n_basic_blocks>=1] 0.05/0.24 0.05/0.24 0.05/0.24 Closed-form bounds of eval_local_alloc_start(V_max_qty,V_n_basic_blocks,V_limit,B): 0.05/0.24 ------------------------------------- 0.05/0.24 * Chain [21] with precondition: [V_n_basic_blocks=1,V_max_qty>=1,V_limit>=V_max_qty+1] 0.05/0.24 - Upper bound: V_max_qty+1 0.05/0.24 - Complexity: n 0.05/0.24 * Chain [20] with precondition: [0>=V_n_basic_blocks] 0.05/0.24 - Upper bound: 0 0.05/0.24 - Complexity: constant 0.05/0.24 * Chain [19] with precondition: [V_max_qty>=1,V_n_basic_blocks>=2,V_limit>=V_max_qty+1] 0.05/0.24 - Upper bound: V_max_qty+2*V_n_basic_blocks+1 0.05/0.24 - Complexity: n 0.05/0.24 * Chain [18] with precondition: [V_n_basic_blocks>=1] 0.05/0.24 - Upper bound: 2*V_n_basic_blocks 0.05/0.24 - Complexity: n 0.05/0.24 0.05/0.24 ### Maximum cost of eval_local_alloc_start(V_max_qty,V_n_basic_blocks,V_limit,B): nat(V_max_qty)+1+nat(V_n_basic_blocks)*2 0.05/0.24 Asymptotic class: n 0.05/0.24 * Total analysis performed in 167 ms. 0.05/0.24 0.05/0.34 EOF