YES * Step 1: TrivialSCCs YES + 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: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: UnsatPaths YES + 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,1) 2. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [A >= B] (1,1) 3. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,0) [A >= 1 && B >= 1 + A] (1,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,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,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 3: Looptree YES + 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,1) 2. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3returnin(A,B,C,D) [A >= B] (1,1) 3. evalspeedpldi3entryin(A,B,C,D) -> evalspeedpldi3bb5in(A,B,0,0) [A >= 1 && B >= 1 + A] (1,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,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,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: Looptree + Details: We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10] | `- p:[4,8,6,9,7] c: [9] | `- p:[4,8,6] c: [8] YES