YES(?,O(1)) * Step 1: TrivialSCCs WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. eval_nd_loop_start(v_0,v_x_0) -> eval_nd_loop_bb0_in(v_0,v_x_0) True (1,1) 1. eval_nd_loop_bb0_in(v_0,v_x_0) -> eval_nd_loop_0(v_0,v_x_0) True (?,1) 2. eval_nd_loop_0(v_0,v_x_0) -> eval_nd_loop_1(v_0,v_x_0) True (?,1) 3. eval_nd_loop_1(v_0,v_x_0) -> eval_nd_loop_2(v_0,v_x_0) True (?,1) 4. eval_nd_loop_2(v_0,v_x_0) -> eval_nd_loop_3(v_0,v_x_0) True (?,1) 5. eval_nd_loop_3(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,0) True (?,1) 6. eval_nd_loop_bb1_in(v_0,v_x_0) -> eval_nd_loop_4(v_0,v_x_0) [v_x_0 >= 0] (?,1) 7. eval_nd_loop_4(v_0,v_x_0) -> eval_nd_loop_5(nondef_0,v_x_0) [v_x_0 >= 0] (?,1) 8. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,v_0) [v_x_0 >= 0 && 2 >= v_0 + -1*v_x_0 && v_0 + -1*v_x_0 >= 1 && 9 >= v_0] (?,1) 9. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && -1 + v_0 + -1*v_x_0 >= 2] (?,1) 10. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && 0 >= v_0 + -1*v_x_0] (?,1) 11. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && v_0 >= 10] (?,1) 12. eval_nd_loop_bb2_in(v_0,v_x_0) -> eval_nd_loop_stop(v_0,v_x_0) [v_x_0 >= 0] (?,1) Signature: {(eval_nd_loop_0,2) ;(eval_nd_loop_1,2) ;(eval_nd_loop_2,2) ;(eval_nd_loop_3,2) ;(eval_nd_loop_4,2) ;(eval_nd_loop_5,2) ;(eval_nd_loop_bb0_in,2) ;(eval_nd_loop_bb1_in,2) ;(eval_nd_loop_bb2_in,2) ;(eval_nd_loop_start,2) ;(eval_nd_loop_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8,9,10,11},8->{6},9->{12},10->{12},11->{12},12->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: PolyRank WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. eval_nd_loop_start(v_0,v_x_0) -> eval_nd_loop_bb0_in(v_0,v_x_0) True (1,1) 1. eval_nd_loop_bb0_in(v_0,v_x_0) -> eval_nd_loop_0(v_0,v_x_0) True (1,1) 2. eval_nd_loop_0(v_0,v_x_0) -> eval_nd_loop_1(v_0,v_x_0) True (1,1) 3. eval_nd_loop_1(v_0,v_x_0) -> eval_nd_loop_2(v_0,v_x_0) True (1,1) 4. eval_nd_loop_2(v_0,v_x_0) -> eval_nd_loop_3(v_0,v_x_0) True (1,1) 5. eval_nd_loop_3(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,0) True (1,1) 6. eval_nd_loop_bb1_in(v_0,v_x_0) -> eval_nd_loop_4(v_0,v_x_0) [v_x_0 >= 0] (?,1) 7. eval_nd_loop_4(v_0,v_x_0) -> eval_nd_loop_5(nondef_0,v_x_0) [v_x_0 >= 0] (?,1) 8. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,v_0) [v_x_0 >= 0 && 2 >= v_0 + -1*v_x_0 && v_0 + -1*v_x_0 >= 1 && 9 >= v_0] (?,1) 9. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && -1 + v_0 + -1*v_x_0 >= 2] (1,1) 10. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && 0 >= v_0 + -1*v_x_0] (1,1) 11. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && v_0 >= 10] (1,1) 12. eval_nd_loop_bb2_in(v_0,v_x_0) -> eval_nd_loop_stop(v_0,v_x_0) [v_x_0 >= 0] (1,1) Signature: {(eval_nd_loop_0,2) ;(eval_nd_loop_1,2) ;(eval_nd_loop_2,2) ;(eval_nd_loop_3,2) ;(eval_nd_loop_4,2) ;(eval_nd_loop_5,2) ;(eval_nd_loop_bb0_in,2) ;(eval_nd_loop_bb1_in,2) ;(eval_nd_loop_bb2_in,2) ;(eval_nd_loop_start,2) ;(eval_nd_loop_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8,9,10,11},8->{6},9->{12},10->{12},11->{12},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(eval_nd_loop_0) = 10 p(eval_nd_loop_1) = 10 p(eval_nd_loop_2) = 9 p(eval_nd_loop_3) = 9 p(eval_nd_loop_4) = 9 + -1*x2 p(eval_nd_loop_5) = 9 + -1*x2 p(eval_nd_loop_bb0_in) = 11 p(eval_nd_loop_bb1_in) = 9 + -1*x2 p(eval_nd_loop_bb2_in) = 9 + -1*x2 p(eval_nd_loop_start) = 11 p(eval_nd_loop_stop) = 9 + -1*x2 Following rules are strictly oriented: True ==> eval_nd_loop_bb0_in(v_0,v_x_0) = 11 > 10 = eval_nd_loop_0(v_0,v_x_0) True ==> eval_nd_loop_1(v_0,v_x_0) = 10 > 9 = eval_nd_loop_2(v_0,v_x_0) [v_x_0 >= 0 && 2 >= v_0 + -1*v_x_0 && v_0 + -1*v_x_0 >= 1 && 9 >= v_0] ==> eval_nd_loop_5(v_0,v_x_0) = 9 + -1*v_x_0 > 9 + -1*v_0 = eval_nd_loop_bb1_in(v_0,v_0) Following rules are weakly oriented: True ==> eval_nd_loop_start(v_0,v_x_0) = 11 >= 11 = eval_nd_loop_bb0_in(v_0,v_x_0) True ==> eval_nd_loop_0(v_0,v_x_0) = 10 >= 10 = eval_nd_loop_1(v_0,v_x_0) True ==> eval_nd_loop_2(v_0,v_x_0) = 9 >= 9 = eval_nd_loop_3(v_0,v_x_0) True ==> eval_nd_loop_3(v_0,v_x_0) = 9 >= 9 = eval_nd_loop_bb1_in(v_0,0) [v_x_0 >= 0] ==> eval_nd_loop_bb1_in(v_0,v_x_0) = 9 + -1*v_x_0 >= 9 + -1*v_x_0 = eval_nd_loop_4(v_0,v_x_0) [v_x_0 >= 0] ==> eval_nd_loop_4(v_0,v_x_0) = 9 + -1*v_x_0 >= 9 + -1*v_x_0 = eval_nd_loop_5(nondef_0,v_x_0) [v_x_0 >= 0 && -1 + v_0 + -1*v_x_0 >= 2] ==> eval_nd_loop_5(v_0,v_x_0) = 9 + -1*v_x_0 >= 9 + -1*v_x_0 = eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && 0 >= v_0 + -1*v_x_0] ==> eval_nd_loop_5(v_0,v_x_0) = 9 + -1*v_x_0 >= 9 + -1*v_x_0 = eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && v_0 >= 10] ==> eval_nd_loop_5(v_0,v_x_0) = 9 + -1*v_x_0 >= 9 + -1*v_x_0 = eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0] ==> eval_nd_loop_bb2_in(v_0,v_x_0) = 9 + -1*v_x_0 >= 9 + -1*v_x_0 = eval_nd_loop_stop(v_0,v_x_0) * Step 3: KnowledgePropagation WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. eval_nd_loop_start(v_0,v_x_0) -> eval_nd_loop_bb0_in(v_0,v_x_0) True (1,1) 1. eval_nd_loop_bb0_in(v_0,v_x_0) -> eval_nd_loop_0(v_0,v_x_0) True (1,1) 2. eval_nd_loop_0(v_0,v_x_0) -> eval_nd_loop_1(v_0,v_x_0) True (1,1) 3. eval_nd_loop_1(v_0,v_x_0) -> eval_nd_loop_2(v_0,v_x_0) True (1,1) 4. eval_nd_loop_2(v_0,v_x_0) -> eval_nd_loop_3(v_0,v_x_0) True (1,1) 5. eval_nd_loop_3(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,0) True (1,1) 6. eval_nd_loop_bb1_in(v_0,v_x_0) -> eval_nd_loop_4(v_0,v_x_0) [v_x_0 >= 0] (?,1) 7. eval_nd_loop_4(v_0,v_x_0) -> eval_nd_loop_5(nondef_0,v_x_0) [v_x_0 >= 0] (?,1) 8. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,v_0) [v_x_0 >= 0 && 2 >= v_0 + -1*v_x_0 && v_0 + -1*v_x_0 >= 1 && 9 >= v_0] (11,1) 9. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && -1 + v_0 + -1*v_x_0 >= 2] (1,1) 10. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && 0 >= v_0 + -1*v_x_0] (1,1) 11. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && v_0 >= 10] (1,1) 12. eval_nd_loop_bb2_in(v_0,v_x_0) -> eval_nd_loop_stop(v_0,v_x_0) [v_x_0 >= 0] (1,1) Signature: {(eval_nd_loop_0,2) ;(eval_nd_loop_1,2) ;(eval_nd_loop_2,2) ;(eval_nd_loop_3,2) ;(eval_nd_loop_4,2) ;(eval_nd_loop_5,2) ;(eval_nd_loop_bb0_in,2) ;(eval_nd_loop_bb1_in,2) ;(eval_nd_loop_bb2_in,2) ;(eval_nd_loop_start,2) ;(eval_nd_loop_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8,9,10,11},8->{6},9->{12},10->{12},11->{12},12->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 4: PolyRank WORST_CASE(?,O(1)) + Considered Problem: Rules: 0. eval_nd_loop_start(v_0,v_x_0) -> eval_nd_loop_bb0_in(v_0,v_x_0) True (1,1) 1. eval_nd_loop_bb0_in(v_0,v_x_0) -> eval_nd_loop_0(v_0,v_x_0) True (1,1) 2. eval_nd_loop_0(v_0,v_x_0) -> eval_nd_loop_1(v_0,v_x_0) True (1,1) 3. eval_nd_loop_1(v_0,v_x_0) -> eval_nd_loop_2(v_0,v_x_0) True (1,1) 4. eval_nd_loop_2(v_0,v_x_0) -> eval_nd_loop_3(v_0,v_x_0) True (1,1) 5. eval_nd_loop_3(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,0) True (1,1) 6. eval_nd_loop_bb1_in(v_0,v_x_0) -> eval_nd_loop_4(v_0,v_x_0) [v_x_0 >= 0] (12,1) 7. eval_nd_loop_4(v_0,v_x_0) -> eval_nd_loop_5(nondef_0,v_x_0) [v_x_0 >= 0] (12,1) 8. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb1_in(v_0,v_0) [v_x_0 >= 0 && 2 >= v_0 + -1*v_x_0 && v_0 + -1*v_x_0 >= 1 && 9 >= v_0] (11,1) 9. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && -1 + v_0 + -1*v_x_0 >= 2] (1,1) 10. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && 0 >= v_0 + -1*v_x_0] (1,1) 11. eval_nd_loop_5(v_0,v_x_0) -> eval_nd_loop_bb2_in(v_0,v_x_0) [v_x_0 >= 0 && v_0 >= 10] (1,1) 12. eval_nd_loop_bb2_in(v_0,v_x_0) -> eval_nd_loop_stop(v_0,v_x_0) [v_x_0 >= 0] (1,1) Signature: {(eval_nd_loop_0,2) ;(eval_nd_loop_1,2) ;(eval_nd_loop_2,2) ;(eval_nd_loop_3,2) ;(eval_nd_loop_4,2) ;(eval_nd_loop_5,2) ;(eval_nd_loop_bb0_in,2) ;(eval_nd_loop_bb1_in,2) ;(eval_nd_loop_bb2_in,2) ;(eval_nd_loop_start,2) ;(eval_nd_loop_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7},7->{8,9,10,11},8->{6},9->{12},10->{12},11->{12},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(1))