YES(?,POLY) * Step 1: ArgumentFilter WORST_CASE(?,POLY) + Considered Problem: Rules: 0. f300(A,B,C,D) -> f1(A,B,C,E) [0 >= B] (?,1) 1. f300(A,B,C,D) -> f1(A,B,C,E) [B >= 1 && 0 >= A] (?,1) 2. f300(A,B,C,D) -> f300(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] (?,1) 3. f300(A,B,C,D) -> f300(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] (?,1) 4. f300(A,B,C,D) -> f300(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] (?,1) 5. f2(A,B,C,D) -> f300(A,B,C,D) True (1,1) Signature: {(f1,4);(f2,4);(f300,4)} Flow Graph: [0->{},1->{},2->{0,1,2,3,4},3->{0,1,2,3,4},4->{0,1,2,3,4},5->{0,1,2,3,4}] + Applied Processor: ArgumentFilter [2,3] + Details: We remove following argument positions: [2,3]. * Step 2: UnsatPaths WORST_CASE(?,POLY) + Considered Problem: Rules: 0. f300(A,B) -> f1(A,B) [0 >= B] (?,1) 1. f300(A,B) -> f1(A,B) [B >= 1 && 0 >= A] (?,1) 2. f300(A,B) -> f300(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] (?,1) 3. f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] (?,1) 4. f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] (?,1) 5. f2(A,B) -> f300(A,B) True (1,1) Signature: {(f1,4);(f2,4);(f300,4)} Flow Graph: [0->{},1->{},2->{0,1,2,3,4},3->{0,1,2,3,4},4->{0,1,2,3,4},5->{0,1,2,3,4}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(2,1),(3,1),(4,1)] * Step 3: FromIts WORST_CASE(?,POLY) + Considered Problem: Rules: 0. f300(A,B) -> f1(A,B) [0 >= B] (?,1) 1. f300(A,B) -> f1(A,B) [B >= 1 && 0 >= A] (?,1) 2. f300(A,B) -> f300(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] (?,1) 3. f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] (?,1) 4. f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] (?,1) 5. f2(A,B) -> f300(A,B) True (1,1) Signature: {(f1,4);(f2,4);(f300,4)} Flow Graph: [0->{},1->{},2->{0,2,3,4},3->{0,2,3,4},4->{0,2,3,4},5->{0,1,2,3,4}] + Applied Processor: FromIts + Details: () * Step 4: AddSinks WORST_CASE(?,POLY) + Considered Problem: Rules: f300(A,B) -> f1(A,B) [0 >= B] f300(A,B) -> f1(A,B) [B >= 1 && 0 >= A] f300(A,B) -> f300(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2(A,B) -> f300(A,B) True Signature: {(f1,4);(f2,4);(f300,4)} Rule Graph: [0->{},1->{},2->{0,2,3,4},3->{0,2,3,4},4->{0,2,3,4},5->{0,1,2,3,4}] + Applied Processor: AddSinks + Details: () * Step 5: Unfold WORST_CASE(?,POLY) + Considered Problem: Rules: f300(A,B) -> f1(A,B) [0 >= B] f300(A,B) -> f1(A,B) [B >= 1 && 0 >= A] f300(A,B) -> f300(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300(A,B) -> f300(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2(A,B) -> f300(A,B) True f1(A,B) -> exitus616(A,B) True f1(A,B) -> exitus616(A,B) True Signature: {(exitus616,2);(f1,4);(f2,4);(f300,4)} Rule Graph: [0->{6},1->{7},2->{0,2,3,4},3->{0,2,3,4},4->{0,2,3,4},5->{0,1,2,3,4}] + Applied Processor: Unfold + Details: () * Step 6: Decompose WORST_CASE(?,POLY) + Considered Problem: Rules: f300.0(A,B) -> f1.6(A,B) [0 >= B] f300.1(A,B) -> f1.7(A,B) [B >= 1 && 0 >= A] f300.2(A,B) -> f300.0(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B) -> f300.2(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B) -> f300.3(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B) -> f300.4(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.3(A,B) -> f300.0(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B) -> f300.2(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B) -> f300.3(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B) -> f300.4(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.4(A,B) -> f300.0(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B) -> f300.2(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B) -> f300.3(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B) -> f300.4(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2.5(A,B) -> f300.0(A,B) True f2.5(A,B) -> f300.1(A,B) True f2.5(A,B) -> f300.2(A,B) True f2.5(A,B) -> f300.3(A,B) True f2.5(A,B) -> f300.4(A,B) True f1.6(A,B) -> exitus616.8(A,B) True f1.7(A,B) -> exitus616.8(A,B) True Signature: {(exitus616.8,2);(f1.6,2);(f1.7,2);(f2.5,2);(f300.0,2);(f300.1,2);(f300.2,2);(f300.3,2);(f300.4,2)} Rule Graph: [0->{19},1->{20},2->{0},3->{2,3,4,5},4->{6,7,8,9},5->{10,11,12,13},6->{0},7->{2,3,4,5},8->{6,7,8,9},9->{10 ,11,12,13},10->{0},11->{2,3,4,5},12->{6,7,8,9},13->{10,11,12,13},14->{0},15->{1},16->{2,3,4,5},17->{6,7,8,9} ,18->{10,11,12,13},19->{},20->{}] + 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,15,16,17,18,19,20] | `- p:[3,7,4,11,5,9,8,12,13] c: [3,4,5,7,8,9,11,12,13] * Step 7: AbstractSize WORST_CASE(?,POLY) + Considered Problem: (Rules: f300.0(A,B) -> f1.6(A,B) [0 >= B] f300.1(A,B) -> f1.7(A,B) [B >= 1 && 0 >= A] f300.2(A,B) -> f300.0(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B) -> f300.2(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B) -> f300.3(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B) -> f300.4(-1 + A,-2 + A) [A >= 1 && A + B >= 1 && B >= 1] f300.3(A,B) -> f300.0(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B) -> f300.2(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B) -> f300.3(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B) -> f300.4(-1 + B,-1 + B) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.4(A,B) -> f300.0(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B) -> f300.2(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B) -> f300.3(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B) -> f300.4(-1 + B,-1 + B) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2.5(A,B) -> f300.0(A,B) True f2.5(A,B) -> f300.1(A,B) True f2.5(A,B) -> f300.2(A,B) True f2.5(A,B) -> f300.3(A,B) True f2.5(A,B) -> f300.4(A,B) True f1.6(A,B) -> exitus616.8(A,B) True f1.7(A,B) -> exitus616.8(A,B) True Signature: {(exitus616.8,2);(f1.6,2);(f1.7,2);(f2.5,2);(f300.0,2);(f300.1,2);(f300.2,2);(f300.3,2);(f300.4,2)} Rule Graph: [0->{19},1->{20},2->{0},3->{2,3,4,5},4->{6,7,8,9},5->{10,11,12,13},6->{0},7->{2,3,4,5},8->{6,7,8,9},9->{10 ,11,12,13},10->{0},11->{2,3,4,5},12->{6,7,8,9},13->{10,11,12,13},14->{0},15->{1},16->{2,3,4,5},17->{6,7,8,9} ,18->{10,11,12,13},19->{},20->{}] ,We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] | `- p:[3,7,4,11,5,9,8,12,13] c: [3,4,5,7,8,9,11,12,13]) + Applied Processor: AbstractSize Minimize + Details: () * Step 8: AbstractFlow WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [A,B,0.0] f300.0 ~> f1.6 [A <= A, B <= B] f300.1 ~> f1.7 [A <= A, B <= B] f300.2 ~> f300.0 [A <= A, B <= A] f300.2 ~> f300.2 [A <= A, B <= A] f300.2 ~> f300.3 [A <= A, B <= A] f300.2 ~> f300.4 [A <= A, B <= A] f300.3 ~> f300.0 [A <= B, B <= B] f300.3 ~> f300.2 [A <= B, B <= B] f300.3 ~> f300.3 [A <= B, B <= B] f300.3 ~> f300.4 [A <= B, B <= B] f300.4 ~> f300.0 [A <= B, B <= B] f300.4 ~> f300.2 [A <= B, B <= B] f300.4 ~> f300.3 [A <= B, B <= B] f300.4 ~> f300.4 [A <= B, B <= B] f2.5 ~> f300.0 [A <= A, B <= B] f2.5 ~> f300.1 [A <= A, B <= B] f2.5 ~> f300.2 [A <= A, B <= B] f2.5 ~> f300.3 [A <= A, B <= B] f2.5 ~> f300.4 [A <= A, B <= B] f1.6 ~> exitus616.8 [A <= A, B <= B] f1.7 ~> exitus616.8 [A <= A, B <= B] + Loop: [0.0 <= 3*K + A + B] f300.2 ~> f300.2 [A <= A, B <= A] f300.3 ~> f300.2 [A <= B, B <= B] f300.2 ~> f300.3 [A <= A, B <= A] f300.4 ~> f300.2 [A <= B, B <= B] f300.2 ~> f300.4 [A <= A, B <= A] f300.3 ~> f300.4 [A <= B, B <= B] f300.3 ~> f300.3 [A <= B, B <= B] f300.4 ~> f300.3 [A <= B, B <= B] f300.4 ~> f300.4 [A <= B, B <= B] + Applied Processor: AbstractFlow + Details: () * Step 9: Lare WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [tick,huge,K,A,B,0.0] f300.0 ~> f1.6 [] f300.1 ~> f1.7 [] f300.2 ~> f300.0 [A ~=> B] f300.2 ~> f300.2 [A ~=> B] f300.2 ~> f300.3 [A ~=> B] f300.2 ~> f300.4 [A ~=> B] f300.3 ~> f300.0 [B ~=> A] f300.3 ~> f300.2 [B ~=> A] f300.3 ~> f300.3 [B ~=> A] f300.3 ~> f300.4 [B ~=> A] f300.4 ~> f300.0 [B ~=> A] f300.4 ~> f300.2 [B ~=> A] f300.4 ~> f300.3 [B ~=> A] f300.4 ~> f300.4 [B ~=> A] f2.5 ~> f300.0 [] f2.5 ~> f300.1 [] f2.5 ~> f300.2 [] f2.5 ~> f300.3 [] f2.5 ~> f300.4 [] f1.6 ~> exitus616.8 [] f1.7 ~> exitus616.8 [] + Loop: [A ~+> 0.0,B ~+> 0.0,K ~*> 0.0] f300.2 ~> f300.2 [A ~=> B] f300.3 ~> f300.2 [B ~=> A] f300.2 ~> f300.3 [A ~=> B] f300.4 ~> f300.2 [B ~=> A] f300.2 ~> f300.4 [A ~=> B] f300.3 ~> f300.4 [B ~=> A] f300.3 ~> f300.3 [B ~=> A] f300.4 ~> f300.3 [B ~=> A] f300.4 ~> f300.4 [B ~=> A] + Applied Processor: Lare + Details: f2.5 ~> exitus616.8 [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,A ~*> 0.0 ,A ~*> tick ,B ~*> 0.0 ,B ~*> tick ,K ~*> 0.0 ,K ~*> tick] + f300.2> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.4> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.3> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.2> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.4> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.3> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.2> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.4> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.3> [A ~=> B ,B ~=> A ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] YES(?,POLY)