YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_abc_start(v_a,v_b,v_i_0) -> eval_abc_bb0_in(v_a,v_b,v_i_0) True (1,1) 1. eval_abc_bb0_in(v_a,v_b,v_i_0) -> eval_abc_0(v_a,v_b,v_i_0) True (?,1) 2. eval_abc_0(v_a,v_b,v_i_0) -> eval_abc_1(v_a,v_b,v_i_0) True (?,1) 3. eval_abc_1(v_a,v_b,v_i_0) -> eval_abc_2(v_a,v_b,v_i_0) True (?,1) 4. eval_abc_2(v_a,v_b,v_i_0) -> eval_abc_3(v_a,v_b,v_i_0) True (?,1) 5. eval_abc_3(v_a,v_b,v_i_0) -> eval_abc_4(v_a,v_b,v_i_0) True (?,1) 6. eval_abc_4(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,v_a) True (?,1) 7. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb2_in(v_a,v_b,v_i_0) [v_b >= v_i_0] (?,1) 8. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb3_in(v_a,v_b,v_i_0) [-1 + v_i_0 >= v_b] (?,1) 9. eval_abc_bb2_in(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,1 + v_i_0) True (?,1) 10. eval_abc_bb3_in(v_a,v_b,v_i_0) -> eval_abc_stop(v_a,v_b,v_i_0) True (?,1) Signature: {(eval_abc_0,3) ;(eval_abc_1,3) ;(eval_abc_2,3) ;(eval_abc_3,3) ;(eval_abc_4,3) ;(eval_abc_bb0_in,3) ;(eval_abc_bb1_in,3) ;(eval_abc_bb2_in,3) ;(eval_abc_bb3_in,3) ;(eval_abc_start,3) ;(eval_abc_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{10},9->{7,8},10->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_abc_start(v_a,v_b,v_i_0) -> eval_abc_bb0_in(v_a,v_b,v_i_0) True (1,1) 1. eval_abc_bb0_in(v_a,v_b,v_i_0) -> eval_abc_0(v_a,v_b,v_i_0) True (1,1) 2. eval_abc_0(v_a,v_b,v_i_0) -> eval_abc_1(v_a,v_b,v_i_0) True (1,1) 3. eval_abc_1(v_a,v_b,v_i_0) -> eval_abc_2(v_a,v_b,v_i_0) True (1,1) 4. eval_abc_2(v_a,v_b,v_i_0) -> eval_abc_3(v_a,v_b,v_i_0) True (1,1) 5. eval_abc_3(v_a,v_b,v_i_0) -> eval_abc_4(v_a,v_b,v_i_0) True (1,1) 6. eval_abc_4(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,v_a) True (1,1) 7. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb2_in(v_a,v_b,v_i_0) [v_b >= v_i_0] (?,1) 8. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb3_in(v_a,v_b,v_i_0) [-1 + v_i_0 >= v_b] (1,1) 9. eval_abc_bb2_in(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,1 + v_i_0) True (?,1) 10. eval_abc_bb3_in(v_a,v_b,v_i_0) -> eval_abc_stop(v_a,v_b,v_i_0) True (1,1) Signature: {(eval_abc_0,3) ;(eval_abc_1,3) ;(eval_abc_2,3) ;(eval_abc_3,3) ;(eval_abc_4,3) ;(eval_abc_bb0_in,3) ;(eval_abc_bb1_in,3) ;(eval_abc_bb2_in,3) ;(eval_abc_bb3_in,3) ;(eval_abc_start,3) ;(eval_abc_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{10},9->{7,8},10->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(eval_abc_0) = 2 + -1*x1 + x2 p(eval_abc_1) = 2 + -1*x1 + x2 p(eval_abc_2) = 2 + -1*x1 + x2 p(eval_abc_3) = 2 + -1*x1 + x2 p(eval_abc_4) = 2 + -1*x1 + x2 p(eval_abc_bb0_in) = 2 + -1*x1 + x2 p(eval_abc_bb1_in) = 2 + x2 + -1*x3 p(eval_abc_bb2_in) = 1 + x2 + -1*x3 p(eval_abc_bb3_in) = 2 + x2 + -1*x3 p(eval_abc_start) = 2 + -1*x1 + x2 p(eval_abc_stop) = 2 + x2 + -1*x3 Following rules are strictly oriented: [v_b >= v_i_0] ==> eval_abc_bb1_in(v_a,v_b,v_i_0) = 2 + v_b + -1*v_i_0 > 1 + v_b + -1*v_i_0 = eval_abc_bb2_in(v_a,v_b,v_i_0) Following rules are weakly oriented: True ==> eval_abc_start(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_bb0_in(v_a,v_b,v_i_0) True ==> eval_abc_bb0_in(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_0(v_a,v_b,v_i_0) True ==> eval_abc_0(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_1(v_a,v_b,v_i_0) True ==> eval_abc_1(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_2(v_a,v_b,v_i_0) True ==> eval_abc_2(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_3(v_a,v_b,v_i_0) True ==> eval_abc_3(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_4(v_a,v_b,v_i_0) True ==> eval_abc_4(v_a,v_b,v_i_0) = 2 + -1*v_a + v_b >= 2 + -1*v_a + v_b = eval_abc_bb1_in(v_a,v_b,v_a) [-1 + v_i_0 >= v_b] ==> eval_abc_bb1_in(v_a,v_b,v_i_0) = 2 + v_b + -1*v_i_0 >= 2 + v_b + -1*v_i_0 = eval_abc_bb3_in(v_a,v_b,v_i_0) True ==> eval_abc_bb2_in(v_a,v_b,v_i_0) = 1 + v_b + -1*v_i_0 >= 1 + v_b + -1*v_i_0 = eval_abc_bb1_in(v_a,v_b,1 + v_i_0) True ==> eval_abc_bb3_in(v_a,v_b,v_i_0) = 2 + v_b + -1*v_i_0 >= 2 + v_b + -1*v_i_0 = eval_abc_stop(v_a,v_b,v_i_0) * Step 3: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_abc_start(v_a,v_b,v_i_0) -> eval_abc_bb0_in(v_a,v_b,v_i_0) True (1,1) 1. eval_abc_bb0_in(v_a,v_b,v_i_0) -> eval_abc_0(v_a,v_b,v_i_0) True (1,1) 2. eval_abc_0(v_a,v_b,v_i_0) -> eval_abc_1(v_a,v_b,v_i_0) True (1,1) 3. eval_abc_1(v_a,v_b,v_i_0) -> eval_abc_2(v_a,v_b,v_i_0) True (1,1) 4. eval_abc_2(v_a,v_b,v_i_0) -> eval_abc_3(v_a,v_b,v_i_0) True (1,1) 5. eval_abc_3(v_a,v_b,v_i_0) -> eval_abc_4(v_a,v_b,v_i_0) True (1,1) 6. eval_abc_4(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,v_a) True (1,1) 7. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb2_in(v_a,v_b,v_i_0) [v_b >= v_i_0] (2 + v_a + v_b,1) 8. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb3_in(v_a,v_b,v_i_0) [-1 + v_i_0 >= v_b] (1,1) 9. eval_abc_bb2_in(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,1 + v_i_0) True (?,1) 10. eval_abc_bb3_in(v_a,v_b,v_i_0) -> eval_abc_stop(v_a,v_b,v_i_0) True (1,1) Signature: {(eval_abc_0,3) ;(eval_abc_1,3) ;(eval_abc_2,3) ;(eval_abc_3,3) ;(eval_abc_4,3) ;(eval_abc_bb0_in,3) ;(eval_abc_bb1_in,3) ;(eval_abc_bb2_in,3) ;(eval_abc_bb3_in,3) ;(eval_abc_start,3) ;(eval_abc_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{10},9->{7,8},10->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 4: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_abc_start(v_a,v_b,v_i_0) -> eval_abc_bb0_in(v_a,v_b,v_i_0) True (1,1) 1. eval_abc_bb0_in(v_a,v_b,v_i_0) -> eval_abc_0(v_a,v_b,v_i_0) True (1,1) 2. eval_abc_0(v_a,v_b,v_i_0) -> eval_abc_1(v_a,v_b,v_i_0) True (1,1) 3. eval_abc_1(v_a,v_b,v_i_0) -> eval_abc_2(v_a,v_b,v_i_0) True (1,1) 4. eval_abc_2(v_a,v_b,v_i_0) -> eval_abc_3(v_a,v_b,v_i_0) True (1,1) 5. eval_abc_3(v_a,v_b,v_i_0) -> eval_abc_4(v_a,v_b,v_i_0) True (1,1) 6. eval_abc_4(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,v_a) True (1,1) 7. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb2_in(v_a,v_b,v_i_0) [v_b >= v_i_0] (2 + v_a + v_b,1) 8. eval_abc_bb1_in(v_a,v_b,v_i_0) -> eval_abc_bb3_in(v_a,v_b,v_i_0) [-1 + v_i_0 >= v_b] (1,1) 9. eval_abc_bb2_in(v_a,v_b,v_i_0) -> eval_abc_bb1_in(v_a,v_b,1 + v_i_0) True (2 + v_a + v_b,1) 10. eval_abc_bb3_in(v_a,v_b,v_i_0) -> eval_abc_stop(v_a,v_b,v_i_0) True (1,1) Signature: {(eval_abc_0,3) ;(eval_abc_1,3) ;(eval_abc_2,3) ;(eval_abc_3,3) ;(eval_abc_4,3) ;(eval_abc_bb0_in,3) ;(eval_abc_bb1_in,3) ;(eval_abc_bb2_in,3) ;(eval_abc_bb3_in,3) ;(eval_abc_start,3) ;(eval_abc_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{10},9->{7,8},10->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(n^1))