YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_speedSingleSingle_start(v_n,v_x_0) -> eval_speedSingleSingle_bb0_in(v_n,v_x_0) True (1,1) 1. eval_speedSingleSingle_bb0_in(v_n,v_x_0) -> eval_speedSingleSingle_0(v_n,v_x_0) True (?,1) 2. eval_speedSingleSingle_0(v_n,v_x_0) -> eval_speedSingleSingle_1(v_n,v_x_0) True (?,1) 3. eval_speedSingleSingle_1(v_n,v_x_0) -> eval_speedSingleSingle_2(v_n,v_x_0) True (?,1) 4. eval_speedSingleSingle_2(v_n,v_x_0) -> eval_speedSingleSingle_3(v_n,v_x_0) True (?,1) 5. eval_speedSingleSingle_3(v_n,v_x_0) -> eval_speedSingleSingle_4(v_n,v_x_0) True (?,1) 6. eval_speedSingleSingle_4(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,0) True (?,1) 7. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb2_in(v_n,v_x_0) [v_x_0 >= 0 && -1 + v_n >= v_x_0] (?,1) 8. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb3_in(v_n,v_x_0) [v_x_0 >= 0 && v_x_0 >= v_n] (?,1) 9. eval_speedSingleSingle_bb2_in(v_n,v_x_0) -> eval_speedSingleSingle_5(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 10. eval_speedSingleSingle_5(v_n,v_x_0) -> eval_speedSingleSingle_6(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 11. eval_speedSingleSingle_6(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,1 + v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 12. eval_speedSingleSingle_bb3_in(v_n,v_x_0) -> eval_speedSingleSingle_stop(v_n,v_x_0) [v_x_0 >= 0 && -1*v_n + v_x_0 >= 0] (?,1) Signature: {(eval_speedSingleSingle_0,2) ;(eval_speedSingleSingle_1,2) ;(eval_speedSingleSingle_2,2) ;(eval_speedSingleSingle_3,2) ;(eval_speedSingleSingle_4,2) ;(eval_speedSingleSingle_5,2) ;(eval_speedSingleSingle_6,2) ;(eval_speedSingleSingle_bb0_in,2) ;(eval_speedSingleSingle_bb1_in,2) ;(eval_speedSingleSingle_bb2_in,2) ;(eval_speedSingleSingle_bb3_in,2) ;(eval_speedSingleSingle_start,2) ;(eval_speedSingleSingle_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{12},9->{10},10->{11},11->{7,8},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_speedSingleSingle_start(v_n,v_x_0) -> eval_speedSingleSingle_bb0_in(v_n,v_x_0) True (1,1) 1. eval_speedSingleSingle_bb0_in(v_n,v_x_0) -> eval_speedSingleSingle_0(v_n,v_x_0) True (1,1) 2. eval_speedSingleSingle_0(v_n,v_x_0) -> eval_speedSingleSingle_1(v_n,v_x_0) True (1,1) 3. eval_speedSingleSingle_1(v_n,v_x_0) -> eval_speedSingleSingle_2(v_n,v_x_0) True (1,1) 4. eval_speedSingleSingle_2(v_n,v_x_0) -> eval_speedSingleSingle_3(v_n,v_x_0) True (1,1) 5. eval_speedSingleSingle_3(v_n,v_x_0) -> eval_speedSingleSingle_4(v_n,v_x_0) True (1,1) 6. eval_speedSingleSingle_4(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,0) True (1,1) 7. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb2_in(v_n,v_x_0) [v_x_0 >= 0 && -1 + v_n >= v_x_0] (?,1) 8. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb3_in(v_n,v_x_0) [v_x_0 >= 0 && v_x_0 >= v_n] (1,1) 9. eval_speedSingleSingle_bb2_in(v_n,v_x_0) -> eval_speedSingleSingle_5(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 10. eval_speedSingleSingle_5(v_n,v_x_0) -> eval_speedSingleSingle_6(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 11. eval_speedSingleSingle_6(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,1 + v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 12. eval_speedSingleSingle_bb3_in(v_n,v_x_0) -> eval_speedSingleSingle_stop(v_n,v_x_0) [v_x_0 >= 0 && -1*v_n + v_x_0 >= 0] (1,1) Signature: {(eval_speedSingleSingle_0,2) ;(eval_speedSingleSingle_1,2) ;(eval_speedSingleSingle_2,2) ;(eval_speedSingleSingle_3,2) ;(eval_speedSingleSingle_4,2) ;(eval_speedSingleSingle_5,2) ;(eval_speedSingleSingle_6,2) ;(eval_speedSingleSingle_bb0_in,2) ;(eval_speedSingleSingle_bb1_in,2) ;(eval_speedSingleSingle_bb2_in,2) ;(eval_speedSingleSingle_bb3_in,2) ;(eval_speedSingleSingle_start,2) ;(eval_speedSingleSingle_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{12},9->{10},10->{11},11->{7,8},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(eval_speedSingleSingle_0) = x1 p(eval_speedSingleSingle_1) = x1 p(eval_speedSingleSingle_2) = x1 p(eval_speedSingleSingle_3) = x1 p(eval_speedSingleSingle_4) = x1 p(eval_speedSingleSingle_5) = x1 + -1*x2 p(eval_speedSingleSingle_6) = x1 + -1*x2 p(eval_speedSingleSingle_bb0_in) = x1 p(eval_speedSingleSingle_bb1_in) = x1 + -1*x2 p(eval_speedSingleSingle_bb2_in) = x1 + -1*x2 p(eval_speedSingleSingle_bb3_in) = x1 + -1*x2 p(eval_speedSingleSingle_start) = x1 p(eval_speedSingleSingle_stop) = x1 + -1*x2 Following rules are strictly oriented: [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] ==> eval_speedSingleSingle_6(v_n,v_x_0) = v_n + -1*v_x_0 > -1 + v_n + -1*v_x_0 = eval_speedSingleSingle_bb1_in(v_n,1 + v_x_0) Following rules are weakly oriented: True ==> eval_speedSingleSingle_start(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_bb0_in(v_n,v_x_0) True ==> eval_speedSingleSingle_bb0_in(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_0(v_n,v_x_0) True ==> eval_speedSingleSingle_0(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_1(v_n,v_x_0) True ==> eval_speedSingleSingle_1(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_2(v_n,v_x_0) True ==> eval_speedSingleSingle_2(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_3(v_n,v_x_0) True ==> eval_speedSingleSingle_3(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_4(v_n,v_x_0) True ==> eval_speedSingleSingle_4(v_n,v_x_0) = v_n >= v_n = eval_speedSingleSingle_bb1_in(v_n,0) [v_x_0 >= 0 && -1 + v_n >= v_x_0] ==> eval_speedSingleSingle_bb1_in(v_n,v_x_0) = v_n + -1*v_x_0 >= v_n + -1*v_x_0 = eval_speedSingleSingle_bb2_in(v_n,v_x_0) [v_x_0 >= 0 && v_x_0 >= v_n] ==> eval_speedSingleSingle_bb1_in(v_n,v_x_0) = v_n + -1*v_x_0 >= v_n + -1*v_x_0 = eval_speedSingleSingle_bb3_in(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] ==> eval_speedSingleSingle_bb2_in(v_n,v_x_0) = v_n + -1*v_x_0 >= v_n + -1*v_x_0 = eval_speedSingleSingle_5(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] ==> eval_speedSingleSingle_5(v_n,v_x_0) = v_n + -1*v_x_0 >= v_n + -1*v_x_0 = eval_speedSingleSingle_6(v_n,v_x_0) [v_x_0 >= 0 && -1*v_n + v_x_0 >= 0] ==> eval_speedSingleSingle_bb3_in(v_n,v_x_0) = v_n + -1*v_x_0 >= v_n + -1*v_x_0 = eval_speedSingleSingle_stop(v_n,v_x_0) * Step 3: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_speedSingleSingle_start(v_n,v_x_0) -> eval_speedSingleSingle_bb0_in(v_n,v_x_0) True (1,1) 1. eval_speedSingleSingle_bb0_in(v_n,v_x_0) -> eval_speedSingleSingle_0(v_n,v_x_0) True (1,1) 2. eval_speedSingleSingle_0(v_n,v_x_0) -> eval_speedSingleSingle_1(v_n,v_x_0) True (1,1) 3. eval_speedSingleSingle_1(v_n,v_x_0) -> eval_speedSingleSingle_2(v_n,v_x_0) True (1,1) 4. eval_speedSingleSingle_2(v_n,v_x_0) -> eval_speedSingleSingle_3(v_n,v_x_0) True (1,1) 5. eval_speedSingleSingle_3(v_n,v_x_0) -> eval_speedSingleSingle_4(v_n,v_x_0) True (1,1) 6. eval_speedSingleSingle_4(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,0) True (1,1) 7. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb2_in(v_n,v_x_0) [v_x_0 >= 0 && -1 + v_n >= v_x_0] (?,1) 8. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb3_in(v_n,v_x_0) [v_x_0 >= 0 && v_x_0 >= v_n] (1,1) 9. eval_speedSingleSingle_bb2_in(v_n,v_x_0) -> eval_speedSingleSingle_5(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 10. eval_speedSingleSingle_5(v_n,v_x_0) -> eval_speedSingleSingle_6(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (?,1) 11. eval_speedSingleSingle_6(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,1 + v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (v_n,1) 12. eval_speedSingleSingle_bb3_in(v_n,v_x_0) -> eval_speedSingleSingle_stop(v_n,v_x_0) [v_x_0 >= 0 && -1*v_n + v_x_0 >= 0] (1,1) Signature: {(eval_speedSingleSingle_0,2) ;(eval_speedSingleSingle_1,2) ;(eval_speedSingleSingle_2,2) ;(eval_speedSingleSingle_3,2) ;(eval_speedSingleSingle_4,2) ;(eval_speedSingleSingle_5,2) ;(eval_speedSingleSingle_6,2) ;(eval_speedSingleSingle_bb0_in,2) ;(eval_speedSingleSingle_bb1_in,2) ;(eval_speedSingleSingle_bb2_in,2) ;(eval_speedSingleSingle_bb3_in,2) ;(eval_speedSingleSingle_start,2) ;(eval_speedSingleSingle_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{12},9->{10},10->{11},11->{7,8},12->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 4: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. eval_speedSingleSingle_start(v_n,v_x_0) -> eval_speedSingleSingle_bb0_in(v_n,v_x_0) True (1,1) 1. eval_speedSingleSingle_bb0_in(v_n,v_x_0) -> eval_speedSingleSingle_0(v_n,v_x_0) True (1,1) 2. eval_speedSingleSingle_0(v_n,v_x_0) -> eval_speedSingleSingle_1(v_n,v_x_0) True (1,1) 3. eval_speedSingleSingle_1(v_n,v_x_0) -> eval_speedSingleSingle_2(v_n,v_x_0) True (1,1) 4. eval_speedSingleSingle_2(v_n,v_x_0) -> eval_speedSingleSingle_3(v_n,v_x_0) True (1,1) 5. eval_speedSingleSingle_3(v_n,v_x_0) -> eval_speedSingleSingle_4(v_n,v_x_0) True (1,1) 6. eval_speedSingleSingle_4(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,0) True (1,1) 7. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb2_in(v_n,v_x_0) [v_x_0 >= 0 && -1 + v_n >= v_x_0] (1 + v_n,1) 8. eval_speedSingleSingle_bb1_in(v_n,v_x_0) -> eval_speedSingleSingle_bb3_in(v_n,v_x_0) [v_x_0 >= 0 && v_x_0 >= v_n] (1,1) 9. eval_speedSingleSingle_bb2_in(v_n,v_x_0) -> eval_speedSingleSingle_5(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (1 + v_n,1) 10. eval_speedSingleSingle_5(v_n,v_x_0) -> eval_speedSingleSingle_6(v_n,v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (1 + v_n,1) 11. eval_speedSingleSingle_6(v_n,v_x_0) -> eval_speedSingleSingle_bb1_in(v_n,1 + v_x_0) [-1 + v_n + -1*v_x_0 >= 0 && v_x_0 >= 0 && -1 + v_n + v_x_0 >= 0 && -1 + v_n >= 0] (v_n,1) 12. eval_speedSingleSingle_bb3_in(v_n,v_x_0) -> eval_speedSingleSingle_stop(v_n,v_x_0) [v_x_0 >= 0 && -1*v_n + v_x_0 >= 0] (1,1) Signature: {(eval_speedSingleSingle_0,2) ;(eval_speedSingleSingle_1,2) ;(eval_speedSingleSingle_2,2) ;(eval_speedSingleSingle_3,2) ;(eval_speedSingleSingle_4,2) ;(eval_speedSingleSingle_5,2) ;(eval_speedSingleSingle_6,2) ;(eval_speedSingleSingle_bb0_in,2) ;(eval_speedSingleSingle_bb1_in,2) ;(eval_speedSingleSingle_bb2_in,2) ;(eval_speedSingleSingle_bb3_in,2) ;(eval_speedSingleSingle_start,2) ;(eval_speedSingleSingle_stop,2)} Flow Graph: [0->{1},1->{2},2->{3},3->{4},4->{5},5->{6},6->{7,8},7->{9},8->{12},9->{10},10->{11},11->{7,8},12->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(n^1))