YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi4start(A,B) -> evalspeedpldi4entryin(A,B) True (1,1) 1. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [0 >= A] (?,1) 2. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [A >= B] (?,1) 3. evalspeedpldi4entryin(A,B) -> evalspeedpldi4bb5in(A,B) [A >= 1 && B >= 1 + A] (?,1) 4. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && B >= 1] (?,1) 5. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4returnin(A,B) [-1 + A >= 0 && 0 >= B] (?,1) 6. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] (?,1) 7. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb4in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi4bb3in(A,B) -> evalspeedpldi4bb5in(A,-1 + B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] (?,1) 9. evalspeedpldi4bb4in(A,B) -> evalspeedpldi4bb5in(A,-1*A + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] (?,1) 10. evalspeedpldi4returnin(A,B) -> evalspeedpldi4stop(A,B) True (?,1) Signature: {(evalspeedpldi4bb2in,2) ;(evalspeedpldi4bb3in,2) ;(evalspeedpldi4bb4in,2) ;(evalspeedpldi4bb5in,2) ;(evalspeedpldi4entryin,2) ;(evalspeedpldi4returnin,2) ;(evalspeedpldi4start,2) ;(evalspeedpldi4stop,2)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4,5},4->{6,7},5->{10},6->{8},7->{9},8->{4,5},9->{4,5},10->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi4start(A,B) -> evalspeedpldi4entryin(A,B) True (1,1) 1. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [0 >= A] (1,1) 2. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [A >= B] (1,1) 3. evalspeedpldi4entryin(A,B) -> evalspeedpldi4bb5in(A,B) [A >= 1 && B >= 1 + A] (1,1) 4. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && B >= 1] (?,1) 5. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4returnin(A,B) [-1 + A >= 0 && 0 >= B] (1,1) 6. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] (?,1) 7. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb4in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi4bb3in(A,B) -> evalspeedpldi4bb5in(A,-1 + B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] (?,1) 9. evalspeedpldi4bb4in(A,B) -> evalspeedpldi4bb5in(A,-1*A + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] (?,1) 10. evalspeedpldi4returnin(A,B) -> evalspeedpldi4stop(A,B) True (1,1) Signature: {(evalspeedpldi4bb2in,2) ;(evalspeedpldi4bb3in,2) ;(evalspeedpldi4bb4in,2) ;(evalspeedpldi4bb5in,2) ;(evalspeedpldi4entryin,2) ;(evalspeedpldi4returnin,2) ;(evalspeedpldi4start,2) ;(evalspeedpldi4stop,2)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4,5},4->{6,7},5->{10},6->{8},7->{9},8->{4,5},9->{4,5},10->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(3,5)] * Step 3: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi4start(A,B) -> evalspeedpldi4entryin(A,B) True (1,1) 1. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [0 >= A] (1,1) 2. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [A >= B] (1,1) 3. evalspeedpldi4entryin(A,B) -> evalspeedpldi4bb5in(A,B) [A >= 1 && B >= 1 + A] (1,1) 4. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && B >= 1] (?,1) 5. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4returnin(A,B) [-1 + A >= 0 && 0 >= B] (1,1) 6. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] (?,1) 7. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb4in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi4bb3in(A,B) -> evalspeedpldi4bb5in(A,-1 + B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] (?,1) 9. evalspeedpldi4bb4in(A,B) -> evalspeedpldi4bb5in(A,-1*A + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] (?,1) 10. evalspeedpldi4returnin(A,B) -> evalspeedpldi4stop(A,B) True (1,1) Signature: {(evalspeedpldi4bb2in,2) ;(evalspeedpldi4bb3in,2) ;(evalspeedpldi4bb4in,2) ;(evalspeedpldi4bb5in,2) ;(evalspeedpldi4entryin,2) ;(evalspeedpldi4returnin,2) ;(evalspeedpldi4start,2) ;(evalspeedpldi4stop,2)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4,5},9->{4,5},10->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(evalspeedpldi4bb2in) = x2 p(evalspeedpldi4bb3in) = -1 + x2 p(evalspeedpldi4bb4in) = 1 + -1*x1 + x2 p(evalspeedpldi4bb5in) = x2 p(evalspeedpldi4entryin) = x2 p(evalspeedpldi4returnin) = x2 p(evalspeedpldi4start) = x2 p(evalspeedpldi4stop) = x2 Following rules are strictly oriented: [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] ==> evalspeedpldi4bb4in(A,B) = 1 + -1*A + B > -1*A + B = evalspeedpldi4bb5in(A,-1*A + B) Following rules are weakly oriented: True ==> evalspeedpldi4start(A,B) = B >= B = evalspeedpldi4entryin(A,B) [0 >= A] ==> evalspeedpldi4entryin(A,B) = B >= B = evalspeedpldi4returnin(A,B) [A >= B] ==> evalspeedpldi4entryin(A,B) = B >= B = evalspeedpldi4returnin(A,B) [A >= 1 && B >= 1 + A] ==> evalspeedpldi4entryin(A,B) = B >= B = evalspeedpldi4bb5in(A,B) [-1 + A >= 0 && B >= 1] ==> evalspeedpldi4bb5in(A,B) = B >= B = evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && 0 >= B] ==> evalspeedpldi4bb5in(A,B) = B >= B = evalspeedpldi4returnin(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] ==> evalspeedpldi4bb2in(A,B) = B >= -1 + B = evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] ==> evalspeedpldi4bb2in(A,B) = B >= 1 + -1*A + B = evalspeedpldi4bb4in(A,B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] ==> evalspeedpldi4bb3in(A,B) = -1 + B >= -1 + B = evalspeedpldi4bb5in(A,-1 + B) True ==> evalspeedpldi4returnin(A,B) = B >= B = evalspeedpldi4stop(A,B) * Step 4: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi4start(A,B) -> evalspeedpldi4entryin(A,B) True (1,1) 1. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [0 >= A] (1,1) 2. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [A >= B] (1,1) 3. evalspeedpldi4entryin(A,B) -> evalspeedpldi4bb5in(A,B) [A >= 1 && B >= 1 + A] (1,1) 4. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && B >= 1] (?,1) 5. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4returnin(A,B) [-1 + A >= 0 && 0 >= B] (1,1) 6. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] (?,1) 7. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb4in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi4bb3in(A,B) -> evalspeedpldi4bb5in(A,-1 + B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] (?,1) 9. evalspeedpldi4bb4in(A,B) -> evalspeedpldi4bb5in(A,-1*A + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] (B,1) 10. evalspeedpldi4returnin(A,B) -> evalspeedpldi4stop(A,B) True (1,1) Signature: {(evalspeedpldi4bb2in,2) ;(evalspeedpldi4bb3in,2) ;(evalspeedpldi4bb4in,2) ;(evalspeedpldi4bb5in,2) ;(evalspeedpldi4entryin,2) ;(evalspeedpldi4returnin,2) ;(evalspeedpldi4start,2) ;(evalspeedpldi4stop,2)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4,5},9->{4,5},10->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(evalspeedpldi4bb2in) = x2 p(evalspeedpldi4bb3in) = x2 p(evalspeedpldi4bb4in) = 1 + -1*x1 + x2 p(evalspeedpldi4bb5in) = x2 p(evalspeedpldi4entryin) = x2 p(evalspeedpldi4returnin) = x2 p(evalspeedpldi4start) = x2 p(evalspeedpldi4stop) = x2 Following rules are strictly oriented: [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] ==> evalspeedpldi4bb3in(A,B) = B > -1 + B = evalspeedpldi4bb5in(A,-1 + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] ==> evalspeedpldi4bb4in(A,B) = 1 + -1*A + B > -1*A + B = evalspeedpldi4bb5in(A,-1*A + B) Following rules are weakly oriented: True ==> evalspeedpldi4start(A,B) = B >= B = evalspeedpldi4entryin(A,B) [0 >= A] ==> evalspeedpldi4entryin(A,B) = B >= B = evalspeedpldi4returnin(A,B) [A >= B] ==> evalspeedpldi4entryin(A,B) = B >= B = evalspeedpldi4returnin(A,B) [A >= 1 && B >= 1 + A] ==> evalspeedpldi4entryin(A,B) = B >= B = evalspeedpldi4bb5in(A,B) [-1 + A >= 0 && B >= 1] ==> evalspeedpldi4bb5in(A,B) = B >= B = evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && 0 >= B] ==> evalspeedpldi4bb5in(A,B) = B >= B = evalspeedpldi4returnin(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] ==> evalspeedpldi4bb2in(A,B) = B >= B = evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] ==> evalspeedpldi4bb2in(A,B) = B >= 1 + -1*A + B = evalspeedpldi4bb4in(A,B) True ==> evalspeedpldi4returnin(A,B) = B >= B = evalspeedpldi4stop(A,B) * Step 5: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi4start(A,B) -> evalspeedpldi4entryin(A,B) True (1,1) 1. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [0 >= A] (1,1) 2. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [A >= B] (1,1) 3. evalspeedpldi4entryin(A,B) -> evalspeedpldi4bb5in(A,B) [A >= 1 && B >= 1 + A] (1,1) 4. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && B >= 1] (?,1) 5. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4returnin(A,B) [-1 + A >= 0 && 0 >= B] (1,1) 6. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] (?,1) 7. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb4in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi4bb3in(A,B) -> evalspeedpldi4bb5in(A,-1 + B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] (B,1) 9. evalspeedpldi4bb4in(A,B) -> evalspeedpldi4bb5in(A,-1*A + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] (B,1) 10. evalspeedpldi4returnin(A,B) -> evalspeedpldi4stop(A,B) True (1,1) Signature: {(evalspeedpldi4bb2in,2) ;(evalspeedpldi4bb3in,2) ;(evalspeedpldi4bb4in,2) ;(evalspeedpldi4bb5in,2) ;(evalspeedpldi4entryin,2) ;(evalspeedpldi4returnin,2) ;(evalspeedpldi4start,2) ;(evalspeedpldi4stop,2)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4,5},9->{4,5},10->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 6: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi4start(A,B) -> evalspeedpldi4entryin(A,B) True (1,1) 1. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [0 >= A] (1,1) 2. evalspeedpldi4entryin(A,B) -> evalspeedpldi4returnin(A,B) [A >= B] (1,1) 3. evalspeedpldi4entryin(A,B) -> evalspeedpldi4bb5in(A,B) [A >= 1 && B >= 1 + A] (1,1) 4. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4bb2in(A,B) [-1 + A >= 0 && B >= 1] (1 + 2*B,1) 5. evalspeedpldi4bb5in(A,B) -> evalspeedpldi4returnin(A,B) [-1 + A >= 0 && 0 >= B] (1,1) 6. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb3in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] (1 + 2*B,1) 7. evalspeedpldi4bb2in(A,B) -> evalspeedpldi4bb4in(A,B) [-1 + B >= 0 && -2 + A + B >= 0 && -1 + A >= 0 && B >= A] (1 + 2*B,1) 8. evalspeedpldi4bb3in(A,B) -> evalspeedpldi4bb5in(A,-1 + B) [-1 + A + -1*B >= 0 && -1 + B >= 0 && -3 + A + B >= 0 && -2 + A >= 0] (B,1) 9. evalspeedpldi4bb4in(A,B) -> evalspeedpldi4bb5in(A,-1*A + B) [-1 + B >= 0 && -2 + A + B >= 0 && -1*A + B >= 0 && -1 + A >= 0] (B,1) 10. evalspeedpldi4returnin(A,B) -> evalspeedpldi4stop(A,B) True (1,1) Signature: {(evalspeedpldi4bb2in,2) ;(evalspeedpldi4bb3in,2) ;(evalspeedpldi4bb4in,2) ;(evalspeedpldi4bb5in,2) ;(evalspeedpldi4entryin,2) ;(evalspeedpldi4returnin,2) ;(evalspeedpldi4start,2) ;(evalspeedpldi4stop,2)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4,5},9->{4,5},10->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(n^1))