YES(?,POLY) * Step 1: UnsatPaths WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalaxstart(A,B,C) -> evalaxentryin(A,B,C) True (1,1) 1. evalaxentryin(A,B,C) -> evalaxbbin(0,B,C) True (?,1) 2. evalaxbbin(A,B,C) -> evalaxbb2in(A,0,C) True (?,1) 3. evalaxbb2in(A,B,C) -> evalaxbb1in(A,B,C) [C >= 2 + B] (?,1) 4. evalaxbb2in(A,B,C) -> evalaxbb3in(A,B,C) [1 + B >= C] (?,1) 5. evalaxbb1in(A,B,C) -> evalaxbb2in(A,1 + B,C) True (?,1) 6. evalaxbb3in(A,B,C) -> evalaxbbin(1 + A,B,C) [1 + B >= C && C >= 3 + A] (?,1) 7. evalaxbb3in(A,B,C) -> evalaxreturnin(A,B,C) [C >= 2 + B] (?,1) 8. evalaxbb3in(A,B,C) -> evalaxreturnin(A,B,C) [2 + A >= C] (?,1) 9. evalaxreturnin(A,B,C) -> evalaxstop(A,B,C) True (?,1) Signature: {(evalaxbb1in,3) ;(evalaxbb2in,3) ;(evalaxbb3in,3) ;(evalaxbbin,3) ;(evalaxentryin,3) ;(evalaxreturnin,3) ;(evalaxstart,3) ;(evalaxstop,3)} Flow Graph: [0->{1},1->{2},2->{3,4},3->{5},4->{6,7,8},5->{3,4},6->{2},7->{9},8->{9},9->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(4,7)] * Step 2: FromIts WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalaxstart(A,B,C) -> evalaxentryin(A,B,C) True (1,1) 1. evalaxentryin(A,B,C) -> evalaxbbin(0,B,C) True (?,1) 2. evalaxbbin(A,B,C) -> evalaxbb2in(A,0,C) True (?,1) 3. evalaxbb2in(A,B,C) -> evalaxbb1in(A,B,C) [C >= 2 + B] (?,1) 4. evalaxbb2in(A,B,C) -> evalaxbb3in(A,B,C) [1 + B >= C] (?,1) 5. evalaxbb1in(A,B,C) -> evalaxbb2in(A,1 + B,C) True (?,1) 6. evalaxbb3in(A,B,C) -> evalaxbbin(1 + A,B,C) [1 + B >= C && C >= 3 + A] (?,1) 7. evalaxbb3in(A,B,C) -> evalaxreturnin(A,B,C) [C >= 2 + B] (?,1) 8. evalaxbb3in(A,B,C) -> evalaxreturnin(A,B,C) [2 + A >= C] (?,1) 9. evalaxreturnin(A,B,C) -> evalaxstop(A,B,C) True (?,1) Signature: {(evalaxbb1in,3) ;(evalaxbb2in,3) ;(evalaxbb3in,3) ;(evalaxbbin,3) ;(evalaxentryin,3) ;(evalaxreturnin,3) ;(evalaxstart,3) ;(evalaxstop,3)} Flow Graph: [0->{1},1->{2},2->{3,4},3->{5},4->{6,8},5->{3,4},6->{2},7->{9},8->{9},9->{}] + Applied Processor: FromIts + Details: () * Step 3: Unfold WORST_CASE(?,POLY) + Considered Problem: Rules: evalaxstart(A,B,C) -> evalaxentryin(A,B,C) True evalaxentryin(A,B,C) -> evalaxbbin(0,B,C) True evalaxbbin(A,B,C) -> evalaxbb2in(A,0,C) True evalaxbb2in(A,B,C) -> evalaxbb1in(A,B,C) [C >= 2 + B] evalaxbb2in(A,B,C) -> evalaxbb3in(A,B,C) [1 + B >= C] evalaxbb1in(A,B,C) -> evalaxbb2in(A,1 + B,C) True evalaxbb3in(A,B,C) -> evalaxbbin(1 + A,B,C) [1 + B >= C && C >= 3 + A] evalaxbb3in(A,B,C) -> evalaxreturnin(A,B,C) [C >= 2 + B] evalaxbb3in(A,B,C) -> evalaxreturnin(A,B,C) [2 + A >= C] evalaxreturnin(A,B,C) -> evalaxstop(A,B,C) True Signature: {(evalaxbb1in,3) ;(evalaxbb2in,3) ;(evalaxbb3in,3) ;(evalaxbbin,3) ;(evalaxentryin,3) ;(evalaxreturnin,3) ;(evalaxstart,3) ;(evalaxstop,3)} Rule Graph: [0->{1},1->{2},2->{3,4},3->{5},4->{6,8},5->{3,4},6->{2},7->{9},8->{9},9->{}] + Applied Processor: Unfold + Details: () * Step 4: AddSinks WORST_CASE(?,POLY) + Considered Problem: Rules: evalaxstart.0(A,B,C) -> evalaxentryin.1(A,B,C) True evalaxentryin.1(A,B,C) -> evalaxbbin.2(0,B,C) True evalaxbbin.2(A,B,C) -> evalaxbb2in.3(A,0,C) True evalaxbbin.2(A,B,C) -> evalaxbb2in.4(A,0,C) True evalaxbb2in.3(A,B,C) -> evalaxbb1in.5(A,B,C) [C >= 2 + B] evalaxbb2in.4(A,B,C) -> evalaxbb3in.6(A,B,C) [1 + B >= C] evalaxbb2in.4(A,B,C) -> evalaxbb3in.8(A,B,C) [1 + B >= C] evalaxbb1in.5(A,B,C) -> evalaxbb2in.3(A,1 + B,C) True evalaxbb1in.5(A,B,C) -> evalaxbb2in.4(A,1 + B,C) True evalaxbb3in.6(A,B,C) -> evalaxbbin.2(1 + A,B,C) [1 + B >= C && C >= 3 + A] evalaxbb3in.7(A,B,C) -> evalaxreturnin.9(A,B,C) [C >= 2 + B] evalaxbb3in.8(A,B,C) -> evalaxreturnin.9(A,B,C) [2 + A >= C] evalaxreturnin.9(A,B,C) -> evalaxstop.10(A,B,C) True Signature: {(evalaxbb1in.5,3) ;(evalaxbb2in.3,3) ;(evalaxbb2in.4,3) ;(evalaxbb3in.6,3) ;(evalaxbb3in.7,3) ;(evalaxbb3in.8,3) ;(evalaxbbin.2,3) ;(evalaxentryin.1,3) ;(evalaxreturnin.9,3) ;(evalaxstart.0,3) ;(evalaxstop.10,3)} Rule Graph: [0->{1},1->{2,3},2->{4},3->{5,6},4->{7,8},5->{9},6->{11},7->{4},8->{5,6},9->{2,3},10->{12},11->{12} ,12->{}] + Applied Processor: AddSinks + Details: () * Step 5: Decompose WORST_CASE(?,POLY) + Considered Problem: Rules: evalaxstart.0(A,B,C) -> evalaxentryin.1(A,B,C) True evalaxentryin.1(A,B,C) -> evalaxbbin.2(0,B,C) True evalaxbbin.2(A,B,C) -> evalaxbb2in.3(A,0,C) True evalaxbbin.2(A,B,C) -> evalaxbb2in.4(A,0,C) True evalaxbb2in.3(A,B,C) -> evalaxbb1in.5(A,B,C) [C >= 2 + B] evalaxbb2in.4(A,B,C) -> evalaxbb3in.6(A,B,C) [1 + B >= C] evalaxbb2in.4(A,B,C) -> evalaxbb3in.8(A,B,C) [1 + B >= C] evalaxbb1in.5(A,B,C) -> evalaxbb2in.3(A,1 + B,C) True evalaxbb1in.5(A,B,C) -> evalaxbb2in.4(A,1 + B,C) True evalaxbb3in.6(A,B,C) -> evalaxbbin.2(1 + A,B,C) [1 + B >= C && C >= 3 + A] evalaxbb3in.7(A,B,C) -> evalaxreturnin.9(A,B,C) [C >= 2 + B] evalaxbb3in.8(A,B,C) -> evalaxreturnin.9(A,B,C) [2 + A >= C] evalaxreturnin.9(A,B,C) -> evalaxstop.10(A,B,C) True evalaxstop.10(A,B,C) -> exitus616(A,B,C) True evalaxstop.10(A,B,C) -> exitus616(A,B,C) True Signature: {(evalaxbb1in.5,3) ;(evalaxbb2in.3,3) ;(evalaxbb2in.4,3) ;(evalaxbb3in.6,3) ;(evalaxbb3in.7,3) ;(evalaxbb3in.8,3) ;(evalaxbbin.2,3) ;(evalaxentryin.1,3) ;(evalaxreturnin.9,3) ;(evalaxstart.0,3) ;(evalaxstop.10,3) ;(exitus616,3)} Rule Graph: [0->{1},1->{2,3},2->{4},3->{5,6},4->{7,8},5->{9},6->{11},7->{4},8->{5,6},9->{2,3},10->{12},11->{12} ,12->{13,14}] + Applied Processor: Decompose Greedy + Details: We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] | `- p:[2,9,5,3,8,4,7] c: [2,3,5,8,9] | `- p:[4,7] c: [4,7] * Step 6: AbstractSize WORST_CASE(?,POLY) + Considered Problem: (Rules: evalaxstart.0(A,B,C) -> evalaxentryin.1(A,B,C) True evalaxentryin.1(A,B,C) -> evalaxbbin.2(0,B,C) True evalaxbbin.2(A,B,C) -> evalaxbb2in.3(A,0,C) True evalaxbbin.2(A,B,C) -> evalaxbb2in.4(A,0,C) True evalaxbb2in.3(A,B,C) -> evalaxbb1in.5(A,B,C) [C >= 2 + B] evalaxbb2in.4(A,B,C) -> evalaxbb3in.6(A,B,C) [1 + B >= C] evalaxbb2in.4(A,B,C) -> evalaxbb3in.8(A,B,C) [1 + B >= C] evalaxbb1in.5(A,B,C) -> evalaxbb2in.3(A,1 + B,C) True evalaxbb1in.5(A,B,C) -> evalaxbb2in.4(A,1 + B,C) True evalaxbb3in.6(A,B,C) -> evalaxbbin.2(1 + A,B,C) [1 + B >= C && C >= 3 + A] evalaxbb3in.7(A,B,C) -> evalaxreturnin.9(A,B,C) [C >= 2 + B] evalaxbb3in.8(A,B,C) -> evalaxreturnin.9(A,B,C) [2 + A >= C] evalaxreturnin.9(A,B,C) -> evalaxstop.10(A,B,C) True evalaxstop.10(A,B,C) -> exitus616(A,B,C) True evalaxstop.10(A,B,C) -> exitus616(A,B,C) True Signature: {(evalaxbb1in.5,3) ;(evalaxbb2in.3,3) ;(evalaxbb2in.4,3) ;(evalaxbb3in.6,3) ;(evalaxbb3in.7,3) ;(evalaxbb3in.8,3) ;(evalaxbbin.2,3) ;(evalaxentryin.1,3) ;(evalaxreturnin.9,3) ;(evalaxstart.0,3) ;(evalaxstop.10,3) ;(exitus616,3)} Rule Graph: [0->{1},1->{2,3},2->{4},3->{5,6},4->{7,8},5->{9},6->{11},7->{4},8->{5,6},9->{2,3},10->{12},11->{12} ,12->{13,14}] ,We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] | `- p:[2,9,5,3,8,4,7] c: [2,3,5,8,9] | `- p:[4,7] c: [4,7]) + Applied Processor: AbstractSize Minimize + Details: () * Step 7: AbstractFlow WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [A,B,C,0.0,0.0.0] evalaxstart.0 ~> evalaxentryin.1 [A <= A, B <= B, C <= C] evalaxentryin.1 ~> evalaxbbin.2 [A <= 0*K, B <= B, C <= C] evalaxbbin.2 ~> evalaxbb2in.3 [A <= A, B <= 0*K, C <= C] evalaxbbin.2 ~> evalaxbb2in.4 [A <= A, B <= 0*K, C <= C] evalaxbb2in.3 ~> evalaxbb1in.5 [A <= A, B <= B, C <= C] evalaxbb2in.4 ~> evalaxbb3in.6 [A <= A, B <= B, C <= C] evalaxbb2in.4 ~> evalaxbb3in.8 [A <= A, B <= B, C <= C] evalaxbb1in.5 ~> evalaxbb2in.3 [A <= A, B <= K + B, C <= C] evalaxbb1in.5 ~> evalaxbb2in.4 [A <= A, B <= K + B, C <= C] evalaxbb3in.6 ~> evalaxbbin.2 [A <= A + C, B <= B, C <= C] evalaxbb3in.7 ~> evalaxreturnin.9 [A <= A, B <= B, C <= C] evalaxbb3in.8 ~> evalaxreturnin.9 [A <= A, B <= B, C <= C] evalaxreturnin.9 ~> evalaxstop.10 [A <= A, B <= B, C <= C] evalaxstop.10 ~> exitus616 [A <= A, B <= B, C <= C] evalaxstop.10 ~> exitus616 [A <= A, B <= B, C <= C] + Loop: [0.0 <= 3*K + A + C] evalaxbbin.2 ~> evalaxbb2in.3 [A <= A, B <= 0*K, C <= C] evalaxbb3in.6 ~> evalaxbbin.2 [A <= A + C, B <= B, C <= C] evalaxbb2in.4 ~> evalaxbb3in.6 [A <= A, B <= B, C <= C] evalaxbbin.2 ~> evalaxbb2in.4 [A <= A, B <= 0*K, C <= C] evalaxbb1in.5 ~> evalaxbb2in.4 [A <= A, B <= K + B, C <= C] evalaxbb2in.3 ~> evalaxbb1in.5 [A <= A, B <= B, C <= C] evalaxbb1in.5 ~> evalaxbb2in.3 [A <= A, B <= K + B, C <= C] + Loop: [0.0.0 <= K + B + C] evalaxbb2in.3 ~> evalaxbb1in.5 [A <= A, B <= B, C <= C] evalaxbb1in.5 ~> evalaxbb2in.3 [A <= A, B <= K + B, C <= C] + Applied Processor: AbstractFlow + Details: () * Step 8: Lare WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [tick,huge,K,A,B,C,0.0,0.0.0] evalaxstart.0 ~> evalaxentryin.1 [] evalaxentryin.1 ~> evalaxbbin.2 [K ~=> A] evalaxbbin.2 ~> evalaxbb2in.3 [K ~=> B] evalaxbbin.2 ~> evalaxbb2in.4 [K ~=> B] evalaxbb2in.3 ~> evalaxbb1in.5 [] evalaxbb2in.4 ~> evalaxbb3in.6 [] evalaxbb2in.4 ~> evalaxbb3in.8 [] evalaxbb1in.5 ~> evalaxbb2in.3 [B ~+> B,K ~+> B] evalaxbb1in.5 ~> evalaxbb2in.4 [B ~+> B,K ~+> B] evalaxbb3in.6 ~> evalaxbbin.2 [A ~+> A,C ~+> A] evalaxbb3in.7 ~> evalaxreturnin.9 [] evalaxbb3in.8 ~> evalaxreturnin.9 [] evalaxreturnin.9 ~> evalaxstop.10 [] evalaxstop.10 ~> exitus616 [] evalaxstop.10 ~> exitus616 [] + Loop: [A ~+> 0.0,C ~+> 0.0,K ~*> 0.0] evalaxbbin.2 ~> evalaxbb2in.3 [K ~=> B] evalaxbb3in.6 ~> evalaxbbin.2 [A ~+> A,C ~+> A] evalaxbb2in.4 ~> evalaxbb3in.6 [] evalaxbbin.2 ~> evalaxbb2in.4 [K ~=> B] evalaxbb1in.5 ~> evalaxbb2in.4 [B ~+> B,K ~+> B] evalaxbb2in.3 ~> evalaxbb1in.5 [] evalaxbb1in.5 ~> evalaxbb2in.3 [B ~+> B,K ~+> B] + Loop: [B ~+> 0.0.0,C ~+> 0.0.0,K ~+> 0.0.0] evalaxbb2in.3 ~> evalaxbb1in.5 [] evalaxbb1in.5 ~> evalaxbb2in.3 [B ~+> B,K ~+> B] + Applied Processor: Lare + Details: evalaxstart.0 ~> exitus616 [K ~=> A ,K ~=> B ,C ~+> A ,C ~+> 0.0 ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> B ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,C ~*> A ,C ~*> B ,C ~*> tick ,K ~*> A ,K ~*> B ,K ~*> 0.0 ,K ~*> 0.0.0 ,K ~*> tick] evalaxbb3in.7 ~> exitus616 [] + evalaxbb2in.4> [K ~=> B ,A ~+> A ,A ~+> 0.0 ,A ~+> tick ,C ~+> A ,C ~+> 0.0 ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> B ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> tick ,C ~*> A ,C ~*> B ,C ~*> tick ,K ~*> A ,K ~*> B ,K ~*> 0.0 ,K ~*> 0.0.0 ,K ~*> tick] + evalaxbb1in.5> [B ~+> B ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> B ,K ~+> 0.0.0 ,K ~+> tick ,B ~*> B ,C ~*> B ,K ~*> B] YES(?,POLY)