YES(?,O(n^1)) * Step 1: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_start_start(v__0,v_flag_0,v_n) -> eval_start_bb0_in(v__0,v_flag_0,v_n) True (1,1) 1. eval_start_bb0_in(v__0,v_flag_0,v_n) -> eval_start_0(v__0,v_flag_0,v_n) True (?,1) 2. eval_start_0(v__0,v_flag_0,v_n) -> eval_start_1(v__0,v_flag_0,v_n) True (?,1) 3. eval_start_1(v__0,v_flag_0,v_n) -> eval_start_2(v__0,v_flag_0,v_n) True (?,1) 4. eval_start_2(v__0,v_flag_0,v_n) -> eval_start_3(v__0,v_flag_0,v_n) True (?,1) 5. eval_start_3(v__0,v_flag_0,v_n) -> eval_start_4(v__0,v_flag_0,v_n) True (?,1) 6. eval_start_4(v__0,v_flag_0,v_n) -> eval_start_5(v__0,v_flag_0,v_n) True (?,1) 7. eval_start_5(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v_n,1,v_n) True (?,1) 8. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb2_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0] (?,1) 9. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb3_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && 0 >= v_flag_0] (?,1) 10. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(-1 + v__0,1,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && -1 + v__0 >= 0] (?,1) 11. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v__0,0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && 0 >= v__0] (?,1) 12. eval_start_bb3_in(v__0,v_flag_0,v_n) -> eval_start_stop(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && -1*v_flag_0 >= 0] (?,1) Signature: {(eval_start_0,3) ;(eval_start_1,3) ;(eval_start_2,3) ;(eval_start_3,3) ;(eval_start_4,3) ;(eval_start_5,3) ;(eval_start_bb0_in,3) ;(eval_start_bb1_in,3) ;(eval_start_bb2_in,3) ;(eval_start_bb3_in,3) ;(eval_start_start,3) ;(eval_start_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8,9},8->{10,11},9->{12},10->{8,9},11->{8,9},12->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(7,9),(10,9),(11,8)] * Step 2: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_start_start(v__0,v_flag_0,v_n) -> eval_start_bb0_in(v__0,v_flag_0,v_n) True (1,1) 1. eval_start_bb0_in(v__0,v_flag_0,v_n) -> eval_start_0(v__0,v_flag_0,v_n) True (?,1) 2. eval_start_0(v__0,v_flag_0,v_n) -> eval_start_1(v__0,v_flag_0,v_n) True (?,1) 3. eval_start_1(v__0,v_flag_0,v_n) -> eval_start_2(v__0,v_flag_0,v_n) True (?,1) 4. eval_start_2(v__0,v_flag_0,v_n) -> eval_start_3(v__0,v_flag_0,v_n) True (?,1) 5. eval_start_3(v__0,v_flag_0,v_n) -> eval_start_4(v__0,v_flag_0,v_n) True (?,1) 6. eval_start_4(v__0,v_flag_0,v_n) -> eval_start_5(v__0,v_flag_0,v_n) True (?,1) 7. eval_start_5(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v_n,1,v_n) True (?,1) 8. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb2_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0] (?,1) 9. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb3_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && 0 >= v_flag_0] (?,1) 10. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(-1 + v__0,1,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && -1 + v__0 >= 0] (?,1) 11. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v__0,0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && 0 >= v__0] (?,1) 12. eval_start_bb3_in(v__0,v_flag_0,v_n) -> eval_start_stop(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && -1*v_flag_0 >= 0] (?,1) Signature: {(eval_start_0,3) ;(eval_start_1,3) ;(eval_start_2,3) ;(eval_start_3,3) ;(eval_start_4,3) ;(eval_start_5,3) ;(eval_start_bb0_in,3) ;(eval_start_bb1_in,3) ;(eval_start_bb2_in,3) ;(eval_start_bb3_in,3) ;(eval_start_start,3) ;(eval_start_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{10,11},9->{12},10->{8},11->{9},12->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 3: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_start_start(v__0,v_flag_0,v_n) -> eval_start_bb0_in(v__0,v_flag_0,v_n) True (1,1) 1. eval_start_bb0_in(v__0,v_flag_0,v_n) -> eval_start_0(v__0,v_flag_0,v_n) True (1,1) 2. eval_start_0(v__0,v_flag_0,v_n) -> eval_start_1(v__0,v_flag_0,v_n) True (1,1) 3. eval_start_1(v__0,v_flag_0,v_n) -> eval_start_2(v__0,v_flag_0,v_n) True (1,1) 4. eval_start_2(v__0,v_flag_0,v_n) -> eval_start_3(v__0,v_flag_0,v_n) True (1,1) 5. eval_start_3(v__0,v_flag_0,v_n) -> eval_start_4(v__0,v_flag_0,v_n) True (1,1) 6. eval_start_4(v__0,v_flag_0,v_n) -> eval_start_5(v__0,v_flag_0,v_n) True (1,1) 7. eval_start_5(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v_n,1,v_n) True (1,1) 8. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb2_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0] (?,1) 9. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb3_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && 0 >= v_flag_0] (1,1) 10. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(-1 + v__0,1,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && -1 + v__0 >= 0] (?,1) 11. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v__0,0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && 0 >= v__0] (1,1) 12. eval_start_bb3_in(v__0,v_flag_0,v_n) -> eval_start_stop(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && -1*v_flag_0 >= 0] (1,1) Signature: {(eval_start_0,3) ;(eval_start_1,3) ;(eval_start_2,3) ;(eval_start_3,3) ;(eval_start_4,3) ;(eval_start_5,3) ;(eval_start_bb0_in,3) ;(eval_start_bb1_in,3) ;(eval_start_bb2_in,3) ;(eval_start_bb3_in,3) ;(eval_start_start,3) ;(eval_start_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{10,11},9->{12},10->{8},11->{9},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(eval_start_0) = x3 p(eval_start_1) = x3 p(eval_start_2) = x3 p(eval_start_3) = x3 p(eval_start_4) = x3 p(eval_start_5) = x3 p(eval_start_bb0_in) = x3 p(eval_start_bb1_in) = x1 p(eval_start_bb2_in) = x1 p(eval_start_bb3_in) = x1 p(eval_start_start) = x3 p(eval_start_stop) = x1 Following rules are strictly oriented: [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && -1 + v__0 >= 0] ==> eval_start_bb2_in(v__0,v_flag_0,v_n) = v__0 > -1 + v__0 = eval_start_bb1_in(-1 + v__0,1,v_n) Following rules are weakly oriented: True ==> eval_start_start(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_bb0_in(v__0,v_flag_0,v_n) True ==> eval_start_bb0_in(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_0(v__0,v_flag_0,v_n) True ==> eval_start_0(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_1(v__0,v_flag_0,v_n) True ==> eval_start_1(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_2(v__0,v_flag_0,v_n) True ==> eval_start_2(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_3(v__0,v_flag_0,v_n) True ==> eval_start_3(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_4(v__0,v_flag_0,v_n) True ==> eval_start_4(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_5(v__0,v_flag_0,v_n) True ==> eval_start_5(v__0,v_flag_0,v_n) = v_n >= v_n = eval_start_bb1_in(v_n,1,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0] ==> eval_start_bb1_in(v__0,v_flag_0,v_n) = v__0 >= v__0 = eval_start_bb2_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && 0 >= v_flag_0] ==> eval_start_bb1_in(v__0,v_flag_0,v_n) = v__0 >= v__0 = eval_start_bb3_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && 0 >= v__0] ==> eval_start_bb2_in(v__0,v_flag_0,v_n) = v__0 >= v__0 = eval_start_bb1_in(v__0,0,v_n) [-1*v__0 + v_n >= 0 && -1*v_flag_0 >= 0] ==> eval_start_bb3_in(v__0,v_flag_0,v_n) = v__0 >= v__0 = eval_start_stop(v__0,v_flag_0,v_n) * Step 4: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_start_start(v__0,v_flag_0,v_n) -> eval_start_bb0_in(v__0,v_flag_0,v_n) True (1,1) 1. eval_start_bb0_in(v__0,v_flag_0,v_n) -> eval_start_0(v__0,v_flag_0,v_n) True (1,1) 2. eval_start_0(v__0,v_flag_0,v_n) -> eval_start_1(v__0,v_flag_0,v_n) True (1,1) 3. eval_start_1(v__0,v_flag_0,v_n) -> eval_start_2(v__0,v_flag_0,v_n) True (1,1) 4. eval_start_2(v__0,v_flag_0,v_n) -> eval_start_3(v__0,v_flag_0,v_n) True (1,1) 5. eval_start_3(v__0,v_flag_0,v_n) -> eval_start_4(v__0,v_flag_0,v_n) True (1,1) 6. eval_start_4(v__0,v_flag_0,v_n) -> eval_start_5(v__0,v_flag_0,v_n) True (1,1) 7. eval_start_5(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v_n,1,v_n) True (1,1) 8. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb2_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0] (?,1) 9. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb3_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && 0 >= v_flag_0] (1,1) 10. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(-1 + v__0,1,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && -1 + v__0 >= 0] (v_n,1) 11. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v__0,0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && 0 >= v__0] (1,1) 12. eval_start_bb3_in(v__0,v_flag_0,v_n) -> eval_start_stop(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && -1*v_flag_0 >= 0] (1,1) Signature: {(eval_start_0,3) ;(eval_start_1,3) ;(eval_start_2,3) ;(eval_start_3,3) ;(eval_start_4,3) ;(eval_start_5,3) ;(eval_start_bb0_in,3) ;(eval_start_bb1_in,3) ;(eval_start_bb2_in,3) ;(eval_start_bb3_in,3) ;(eval_start_start,3) ;(eval_start_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{10,11},9->{12},10->{8},11->{9},12->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 5: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_start_start(v__0,v_flag_0,v_n) -> eval_start_bb0_in(v__0,v_flag_0,v_n) True (1,1) 1. eval_start_bb0_in(v__0,v_flag_0,v_n) -> eval_start_0(v__0,v_flag_0,v_n) True (1,1) 2. eval_start_0(v__0,v_flag_0,v_n) -> eval_start_1(v__0,v_flag_0,v_n) True (1,1) 3. eval_start_1(v__0,v_flag_0,v_n) -> eval_start_2(v__0,v_flag_0,v_n) True (1,1) 4. eval_start_2(v__0,v_flag_0,v_n) -> eval_start_3(v__0,v_flag_0,v_n) True (1,1) 5. eval_start_3(v__0,v_flag_0,v_n) -> eval_start_4(v__0,v_flag_0,v_n) True (1,1) 6. eval_start_4(v__0,v_flag_0,v_n) -> eval_start_5(v__0,v_flag_0,v_n) True (1,1) 7. eval_start_5(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v_n,1,v_n) True (1,1) 8. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb2_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0] (1 + v_n,1) 9. eval_start_bb1_in(v__0,v_flag_0,v_n) -> eval_start_bb3_in(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && 0 >= v_flag_0] (1,1) 10. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(-1 + v__0,1,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && -1 + v__0 >= 0] (v_n,1) 11. eval_start_bb2_in(v__0,v_flag_0,v_n) -> eval_start_bb1_in(v__0,0,v_n) [-1*v__0 + v_n >= 0 && 1 + -1*v_flag_0 >= 0 && -1 + v_flag_0 >= 0 && 0 >= v__0] (1,1) 12. eval_start_bb3_in(v__0,v_flag_0,v_n) -> eval_start_stop(v__0,v_flag_0,v_n) [-1*v__0 + v_n >= 0 && -1*v_flag_0 >= 0] (1,1) Signature: {(eval_start_0,3) ;(eval_start_1,3) ;(eval_start_2,3) ;(eval_start_3,3) ;(eval_start_4,3) ;(eval_start_5,3) ;(eval_start_bb0_in,3) ;(eval_start_bb1_in,3) ;(eval_start_bb2_in,3) ;(eval_start_bb3_in,3) ;(eval_start_start,3) ;(eval_start_stop,3)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8},8->{10,11},9->{12},10->{8},11->{9},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(n^1))