YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_easy2_start(v__0,v_z) -> eval_easy2_bb0_in(v__0,v_z) True (1,1) 1. eval_easy2_bb0_in(v__0,v_z) -> eval_easy2_0(v__0,v_z) True (?,1) 2. eval_easy2_0(v__0,v_z) -> eval_easy2_1(v__0,v_z) True (?,1) 3. eval_easy2_1(v__0,v_z) -> eval_easy2_2(v__0,v_z) True (?,1) 4. eval_easy2_2(v__0,v_z) -> eval_easy2_3(v__0,v_z) True (?,1) 5. eval_easy2_3(v__0,v_z) -> eval_easy2_4(v__0,v_z) True (?,1) 6. eval_easy2_4(v__0,v_z) -> eval_easy2_5(v__0,v_z) True (?,1) 7. eval_easy2_5(v__0,v_z) -> eval_easy2_6(v__0,v_z) True (?,1) 8. eval_easy2_6(v__0,v_z) -> eval_easy2_bb1_in(v_z,v_z) True (?,1) 9. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb2_in(v__0,v_z) [-1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (?,1) 10. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb3_in(v__0,v_z) [-1*v__0 + v_z >= 0 && 0 >= v__0] (?,1) 11. eval_easy2_bb2_in(v__0,v_z) -> eval_easy2_bb1_in(-1 + v__0,v_z) [-1 + v_z >= 0 && -2 + v__0 + v_z >= 0 && -1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (?,1) 12. eval_easy2_bb3_in(v__0,v_z) -> eval_easy2_stop(v__0,v_z) [-1*v__0 + v_z >= 0 && -1*v__0 >= 0] (?,1) Signature: {(eval_easy2_0,2) ;(eval_easy2_1,2) ;(eval_easy2_2,2) ;(eval_easy2_3,2) ;(eval_easy2_4,2) ;(eval_easy2_5,2) ;(eval_easy2_6,2) ;(eval_easy2_bb0_in,2) ;(eval_easy2_bb1_in,2) ;(eval_easy2_bb2_in,2) ;(eval_easy2_bb3_in,2) ;(eval_easy2_start,2) ;(eval_easy2_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{9,10},9->{11},10->{12},11->{9,10},12->{}] + 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_easy2_start(v__0,v_z) -> eval_easy2_bb0_in(v__0,v_z) True (1,1) 1. eval_easy2_bb0_in(v__0,v_z) -> eval_easy2_0(v__0,v_z) True (1,1) 2. eval_easy2_0(v__0,v_z) -> eval_easy2_1(v__0,v_z) True (1,1) 3. eval_easy2_1(v__0,v_z) -> eval_easy2_2(v__0,v_z) True (1,1) 4. eval_easy2_2(v__0,v_z) -> eval_easy2_3(v__0,v_z) True (1,1) 5. eval_easy2_3(v__0,v_z) -> eval_easy2_4(v__0,v_z) True (1,1) 6. eval_easy2_4(v__0,v_z) -> eval_easy2_5(v__0,v_z) True (1,1) 7. eval_easy2_5(v__0,v_z) -> eval_easy2_6(v__0,v_z) True (1,1) 8. eval_easy2_6(v__0,v_z) -> eval_easy2_bb1_in(v_z,v_z) True (1,1) 9. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb2_in(v__0,v_z) [-1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (?,1) 10. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb3_in(v__0,v_z) [-1*v__0 + v_z >= 0 && 0 >= v__0] (1,1) 11. eval_easy2_bb2_in(v__0,v_z) -> eval_easy2_bb1_in(-1 + v__0,v_z) [-1 + v_z >= 0 && -2 + v__0 + v_z >= 0 && -1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (?,1) 12. eval_easy2_bb3_in(v__0,v_z) -> eval_easy2_stop(v__0,v_z) [-1*v__0 + v_z >= 0 && -1*v__0 >= 0] (1,1) Signature: {(eval_easy2_0,2) ;(eval_easy2_1,2) ;(eval_easy2_2,2) ;(eval_easy2_3,2) ;(eval_easy2_4,2) ;(eval_easy2_5,2) ;(eval_easy2_6,2) ;(eval_easy2_bb0_in,2) ;(eval_easy2_bb1_in,2) ;(eval_easy2_bb2_in,2) ;(eval_easy2_bb3_in,2) ;(eval_easy2_start,2) ;(eval_easy2_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{9,10},9->{11},10->{12},11->{9,10},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(eval_easy2_0) = x2 p(eval_easy2_1) = x2 p(eval_easy2_2) = x2 p(eval_easy2_3) = x2 p(eval_easy2_4) = x2 p(eval_easy2_5) = x2 p(eval_easy2_6) = x2 p(eval_easy2_bb0_in) = x2 p(eval_easy2_bb1_in) = x1 p(eval_easy2_bb2_in) = x1 p(eval_easy2_bb3_in) = x1 p(eval_easy2_start) = x2 p(eval_easy2_stop) = x1 Following rules are strictly oriented: [-1 + v_z >= 0 && -2 + v__0 + v_z >= 0 && -1*v__0 + v_z >= 0 && -1 + v__0 >= 0] ==> eval_easy2_bb2_in(v__0,v_z) = v__0 > -1 + v__0 = eval_easy2_bb1_in(-1 + v__0,v_z) Following rules are weakly oriented: True ==> eval_easy2_start(v__0,v_z) = v_z >= v_z = eval_easy2_bb0_in(v__0,v_z) True ==> eval_easy2_bb0_in(v__0,v_z) = v_z >= v_z = eval_easy2_0(v__0,v_z) True ==> eval_easy2_0(v__0,v_z) = v_z >= v_z = eval_easy2_1(v__0,v_z) True ==> eval_easy2_1(v__0,v_z) = v_z >= v_z = eval_easy2_2(v__0,v_z) True ==> eval_easy2_2(v__0,v_z) = v_z >= v_z = eval_easy2_3(v__0,v_z) True ==> eval_easy2_3(v__0,v_z) = v_z >= v_z = eval_easy2_4(v__0,v_z) True ==> eval_easy2_4(v__0,v_z) = v_z >= v_z = eval_easy2_5(v__0,v_z) True ==> eval_easy2_5(v__0,v_z) = v_z >= v_z = eval_easy2_6(v__0,v_z) True ==> eval_easy2_6(v__0,v_z) = v_z >= v_z = eval_easy2_bb1_in(v_z,v_z) [-1*v__0 + v_z >= 0 && -1 + v__0 >= 0] ==> eval_easy2_bb1_in(v__0,v_z) = v__0 >= v__0 = eval_easy2_bb2_in(v__0,v_z) [-1*v__0 + v_z >= 0 && 0 >= v__0] ==> eval_easy2_bb1_in(v__0,v_z) = v__0 >= v__0 = eval_easy2_bb3_in(v__0,v_z) [-1*v__0 + v_z >= 0 && -1*v__0 >= 0] ==> eval_easy2_bb3_in(v__0,v_z) = v__0 >= v__0 = eval_easy2_stop(v__0,v_z) * Step 3: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_easy2_start(v__0,v_z) -> eval_easy2_bb0_in(v__0,v_z) True (1,1) 1. eval_easy2_bb0_in(v__0,v_z) -> eval_easy2_0(v__0,v_z) True (1,1) 2. eval_easy2_0(v__0,v_z) -> eval_easy2_1(v__0,v_z) True (1,1) 3. eval_easy2_1(v__0,v_z) -> eval_easy2_2(v__0,v_z) True (1,1) 4. eval_easy2_2(v__0,v_z) -> eval_easy2_3(v__0,v_z) True (1,1) 5. eval_easy2_3(v__0,v_z) -> eval_easy2_4(v__0,v_z) True (1,1) 6. eval_easy2_4(v__0,v_z) -> eval_easy2_5(v__0,v_z) True (1,1) 7. eval_easy2_5(v__0,v_z) -> eval_easy2_6(v__0,v_z) True (1,1) 8. eval_easy2_6(v__0,v_z) -> eval_easy2_bb1_in(v_z,v_z) True (1,1) 9. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb2_in(v__0,v_z) [-1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (?,1) 10. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb3_in(v__0,v_z) [-1*v__0 + v_z >= 0 && 0 >= v__0] (1,1) 11. eval_easy2_bb2_in(v__0,v_z) -> eval_easy2_bb1_in(-1 + v__0,v_z) [-1 + v_z >= 0 && -2 + v__0 + v_z >= 0 && -1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (v_z,1) 12. eval_easy2_bb3_in(v__0,v_z) -> eval_easy2_stop(v__0,v_z) [-1*v__0 + v_z >= 0 && -1*v__0 >= 0] (1,1) Signature: {(eval_easy2_0,2) ;(eval_easy2_1,2) ;(eval_easy2_2,2) ;(eval_easy2_3,2) ;(eval_easy2_4,2) ;(eval_easy2_5,2) ;(eval_easy2_6,2) ;(eval_easy2_bb0_in,2) ;(eval_easy2_bb1_in,2) ;(eval_easy2_bb2_in,2) ;(eval_easy2_bb3_in,2) ;(eval_easy2_start,2) ;(eval_easy2_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{9,10},9->{11},10->{12},11->{9,10},12->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 4: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_easy2_start(v__0,v_z) -> eval_easy2_bb0_in(v__0,v_z) True (1,1) 1. eval_easy2_bb0_in(v__0,v_z) -> eval_easy2_0(v__0,v_z) True (1,1) 2. eval_easy2_0(v__0,v_z) -> eval_easy2_1(v__0,v_z) True (1,1) 3. eval_easy2_1(v__0,v_z) -> eval_easy2_2(v__0,v_z) True (1,1) 4. eval_easy2_2(v__0,v_z) -> eval_easy2_3(v__0,v_z) True (1,1) 5. eval_easy2_3(v__0,v_z) -> eval_easy2_4(v__0,v_z) True (1,1) 6. eval_easy2_4(v__0,v_z) -> eval_easy2_5(v__0,v_z) True (1,1) 7. eval_easy2_5(v__0,v_z) -> eval_easy2_6(v__0,v_z) True (1,1) 8. eval_easy2_6(v__0,v_z) -> eval_easy2_bb1_in(v_z,v_z) True (1,1) 9. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb2_in(v__0,v_z) [-1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (1 + v_z,1) 10. eval_easy2_bb1_in(v__0,v_z) -> eval_easy2_bb3_in(v__0,v_z) [-1*v__0 + v_z >= 0 && 0 >= v__0] (1,1) 11. eval_easy2_bb2_in(v__0,v_z) -> eval_easy2_bb1_in(-1 + v__0,v_z) [-1 + v_z >= 0 && -2 + v__0 + v_z >= 0 && -1*v__0 + v_z >= 0 && -1 + v__0 >= 0] (v_z,1) 12. eval_easy2_bb3_in(v__0,v_z) -> eval_easy2_stop(v__0,v_z) [-1*v__0 + v_z >= 0 && -1*v__0 >= 0] (1,1) Signature: {(eval_easy2_0,2) ;(eval_easy2_1,2) ;(eval_easy2_2,2) ;(eval_easy2_3,2) ;(eval_easy2_4,2) ;(eval_easy2_5,2) ;(eval_easy2_6,2) ;(eval_easy2_bb0_in,2) ;(eval_easy2_bb1_in,2) ;(eval_easy2_bb2_in,2) ;(eval_easy2_bb3_in,2) ;(eval_easy2_start,2) ;(eval_easy2_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{9,10},9->{11},10->{12},11->{9,10},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(n^1))