YES(?,POLY) * Step 1: UnsatPaths WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalspeedpldi3start(A,B,C,D) -> evalspeedpldi3entryin(A,B,C,D) True (1,1) 1. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [0 >= A] (?,1) 2. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [A >= B] (?,1) 3. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,0) [A >= 1 && B >= 1 + A] (?,1) 4. evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3bb2in(A,B,C,D) [D >= 0 (?,1) && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] 5. evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [D >= 0 (?,1) && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && D >= B] 6. evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb3in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && A >= 1 + C] 7. evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && C >= A] 8. evalspeedpldi3bb3in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,1 + C,D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -2 + B + -1*C >= 0 && -1 + A + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] 9. evalspeedpldi3bb4in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,1 + D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] 10. evalspeedpldi3returnin(A,B,C,D) -> evalspeedpldi3stop(A,B,C,D) True (?,1) Signature: {(evalspeedpldi3bb2in,4) ;(evalspeedpldi3bb3in,4) ;(evalspeedpldi3bb4in,4) ;(evalspeedpldi3bb5in,4) ;(evalspeedpldi3entryin,4) ;(evalspeedpldi3returnin,4) ;(evalspeedpldi3start,4) ;(evalspeedpldi3stop,4)} 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),(8,5)] * Step 2: FromIts WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalspeedpldi3start(A,B,C,D) -> evalspeedpldi3entryin(A,B,C,D) True (1,1) 1. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [0 >= A] (?,1) 2. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [A >= B] (?,1) 3. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,0) [A >= 1 && B >= 1 + A] (?,1) 4. evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3bb2in(A,B,C,D) [D >= 0 (?,1) && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] 5. evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [D >= 0 (?,1) && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && D >= B] 6. evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb3in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && A >= 1 + C] 7. evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb4in(A,B,C,D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && C >= A] 8. evalspeedpldi3bb3in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,1 + C,D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -2 + B + -1*C >= 0 && -1 + A + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] 9. evalspeedpldi3bb4in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,1 + D) [-1 + B + -1*D >= 0 (?,1) && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] 10. evalspeedpldi3returnin(A,B,C,D) -> evalspeedpldi3stop(A,B,C,D) True (?,1) Signature: {(evalspeedpldi3bb2in,4) ;(evalspeedpldi3bb3in,4) ;(evalspeedpldi3bb4in,4) ;(evalspeedpldi3bb5in,4) ;(evalspeedpldi3entryin,4) ;(evalspeedpldi3returnin,4) ;(evalspeedpldi3start,4) ;(evalspeedpldi3stop,4)} Flow Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4},9->{4,5},10->{}] + Applied Processor: FromIts + Details: () * Step 3: AddSinks WORST_CASE(?,POLY) + Considered Problem: Rules: evalspeedpldi3start(A,B,C,D) -> evalspeedpldi3entryin(A,B,C,D) True evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [0 >= A] evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [A >= B] evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,0) [A >= 1 && B >= 1 + A] evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3bb2in(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && D >= B] evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb3in(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && A >= 1 + C] evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb4in(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && C >= A] evalspeedpldi3bb3in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,1 + C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -2 + B + -1*C >= 0 && -1 + A + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3bb4in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,1 + D) [-1 + B + -1*D >= 0 && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3returnin(A,B,C,D) -> evalspeedpldi3stop(A,B,C,D) True Signature: {(evalspeedpldi3bb2in,4) ;(evalspeedpldi3bb3in,4) ;(evalspeedpldi3bb4in,4) ;(evalspeedpldi3bb5in,4) ;(evalspeedpldi3entryin,4) ;(evalspeedpldi3returnin,4) ;(evalspeedpldi3start,4) ;(evalspeedpldi3stop,4)} Rule Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4},9->{4,5},10->{}] + Applied Processor: AddSinks + Details: () * Step 4: Unfold WORST_CASE(?,POLY) + Considered Problem: Rules: evalspeedpldi3start(A,B,C,D) -> evalspeedpldi3entryin(A,B,C,D) True evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [0 >= A] evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [A >= B] evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,0) [A >= 1 && B >= 1 + A] evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3bb2in(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] evalspeedpldi3bb5in(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && D >= B] evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb3in(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && A >= 1 + C] evalspeedpldi3bb2in(A,B,C,D) -> evalspeedpldi3bb4in(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && C >= A] evalspeedpldi3bb3in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,1 + C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -2 + B + -1*C >= 0 && -1 + A + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3bb4in(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,1 + D) [-1 + B + -1*D >= 0 && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3returnin(A,B,C,D) -> evalspeedpldi3stop(A,B,C,D) True evalspeedpldi3stop(A,B,C,D) -> exitus616(A,B,C,D) True evalspeedpldi3stop(A,B,C,D) -> exitus616(A,B,C,D) True evalspeedpldi3stop(A,B,C,D) -> exitus616(A,B,C,D) True Signature: {(evalspeedpldi3bb2in,4) ;(evalspeedpldi3bb3in,4) ;(evalspeedpldi3bb4in,4) ;(evalspeedpldi3bb5in,4) ;(evalspeedpldi3entryin,4) ;(evalspeedpldi3returnin,4) ;(evalspeedpldi3start,4) ;(evalspeedpldi3stop,4) ;(exitus616,4)} Rule Graph: [0->{1,2,3},1->{10},2->{10},3->{4},4->{6,7},5->{10},6->{8},7->{9},8->{4},9->{4,5},10->{11,12,13}] + Applied Processor: Unfold + Details: () * Step 5: Decompose WORST_CASE(?,POLY) + Considered Problem: Rules: evalspeedpldi3start.0(A,B,C,D) -> evalspeedpldi3entryin.1(A,B,C,D) True evalspeedpldi3start.0(A,B,C,D) -> evalspeedpldi3entryin.2(A,B,C,D) True evalspeedpldi3start.0(A,B,C,D) -> evalspeedpldi3entryin.3(A,B,C,D) True evalspeedpldi3entryin.1(A,B,C,D) -> evalspeedpldi3returnin.10(A,B,C,D) [0 >= A] evalspeedpldi3entryin.2(A,B,C,D) -> evalspeedpldi3returnin.10(A,B,C,D) [A >= B] evalspeedpldi3entryin.3(A,B,C,D) -> evalspeedpldi3bb5in.4(A,B,0,0) [A >= 1 && B >= 1 + A] evalspeedpldi3bb5in.4(A,B,C,D) -> evalspeedpldi3bb2in.6(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] evalspeedpldi3bb5in.4(A,B,C,D) -> evalspeedpldi3bb2in.7(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] evalspeedpldi3bb5in.5(A,B,C,D) -> evalspeedpldi3returnin.10(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && D >= B] evalspeedpldi3bb2in.6(A,B,C,D) -> evalspeedpldi3bb3in.8(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && A >= 1 + C] evalspeedpldi3bb2in.7(A,B,C,D) -> evalspeedpldi3bb4in.9(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && C >= A] evalspeedpldi3bb3in.8(A,B,C,D) -> evalspeedpldi3bb5in.4(A,B,1 + C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -2 + B + -1*C >= 0 && -1 + A + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3bb4in.9(A,B,C,D) -> evalspeedpldi3bb5in.4(A,B,0,1 + D) [-1 + B + -1*D >= 0 && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3bb4in.9(A,B,C,D) -> evalspeedpldi3bb5in.5(A,B,0,1 + D) [-1 + B + -1*D >= 0 && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3returnin.10(A,B,C,D) -> evalspeedpldi3stop.11(A,B,C,D) True evalspeedpldi3returnin.10(A,B,C,D) -> evalspeedpldi3stop.12(A,B,C,D) True evalspeedpldi3returnin.10(A,B,C,D) -> evalspeedpldi3stop.13(A,B,C,D) True evalspeedpldi3stop.11(A,B,C,D) -> exitus616.14(A,B,C,D) True evalspeedpldi3stop.12(A,B,C,D) -> exitus616.14(A,B,C,D) True evalspeedpldi3stop.13(A,B,C,D) -> exitus616.14(A,B,C,D) True Signature: {(evalspeedpldi3bb2in.6,4) ;(evalspeedpldi3bb2in.7,4) ;(evalspeedpldi3bb3in.8,4) ;(evalspeedpldi3bb4in.9,4) ;(evalspeedpldi3bb5in.4,4) ;(evalspeedpldi3bb5in.5,4) ;(evalspeedpldi3entryin.1,4) ;(evalspeedpldi3entryin.2,4) ;(evalspeedpldi3entryin.3,4) ;(evalspeedpldi3returnin.10,4) ;(evalspeedpldi3start.0,4) ;(evalspeedpldi3stop.11,4) ;(evalspeedpldi3stop.12,4) ;(evalspeedpldi3stop.13,4) ;(exitus616.14,4)} Rule Graph: [0->{3},1->{4},2->{5},3->{14,15,16},4->{14,15,16},5->{6,7},6->{9},7->{10},8->{14,15,16},9->{11},10->{12 ,13},11->{6,7},12->{6,7},13->{8},14->{17},15->{18},16->{19},17->{},18->{},19->{}] + 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] | `- p:[6,11,9,12,10,7] c: [7,10,12] | `- p:[6,11,9] c: [6,9,11] * Step 6: AbstractSize WORST_CASE(?,POLY) + Considered Problem: (Rules: evalspeedpldi3start.0(A,B,C,D) -> evalspeedpldi3entryin.1(A,B,C,D) True evalspeedpldi3start.0(A,B,C,D) -> evalspeedpldi3entryin.2(A,B,C,D) True evalspeedpldi3start.0(A,B,C,D) -> evalspeedpldi3entryin.3(A,B,C,D) True evalspeedpldi3entryin.1(A,B,C,D) -> evalspeedpldi3returnin.10(A,B,C,D) [0 >= A] evalspeedpldi3entryin.2(A,B,C,D) -> evalspeedpldi3returnin.10(A,B,C,D) [A >= B] evalspeedpldi3entryin.3(A,B,C,D) -> evalspeedpldi3bb5in.4(A,B,0,0) [A >= 1 && B >= 1 + A] evalspeedpldi3bb5in.4(A,B,C,D) -> evalspeedpldi3bb2in.6(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] evalspeedpldi3bb5in.4(A,B,C,D) -> evalspeedpldi3bb2in.7(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && B >= 1 + D] evalspeedpldi3bb5in.5(A,B,C,D) -> evalspeedpldi3returnin.10(A,B,C,D) [D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && D >= B] evalspeedpldi3bb2in.6(A,B,C,D) -> evalspeedpldi3bb3in.8(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && A >= 1 + C] evalspeedpldi3bb2in.7(A,B,C,D) -> evalspeedpldi3bb4in.9(A,B,C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0 && C >= A] evalspeedpldi3bb3in.8(A,B,C,D) -> evalspeedpldi3bb5in.4(A,B,1 + C,D) [-1 + B + -1*D >= 0 && D >= 0 && C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -2 + B + -1*C >= 0 && -1 + A + -1*C >= 0 && C >= 0 && -2 + B + C >= 0 && -1 + A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3bb4in.9(A,B,C,D) -> evalspeedpldi3bb5in.4(A,B,0,1 + D) [-1 + B + -1*D >= 0 && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3bb4in.9(A,B,C,D) -> evalspeedpldi3bb5in.5(A,B,0,1 + D) [-1 + B + -1*D >= 0 && D >= 0 && -1 + C + D >= 0 && -2 + B + D >= 0 && -1 + A + D >= 0 && -1 + C >= 0 && -3 + B + C >= 0 && -2 + A + C >= 0 && -1*A + C >= 0 && -2 + B >= 0 && -3 + A + B >= 0 && -1 + -1*A + B >= 0 && -1 + A >= 0] evalspeedpldi3returnin.10(A,B,C,D) -> evalspeedpldi3stop.11(A,B,C,D) True evalspeedpldi3returnin.10(A,B,C,D) -> evalspeedpldi3stop.12(A,B,C,D) True evalspeedpldi3returnin.10(A,B,C,D) -> evalspeedpldi3stop.13(A,B,C,D) True evalspeedpldi3stop.11(A,B,C,D) -> exitus616.14(A,B,C,D) True evalspeedpldi3stop.12(A,B,C,D) -> exitus616.14(A,B,C,D) True evalspeedpldi3stop.13(A,B,C,D) -> exitus616.14(A,B,C,D) True Signature: {(evalspeedpldi3bb2in.6,4) ;(evalspeedpldi3bb2in.7,4) ;(evalspeedpldi3bb3in.8,4) ;(evalspeedpldi3bb4in.9,4) ;(evalspeedpldi3bb5in.4,4) ;(evalspeedpldi3bb5in.5,4) ;(evalspeedpldi3entryin.1,4) ;(evalspeedpldi3entryin.2,4) ;(evalspeedpldi3entryin.3,4) ;(evalspeedpldi3returnin.10,4) ;(evalspeedpldi3start.0,4) ;(evalspeedpldi3stop.11,4) ;(evalspeedpldi3stop.12,4) ;(evalspeedpldi3stop.13,4) ;(exitus616.14,4)} Rule Graph: [0->{3},1->{4},2->{5},3->{14,15,16},4->{14,15,16},5->{6,7},6->{9},7->{10},8->{14,15,16},9->{11},10->{12 ,13},11->{6,7},12->{6,7},13->{8},14->{17},15->{18},16->{19},17->{},18->{},19->{}] ,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] | `- p:[6,11,9,12,10,7] c: [7,10,12] | `- p:[6,11,9] c: [6,9,11]) + Applied Processor: AbstractSize Minimize + Details: () * Step 7: AbstractFlow WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [A,B,C,D,0.0,0.0.0] evalspeedpldi3start.0 ~> evalspeedpldi3entryin.1 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3start.0 ~> evalspeedpldi3entryin.2 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3start.0 ~> evalspeedpldi3entryin.3 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3entryin.1 ~> evalspeedpldi3returnin.10 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3entryin.2 ~> evalspeedpldi3returnin.10 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3entryin.3 ~> evalspeedpldi3bb5in.4 [A <= A, B <= B, C <= 0*K, D <= 0*K] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.6 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.7 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb5in.5 ~> evalspeedpldi3returnin.10 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb2in.6 ~> evalspeedpldi3bb3in.8 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb2in.7 ~> evalspeedpldi3bb4in.9 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb3in.8 ~> evalspeedpldi3bb5in.4 [A <= A, B <= B, C <= B, D <= D] evalspeedpldi3bb4in.9 ~> evalspeedpldi3bb5in.4 [A <= A, B <= B, C <= 0*K, D <= B] evalspeedpldi3bb4in.9 ~> evalspeedpldi3bb5in.5 [A <= A, B <= B, C <= 0*K, D <= B] evalspeedpldi3returnin.10 ~> evalspeedpldi3stop.11 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3returnin.10 ~> evalspeedpldi3stop.12 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3returnin.10 ~> evalspeedpldi3stop.13 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3stop.11 ~> exitus616.14 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3stop.12 ~> exitus616.14 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3stop.13 ~> exitus616.14 [A <= A, B <= B, C <= C, D <= D] + Loop: [0.0 <= B + D] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.6 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb3in.8 ~> evalspeedpldi3bb5in.4 [A <= A, B <= B, C <= B, D <= D] evalspeedpldi3bb2in.6 ~> evalspeedpldi3bb3in.8 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb4in.9 ~> evalspeedpldi3bb5in.4 [A <= A, B <= B, C <= 0*K, D <= B] evalspeedpldi3bb2in.7 ~> evalspeedpldi3bb4in.9 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.7 [A <= A, B <= B, C <= C, D <= D] + Loop: [0.0.0 <= 2*K + B + C] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.6 [A <= A, B <= B, C <= C, D <= D] evalspeedpldi3bb3in.8 ~> evalspeedpldi3bb5in.4 [A <= A, B <= B, C <= B, D <= D] evalspeedpldi3bb2in.6 ~> evalspeedpldi3bb3in.8 [A <= A, B <= B, C <= C, 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,0.0.0] evalspeedpldi3start.0 ~> evalspeedpldi3entryin.1 [] evalspeedpldi3start.0 ~> evalspeedpldi3entryin.2 [] evalspeedpldi3start.0 ~> evalspeedpldi3entryin.3 [] evalspeedpldi3entryin.1 ~> evalspeedpldi3returnin.10 [] evalspeedpldi3entryin.2 ~> evalspeedpldi3returnin.10 [] evalspeedpldi3entryin.3 ~> evalspeedpldi3bb5in.4 [K ~=> C,K ~=> D] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.6 [] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.7 [] evalspeedpldi3bb5in.5 ~> evalspeedpldi3returnin.10 [] evalspeedpldi3bb2in.6 ~> evalspeedpldi3bb3in.8 [] evalspeedpldi3bb2in.7 ~> evalspeedpldi3bb4in.9 [] evalspeedpldi3bb3in.8 ~> evalspeedpldi3bb5in.4 [B ~=> C] evalspeedpldi3bb4in.9 ~> evalspeedpldi3bb5in.4 [B ~=> D,K ~=> C] evalspeedpldi3bb4in.9 ~> evalspeedpldi3bb5in.5 [B ~=> D,K ~=> C] evalspeedpldi3returnin.10 ~> evalspeedpldi3stop.11 [] evalspeedpldi3returnin.10 ~> evalspeedpldi3stop.12 [] evalspeedpldi3returnin.10 ~> evalspeedpldi3stop.13 [] evalspeedpldi3stop.11 ~> exitus616.14 [] evalspeedpldi3stop.12 ~> exitus616.14 [] evalspeedpldi3stop.13 ~> exitus616.14 [] + Loop: [B ~+> 0.0,D ~+> 0.0] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.6 [] evalspeedpldi3bb3in.8 ~> evalspeedpldi3bb5in.4 [B ~=> C] evalspeedpldi3bb2in.6 ~> evalspeedpldi3bb3in.8 [] evalspeedpldi3bb4in.9 ~> evalspeedpldi3bb5in.4 [B ~=> D,K ~=> C] evalspeedpldi3bb2in.7 ~> evalspeedpldi3bb4in.9 [] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.7 [] + Loop: [B ~+> 0.0.0,C ~+> 0.0.0,K ~*> 0.0.0] evalspeedpldi3bb5in.4 ~> evalspeedpldi3bb2in.6 [] evalspeedpldi3bb3in.8 ~> evalspeedpldi3bb5in.4 [B ~=> C] evalspeedpldi3bb2in.6 ~> evalspeedpldi3bb3in.8 [] + Applied Processor: Lare + Details: evalspeedpldi3start.0 ~> exitus616.14 [B ~=> D ,K ~=> C ,B ~+> 0.0 ,B ~+> 0.0.0 ,B ~+> tick ,tick ~+> tick ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,B ~*> 0.0.0 ,B ~*> tick ,K ~*> 0.0.0 ,K ~*> tick] + evalspeedpldi3bb4in.9> [B ~=> C ,B ~=> D ,K ~=> C ,B ~+> 0.0 ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> 0.0.0 ,C ~+> tick ,D ~+> 0.0 ,D ~+> tick ,tick ~+> tick ,K ~+> 0.0.0 ,K ~+> tick ,B ~*> 0.0.0 ,B ~*> tick ,C ~*> tick ,D ~*> tick ,K ~*> 0.0.0 ,K ~*> tick] + evalspeedpldi3bb5in.4> [B ~=> C ,B ~+> 0.0.0 ,B ~+> tick ,C ~+> 0.0.0 ,C ~+> tick ,tick ~+> tick ,K ~*> 0.0.0 ,K ~*> tick] YES(?,POLY)