YES(?,POLY) * Step 1: UnsatPaths 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: UnsatPaths + Details: We remove following edges from the transition graph: [(2,1),(3,1),(4,1)] * Step 2: FromIts 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,2,3,4},3->{0,2,3,4},4->{0,2,3,4},5->{0,1,2,3,4}] + Applied Processor: FromIts + Details: () * Step 3: Unfold WORST_CASE(?,POLY) + Considered Problem: Rules: f300(A,B,C,D) -> f1(A,B,C,E) [0 >= B] f300(A,B,C,D) -> f1(A,B,C,E) [B >= 1 && 0 >= A] f300(A,B,C,D) -> f300(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300(A,B,C,D) -> f300(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300(A,B,C,D) -> f300(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2(A,B,C,D) -> f300(A,B,C,D) 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: Unfold + Details: () * Step 4: AddSinks WORST_CASE(?,POLY) + Considered Problem: Rules: f300.0(A,B,C,D) -> f1.6(A,B,C,E) [0 >= B] f300.1(A,B,C,D) -> f1.6(A,B,C,E) [B >= 1 && 0 >= A] f300.2(A,B,C,D) -> f300.0(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.2(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.3(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.4(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.3(A,B,C,D) -> f300.0(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.2(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.3(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.4(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.4(A,B,C,D) -> f300.0(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.2(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.3(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.4(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2.5(A,B,C,D) -> f300.0(A,B,C,D) True f2.5(A,B,C,D) -> f300.1(A,B,C,D) True f2.5(A,B,C,D) -> f300.2(A,B,C,D) True f2.5(A,B,C,D) -> f300.3(A,B,C,D) True f2.5(A,B,C,D) -> f300.4(A,B,C,D) True Signature: {(f1.6,4);(f2.5,4);(f300.0,4);(f300.1,4);(f300.2,4);(f300.3,4);(f300.4,4)} Rule Graph: [0->{},1->{},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}] + Applied Processor: AddSinks + Details: () * Step 5: Decompose WORST_CASE(?,POLY) + Considered Problem: Rules: f300.0(A,B,C,D) -> f1.6(A,B,C,E) [0 >= B] f300.1(A,B,C,D) -> f1.6(A,B,C,E) [B >= 1 && 0 >= A] f300.2(A,B,C,D) -> f300.0(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.2(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.3(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.4(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.3(A,B,C,D) -> f300.0(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.2(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.3(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.4(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.4(A,B,C,D) -> f300.0(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.2(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.3(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.4(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2.5(A,B,C,D) -> f300.0(A,B,C,D) True f2.5(A,B,C,D) -> f300.1(A,B,C,D) True f2.5(A,B,C,D) -> f300.2(A,B,C,D) True f2.5(A,B,C,D) -> f300.3(A,B,C,D) True f2.5(A,B,C,D) -> f300.4(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True Signature: {(exitus616,4);(f1.6,4);(f2.5,4);(f300.0,4);(f300.1,4);(f300.2,4);(f300.3,4);(f300.4,4)} Rule Graph: [0->{19,20,21,22,23,24,25,26,27,29},1->{28},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}] + 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,21,22,23,24,25,26,27,28,29] | `- p:[3,7,4,11,5,9,8,12,13] c: [3,4,5,7,8,9,11,12,13] * Step 6: AbstractSize WORST_CASE(?,POLY) + Considered Problem: (Rules: f300.0(A,B,C,D) -> f1.6(A,B,C,E) [0 >= B] f300.1(A,B,C,D) -> f1.6(A,B,C,E) [B >= 1 && 0 >= A] f300.2(A,B,C,D) -> f300.0(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.2(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.3(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.2(A,B,C,D) -> f300.4(-1 + A,-2 + A,0,D) [A >= 1 && A + B >= 1 && B >= 1] f300.3(A,B,C,D) -> f300.0(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.2(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.3(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.3(A,B,C,D) -> f300.4(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && 0 >= 1 + E && A + B >= 1] f300.4(A,B,C,D) -> f300.0(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.2(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.3(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f300.4(A,B,C,D) -> f300.4(-1 + B,-1 + B,E,D) [A >= 1 && B >= 1 && E >= 1 && A + B >= 1] f2.5(A,B,C,D) -> f300.0(A,B,C,D) True f2.5(A,B,C,D) -> f300.1(A,B,C,D) True f2.5(A,B,C,D) -> f300.2(A,B,C,D) True f2.5(A,B,C,D) -> f300.3(A,B,C,D) True f2.5(A,B,C,D) -> f300.4(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True f1.6(A,B,C,D) -> exitus616(A,B,C,D) True Signature: {(exitus616,4);(f1.6,4);(f2.5,4);(f300.0,4);(f300.1,4);(f300.2,4);(f300.3,4);(f300.4,4)} Rule Graph: [0->{19,20,21,22,23,24,25,26,27,29},1->{28},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}] ,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,21,22,23,24,25,26,27,28,29] | `- 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 7: AbstractFlow WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [A,B,C,D,0.0] f300.0 ~> f1.6 [A <= A, B <= B, C <= C, D <= unknown] f300.1 ~> f1.6 [A <= A, B <= B, C <= C, D <= unknown] f300.2 ~> f300.0 [A <= A, B <= A, C <= 0*K, D <= D] f300.2 ~> f300.2 [A <= A, B <= A, C <= 0*K, D <= D] f300.2 ~> f300.3 [A <= A, B <= A, C <= 0*K, D <= D] f300.2 ~> f300.4 [A <= A, B <= A, C <= 0*K, D <= D] f300.3 ~> f300.0 [A <= B, B <= B, C <= unknown, D <= D] f300.3 ~> f300.2 [A <= B, B <= B, C <= unknown, D <= D] f300.3 ~> f300.3 [A <= B, B <= B, C <= unknown, D <= D] f300.3 ~> f300.4 [A <= B, B <= B, C <= unknown, D <= D] f300.4 ~> f300.0 [A <= B, B <= B, C <= unknown, D <= D] f300.4 ~> f300.2 [A <= B, B <= B, C <= unknown, D <= D] f300.4 ~> f300.3 [A <= B, B <= B, C <= unknown, D <= D] f300.4 ~> f300.4 [A <= B, B <= B, C <= unknown, D <= D] f2.5 ~> f300.0 [A <= A, B <= B, C <= C, D <= D] f2.5 ~> f300.1 [A <= A, B <= B, C <= C, D <= D] f2.5 ~> f300.2 [A <= A, B <= B, C <= C, D <= D] f2.5 ~> f300.3 [A <= A, B <= B, C <= C, D <= D] f2.5 ~> f300.4 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] f1.6 ~> exitus616 [A <= A, B <= B, C <= C, D <= D] + Loop: [0.0 <= 3*K + A + B] f300.2 ~> f300.2 [A <= A, B <= A, C <= 0*K, D <= D] f300.3 ~> f300.2 [A <= B, B <= B, C <= unknown, D <= D] f300.2 ~> f300.3 [A <= A, B <= A, C <= 0*K, D <= D] f300.4 ~> f300.2 [A <= B, B <= B, C <= unknown, D <= D] f300.2 ~> f300.4 [A <= A, B <= A, C <= 0*K, D <= D] f300.3 ~> f300.4 [A <= B, B <= B, C <= unknown, D <= D] f300.3 ~> f300.3 [A <= B, B <= B, C <= unknown, D <= D] f300.4 ~> f300.3 [A <= B, B <= B, C <= unknown, D <= D] f300.4 ~> f300.4 [A <= B, B <= B, C <= unknown, D <= D] + Applied Processor: AbstractFlow + Details: () * Step 8: Lare WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [tick,huge,K,A,B,C,D,0.0] f300.0 ~> f1.6 [huge ~=> D] f300.1 ~> f1.6 [huge ~=> D] f300.2 ~> f300.0 [A ~=> B,K ~=> C] f300.2 ~> f300.2 [A ~=> B,K ~=> C] f300.2 ~> f300.3 [A ~=> B,K ~=> C] f300.2 ~> f300.4 [A ~=> B,K ~=> C] f300.3 ~> f300.0 [B ~=> A,huge ~=> C] f300.3 ~> f300.2 [B ~=> A,huge ~=> C] f300.3 ~> f300.3 [B ~=> A,huge ~=> C] f300.3 ~> f300.4 [B ~=> A,huge ~=> C] f300.4 ~> f300.0 [B ~=> A,huge ~=> C] f300.4 ~> f300.2 [B ~=> A,huge ~=> C] f300.4 ~> f300.3 [B ~=> A,huge ~=> C] f300.4 ~> f300.4 [B ~=> A,huge ~=> C] f2.5 ~> f300.0 [] f2.5 ~> f300.1 [] f2.5 ~> f300.2 [] f2.5 ~> f300.3 [] f2.5 ~> f300.4 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] f1.6 ~> exitus616 [] + Loop: [A ~+> 0.0,B ~+> 0.0,K ~*> 0.0] f300.2 ~> f300.2 [A ~=> B,K ~=> C] f300.3 ~> f300.2 [B ~=> A,huge ~=> C] f300.2 ~> f300.3 [A ~=> B,K ~=> C] f300.4 ~> f300.2 [B ~=> A,huge ~=> C] f300.2 ~> f300.4 [A ~=> B,K ~=> C] f300.3 ~> f300.4 [B ~=> A,huge ~=> C] f300.3 ~> f300.3 [B ~=> A,huge ~=> C] f300.4 ~> f300.3 [B ~=> A,huge ~=> C] f300.4 ~> f300.4 [B ~=> A,huge ~=> C] + Applied Processor: Lare + Details: f2.5 ~> exitus616 [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,huge ~=> D ,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 ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.4> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.3> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.2> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.4> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.3> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.2> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.4> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] f300.3> [A ~=> B ,B ~=> A ,K ~=> C ,huge ~=> C ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~*> 0.0 ,K ~*> tick] YES(?,POLY)