YES(?,O(n^1)) * Step 1: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (?,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (?,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (?,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (?,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (?,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6},11->{2 ,3},12->{2,3},13->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(11,3)] * Step 2: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (?,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (?,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (?,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (?,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (?,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + 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. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (1,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (?,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (1,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (?,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (1,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(evalfbb1in) = 2*x2 + -1*x4 p(evalfbb2in) = 2*x2 + -1*x4 p(evalfbb3in) = 2*x2 + -1*x4 p(evalfbb4in) = 2*x2 + -1*x4 p(evalfbb6in) = -1 + -1*x1 + 2*x2 p(evalfbbin) = -1 + -1*x1 + 2*x2 p(evalfentryin) = 2*x2 p(evalfreturnin) = -1 + -1*x1 + 2*x2 p(evalfstart) = 2*x2 p(evalfstop) = -1 + -1*x1 + 2*x2 Following rules are strictly oriented: [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] evalfbb4in(A,B,C,D) = 2*B + -1*D > -1 + 2*B + -1*D = evalfbb6in(D,B,C,D) Following rules are weakly oriented: True ==> evalfstart(A,B,C,D) = 2*B >= 2*B = evalfentryin(A,B,C,D) True ==> evalfentryin(A,B,C,D) = 2*B >= -1 + 2*B = evalfbb6in(0,B,C,D) [A >= 0 && B >= 1 + A] ==> evalfbb6in(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfbbin(A,B,C,D) [A >= 0 && A >= B] ==> evalfbb6in(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfreturnin(A,B,C,D) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] ==> evalfbbin(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfbb2in(A,B,0,1 + A) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] evalfbb2in(A,B,C,D) = 2*B + -1*D >= 2*B + -1*D = evalfbb4in(A,B,C,D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] evalfbb2in(A,B,C,D) = 2*B + -1*D >= 2*B + -1*D = evalfbb3in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] evalfbb3in(A,B,C,D) = 2*B + -1*D >= 2*B + -1*D = evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] evalfbb3in(A,B,C,D) = 2*B + -1*D >= 2*B + -1*D = evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] evalfbb3in(A,B,C,D) = 2*B + -1*D >= 2*B + -1*D = evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] evalfbb1in(A,B,C,D) = 2*B + -1*D >= -1 + 2*B + -1*D = evalfbb2in(A,B,1 + C,1 + D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] evalfbb4in(A,B,C,D) = 2*B + -1*D >= 2*B + -1*D = evalfbb6in(-1 + D,B,C,D) [A + -1*B >= 0 && A >= 0] ==> evalfreturnin(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfstop(A,B,C,D) * Step 4: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (1,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (?,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (1,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (?,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (1,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(evalfbb1in) = 2*x2 + x3 + -1*x4 p(evalfbb2in) = 2*x2 + x3 + -1*x4 p(evalfbb3in) = 2*x2 + x3 + -1*x4 p(evalfbb4in) = 2*x2 + x3 + -1*x4 p(evalfbb6in) = -1 + -1*x1 + 2*x2 p(evalfbbin) = -1 + -1*x1 + 2*x2 p(evalfentryin) = 2*x2 p(evalfreturnin) = -1 + -1*x1 + 2*x2 p(evalfstart) = 2*x2 p(evalfstop) = -1 + -1*x1 + 2*x2 Following rules are strictly oriented: [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] evalfbb4in(A,B,C,D) = 2*B + C + -1*D > 2*B + -1*D = evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] evalfbb4in(A,B,C,D) = 2*B + C + -1*D > -1 + 2*B + -1*D = evalfbb6in(D,B,C,D) Following rules are weakly oriented: True ==> evalfstart(A,B,C,D) = 2*B >= 2*B = evalfentryin(A,B,C,D) True ==> evalfentryin(A,B,C,D) = 2*B >= -1 + 2*B = evalfbb6in(0,B,C,D) [A >= 0 && B >= 1 + A] ==> evalfbb6in(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfbbin(A,B,C,D) [A >= 0 && A >= B] ==> evalfbb6in(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfreturnin(A,B,C,D) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] ==> evalfbbin(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfbb2in(A,B,0,1 + A) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] evalfbb2in(A,B,C,D) = 2*B + C + -1*D >= 2*B + C + -1*D = evalfbb4in(A,B,C,D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] evalfbb2in(A,B,C,D) = 2*B + C + -1*D >= 2*B + C + -1*D = evalfbb3in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] evalfbb3in(A,B,C,D) = 2*B + C + -1*D >= 2*B + C + -1*D = evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] evalfbb3in(A,B,C,D) = 2*B + C + -1*D >= 2*B + C + -1*D = evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] evalfbb3in(A,B,C,D) = 2*B + C + -1*D >= 2*B + C + -1*D = evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] evalfbb1in(A,B,C,D) = 2*B + C + -1*D >= 2*B + C + -1*D = evalfbb2in(A,B,1 + C,1 + D) [A + -1*B >= 0 && A >= 0] ==> evalfreturnin(A,B,C,D) = -1 + -1*A + 2*B >= -1 + -1*A + 2*B = evalfstop(A,B,C,D) * Step 5: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (1,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (?,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (1,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (?,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (1,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 6: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (1,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (1 + 4*B,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (1,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (1 + 4*B,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (1,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: We apply a polynomial interpretation of shape linear: p(evalfbb1in) = 3*x2 + x3 + -2*x4 p(evalfbb2in) = 3*x2 + x3 + -2*x4 p(evalfbb3in) = 3*x2 + x3 + -2*x4 p(evalfbb4in) = 3*x2 + x3 + -2*x4 p(evalfbb6in) = -1 + -2*x1 + 3*x2 p(evalfbbin) = -1 + -2*x1 + 3*x2 p(evalfentryin) = 3*x2 p(evalfreturnin) = -1 + -2*x1 + 3*x2 p(evalfstart) = 3*x2 p(evalfstop) = -1 + -2*x1 + 3*x2 Following rules are strictly oriented: [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] ==> evalfbbin(A,B,C,D) = -1 + -2*A + 3*B > -2 + -2*A + 3*B = evalfbb2in(A,B,0,1 + A) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] evalfbb1in(A,B,C,D) = 3*B + C + -2*D > -1 + 3*B + C + -2*D = evalfbb2in(A,B,1 + C,1 + D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] evalfbb4in(A,B,C,D) = 3*B + C + -2*D > -1 + 3*B + -2*D = evalfbb6in(D,B,C,D) Following rules are weakly oriented: True ==> evalfstart(A,B,C,D) = 3*B >= 3*B = evalfentryin(A,B,C,D) True ==> evalfentryin(A,B,C,D) = 3*B >= -1 + 3*B = evalfbb6in(0,B,C,D) [A >= 0 && B >= 1 + A] ==> evalfbb6in(A,B,C,D) = -1 + -2*A + 3*B >= -1 + -2*A + 3*B = evalfbbin(A,B,C,D) [A >= 0 && A >= B] ==> evalfbb6in(A,B,C,D) = -1 + -2*A + 3*B >= -1 + -2*A + 3*B = evalfreturnin(A,B,C,D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] evalfbb2in(A,B,C,D) = 3*B + C + -2*D >= 3*B + C + -2*D = evalfbb4in(A,B,C,D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] evalfbb2in(A,B,C,D) = 3*B + C + -2*D >= 3*B + C + -2*D = evalfbb3in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] evalfbb3in(A,B,C,D) = 3*B + C + -2*D >= 3*B + C + -2*D = evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] evalfbb3in(A,B,C,D) = 3*B + C + -2*D >= 3*B + C + -2*D = evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] evalfbb3in(A,B,C,D) = 3*B + C + -2*D >= 3*B + C + -2*D = evalfbb4in(A,B,C,D) [B + -1*D >= 0 ==> && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] evalfbb4in(A,B,C,D) = 3*B + C + -2*D >= 1 + 3*B + -2*D = evalfbb6in(-1 + D,B,C,D) [A + -1*B >= 0 && A >= 0] ==> evalfreturnin(A,B,C,D) = -1 + -2*A + 3*B >= -1 + -2*A + 3*B = evalfstop(A,B,C,D) * Step 7: KnowledgePropagation WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (1,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (1 + 4*B,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (1,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (1 + 4*B,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (3*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (1,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + Applied Processor: KnowledgePropagation + Details: We propagate bounds from predecessors. * Step 8: PolyRank WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B,C,D) -> evalfentryin(A,B,C,D) True (1,1) 1. evalfentryin(A,B,C,D) -> evalfbb6in(0,B,C,D) True (1,1) 2. evalfbb6in(A,B,C,D) -> evalfbbin(A,B,C,D) [A >= 0 && B >= 1 + A] (1 + 4*B,1) 3. evalfbb6in(A,B,C,D) -> evalfreturnin(A,B,C,D) [A >= 0 && A >= B] (1,1) 4. evalfbbin(A,B,C,D) -> evalfbb2in(A,B,0,1 + A) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (1 + 4*B,1) 5. evalfbb2in(A,B,C,D) -> evalfbb4in(A,B,C,D) [B + -1*D >= 0 (1 + 7*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && D >= B] 6. evalfbb2in(A,B,C,D) -> evalfbb3in(A,B,C,D) [B + -1*D >= 0 (1 + 7*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && B >= 1 + D] 7. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (1 + 7*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && 0 >= 1 + E] 8. evalfbb3in(A,B,C,D) -> evalfbb1in(A,B,C,D) [-1 + B + -1*D >= 0 (1 + 7*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0 && E >= 1] 9. evalfbb3in(A,B,C,D) -> evalfbb4in(A,B,C,D) [-1 + B + -1*D >= 0 (1 + 7*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 10. evalfbb1in(A,B,C,D) -> evalfbb2in(A,B,1 + C,1 + D) [-1 + B + -1*D >= 0 (3*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -3 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -2 + B + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && A + C >= 0 && -2 + B >= 0 && -2 + A + B >= 0 && -2 + -1*A + B >= 0 && A >= 0] 11. evalfbb4in(A,B,C,D) -> evalfbb6in(-1 + D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && C >= 1] 12. evalfbb4in(A,B,C,D) -> evalfbb6in(D,B,C,D) [B + -1*D >= 0 (2*B,1) && -1 + D >= 0 && -1 + C + D >= 0 && -1 + -1*C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + -1*A + D >= 0 && -1 + B + -1*C >= 0 && C >= 0 && -1 + B + C >= 0 && A + C >= 0 && -1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0 && 0 >= C] 13. evalfreturnin(A,B,C,D) -> evalfstop(A,B,C,D) [A + -1*B >= 0 && A >= 0] (1,1) Signature: {(evalfbb1in,4) ;(evalfbb2in,4) ;(evalfbb3in,4) ;(evalfbb4in,4) ;(evalfbb6in,4) ;(evalfbbin,4) ;(evalfentryin,4) ;(evalfreturnin,4) ;(evalfstart,4) ;(evalfstop,4)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{13},4->{5,6},5->{11,12},6->{7,8,9},7->{10},8->{10},9->{11,12},10->{5,6} ,11->{2},12->{2,3},13->{}] + Applied Processor: PolyRank {useFarkas = True, withSizebounds = [], shape = Linear} + Details: The problem is already solved. YES(?,O(n^1))