YES(?,O(n^1)) * Step 1: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi2start(A,B,C) -> evalspeedpldi2entryin(A,B,C) True (1,1) 1. evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2bb5in(B,0,A) [A >= 0 && B >= 1] (?,1) 2. evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= 1 + A] (?,1) 3. evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= B] (?,1) 4. evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2bb2in(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1] (?,1) 5. evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2returnin(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && 0 >= C] (?,1) 6. evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb3in(A,B,C) [-1 + C >= 0 (?,1) && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] 7. evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb5in(A,0,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi2bb3in(A,B,C) -> evalspeedpldi2bb5in(A,1 + B,-1 + C) [-1 + C >= 0 (?,1) && -1 + B + C >= 0 && -2 + A + C >= 0 && -1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] 9. evalspeedpldi2returnin(A,B,C) -> evalspeedpldi2stop(A,B,C) True (?,1) Signature: {(evalspeedpldi2bb2in,3) ;(evalspeedpldi2bb3in,3) ;(evalspeedpldi2bb5in,3) ;(evalspeedpldi2entryin,3) ;(evalspeedpldi2returnin,3) ;(evalspeedpldi2start,3) ;(evalspeedpldi2stop,3)} Flow Graph: [0->{1,2,3},1->{4,5},2->{9},3->{9},4->{6,7},5->{9},6->{8},7->{4,5},8->{4,5},9->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(7,5)] * Step 2: FromIts WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalspeedpldi2start(A,B,C) -> evalspeedpldi2entryin(A,B,C) True (1,1) 1. evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2bb5in(B,0,A) [A >= 0 && B >= 1] (?,1) 2. evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= 1 + A] (?,1) 3. evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= B] (?,1) 4. evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2bb2in(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1] (?,1) 5. evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2returnin(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && 0 >= C] (?,1) 6. evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb3in(A,B,C) [-1 + C >= 0 (?,1) && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] 7. evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb5in(A,0,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && B >= A] (?,1) 8. evalspeedpldi2bb3in(A,B,C) -> evalspeedpldi2bb5in(A,1 + B,-1 + C) [-1 + C >= 0 (?,1) && -1 + B + C >= 0 && -2 + A + C >= 0 && -1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] 9. evalspeedpldi2returnin(A,B,C) -> evalspeedpldi2stop(A,B,C) True (?,1) Signature: {(evalspeedpldi2bb2in,3) ;(evalspeedpldi2bb3in,3) ;(evalspeedpldi2bb5in,3) ;(evalspeedpldi2entryin,3) ;(evalspeedpldi2returnin,3) ;(evalspeedpldi2start,3) ;(evalspeedpldi2stop,3)} Flow Graph: [0->{1,2,3},1->{4,5},2->{9},3->{9},4->{6,7},5->{9},6->{8},7->{4},8->{4,5},9->{}] + Applied Processor: FromIts + Details: () * Step 3: AddSinks WORST_CASE(?,O(n^1)) + Considered Problem: Rules: evalspeedpldi2start(A,B,C) -> evalspeedpldi2entryin(A,B,C) True evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2bb5in(B,0,A) [A >= 0 && B >= 1] evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= 1 + A] evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= B] evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2bb2in(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1] evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2returnin(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && 0 >= C] evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb3in(A,B,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb5in(A,0,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && B >= A] evalspeedpldi2bb3in(A,B,C) -> evalspeedpldi2bb5in(A,1 + B,-1 + C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && -1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] evalspeedpldi2returnin(A,B,C) -> evalspeedpldi2stop(A,B,C) True Signature: {(evalspeedpldi2bb2in,3) ;(evalspeedpldi2bb3in,3) ;(evalspeedpldi2bb5in,3) ;(evalspeedpldi2entryin,3) ;(evalspeedpldi2returnin,3) ;(evalspeedpldi2start,3) ;(evalspeedpldi2stop,3)} Rule Graph: [0->{1,2,3},1->{4,5},2->{9},3->{9},4->{6,7},5->{9},6->{8},7->{4},8->{4,5},9->{}] + Applied Processor: AddSinks + Details: () * Step 4: Decompose WORST_CASE(?,O(n^1)) + Considered Problem: Rules: evalspeedpldi2start(A,B,C) -> evalspeedpldi2entryin(A,B,C) True evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2bb5in(B,0,A) [A >= 0 && B >= 1] evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= 1 + A] evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= B] evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2bb2in(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1] evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2returnin(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && 0 >= C] evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb3in(A,B,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb5in(A,0,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && B >= A] evalspeedpldi2bb3in(A,B,C) -> evalspeedpldi2bb5in(A,1 + B,-1 + C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && -1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] evalspeedpldi2returnin(A,B,C) -> evalspeedpldi2stop(A,B,C) True evalspeedpldi2stop(A,B,C) -> exitus616(A,B,C) True evalspeedpldi2stop(A,B,C) -> exitus616(A,B,C) True evalspeedpldi2stop(A,B,C) -> exitus616(A,B,C) True Signature: {(evalspeedpldi2bb2in,3) ;(evalspeedpldi2bb3in,3) ;(evalspeedpldi2bb5in,3) ;(evalspeedpldi2entryin,3) ;(evalspeedpldi2returnin,3) ;(evalspeedpldi2start,3) ;(evalspeedpldi2stop,3) ;(exitus616,3)} Rule Graph: [0->{1,2,3},1->{4,5},2->{9},3->{9},4->{6,7},5->{9},6->{8},7->{4},8->{4,5},9->{10,11,12}] + Applied Processor: Decompose Greedy + Details: We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12] | `- p:[4,7,8,6] c: [4,6,7,8] * Step 5: AbstractSize WORST_CASE(?,O(n^1)) + Considered Problem: (Rules: evalspeedpldi2start(A,B,C) -> evalspeedpldi2entryin(A,B,C) True evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2bb5in(B,0,A) [A >= 0 && B >= 1] evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= 1 + A] evalspeedpldi2entryin(A,B,C) -> evalspeedpldi2returnin(A,B,C) [0 >= B] evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2bb2in(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1] evalspeedpldi2bb5in(A,B,C) -> evalspeedpldi2returnin(A,B,C) [C >= 0 && B + C >= 0 && -1 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && 0 >= C] evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb3in(A,B,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && A >= 1 + B] evalspeedpldi2bb2in(A,B,C) -> evalspeedpldi2bb5in(A,0,C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && B >= A] evalspeedpldi2bb3in(A,B,C) -> evalspeedpldi2bb5in(A,1 + B,-1 + C) [-1 + C >= 0 && -1 + B + C >= 0 && -2 + A + C >= 0 && -1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] evalspeedpldi2returnin(A,B,C) -> evalspeedpldi2stop(A,B,C) True evalspeedpldi2stop(A,B,C) -> exitus616(A,B,C) True evalspeedpldi2stop(A,B,C) -> exitus616(A,B,C) True evalspeedpldi2stop(A,B,C) -> exitus616(A,B,C) True Signature: {(evalspeedpldi2bb2in,3) ;(evalspeedpldi2bb3in,3) ;(evalspeedpldi2bb5in,3) ;(evalspeedpldi2entryin,3) ;(evalspeedpldi2returnin,3) ;(evalspeedpldi2start,3) ;(evalspeedpldi2stop,3) ;(exitus616,3)} Rule Graph: [0->{1,2,3},1->{4,5},2->{9},3->{9},4->{6,7},5->{9},6->{8},7->{4},8->{4,5},9->{10,11,12}] ,We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12] | `- p:[4,7,8,6] c: [4,6,7,8]) + Applied Processor: AbstractSize Minimize + Details: () * Step 6: AbstractFlow WORST_CASE(?,O(n^1)) + Considered Problem: Program: Domain: [A,B,C,0.0] evalspeedpldi2start ~> evalspeedpldi2entryin [A <= A, B <= B, C <= C] evalspeedpldi2entryin ~> evalspeedpldi2bb5in [A <= B, B <= 0*K, C <= A] evalspeedpldi2entryin ~> evalspeedpldi2returnin [A <= A, B <= B, C <= C] evalspeedpldi2entryin ~> evalspeedpldi2returnin [A <= A, B <= B, C <= C] evalspeedpldi2bb5in ~> evalspeedpldi2bb2in [A <= A, B <= B, C <= C] evalspeedpldi2bb5in ~> evalspeedpldi2returnin [A <= A, B <= B, C <= C] evalspeedpldi2bb2in ~> evalspeedpldi2bb3in [A <= A, B <= B, C <= C] evalspeedpldi2bb2in ~> evalspeedpldi2bb5in [A <= A, B <= 0*K, C <= C] evalspeedpldi2bb3in ~> evalspeedpldi2bb5in [A <= A, B <= A, C <= C] evalspeedpldi2returnin ~> evalspeedpldi2stop [A <= A, B <= B, C <= C] evalspeedpldi2stop ~> exitus616 [A <= A, B <= B, C <= C] evalspeedpldi2stop ~> exitus616 [A <= A, B <= B, C <= C] evalspeedpldi2stop ~> exitus616 [A <= A, B <= B, C <= C] + Loop: [0.0 <= K + B + C] evalspeedpldi2bb5in ~> evalspeedpldi2bb2in [A <= A, B <= B, C <= C] evalspeedpldi2bb2in ~> evalspeedpldi2bb5in [A <= A, B <= 0*K, C <= C] evalspeedpldi2bb3in ~> evalspeedpldi2bb5in [A <= A, B <= A, C <= C] evalspeedpldi2bb2in ~> evalspeedpldi2bb3in [A <= A, B <= B, C <= C] + Applied Processor: AbstractFlow + Details: () * Step 7: Lare WORST_CASE(?,O(n^1)) + Considered Problem: Program: Domain: [tick,huge,K,A,B,C,0.0] evalspeedpldi2start ~> evalspeedpldi2entryin [] evalspeedpldi2entryin ~> evalspeedpldi2bb5in [A ~=> C,B ~=> A,K ~=> B] evalspeedpldi2entryin ~> evalspeedpldi2returnin [] evalspeedpldi2entryin ~> evalspeedpldi2returnin [] evalspeedpldi2bb5in ~> evalspeedpldi2bb2in [] evalspeedpldi2bb5in ~> evalspeedpldi2returnin [] evalspeedpldi2bb2in ~> evalspeedpldi2bb3in [] evalspeedpldi2bb2in ~> evalspeedpldi2bb5in [K ~=> B] evalspeedpldi2bb3in ~> evalspeedpldi2bb5in [A ~=> B] evalspeedpldi2returnin ~> evalspeedpldi2stop [] evalspeedpldi2stop ~> exitus616 [] evalspeedpldi2stop ~> exitus616 [] evalspeedpldi2stop ~> exitus616 [] + Loop: [B ~+> 0.0,C ~+> 0.0,K ~+> 0.0] evalspeedpldi2bb5in ~> evalspeedpldi2bb2in [] evalspeedpldi2bb2in ~> evalspeedpldi2bb5in [K ~=> B] evalspeedpldi2bb3in ~> evalspeedpldi2bb5in [A ~=> B] evalspeedpldi2bb2in ~> evalspeedpldi2bb3in [] + Applied Processor: Lare + Details: evalspeedpldi2start ~> exitus616 [A ~=> C ,B ~=> A ,K ~=> B ,A ~+> 0.0 ,A ~+> tick ,tick ~+> tick ,K ~+> 0.0 ,K ~+> tick ,K ~*> 0.0 ,K ~*> tick] + evalspeedpldi2bb5in> [A ~=> B ,K ~=> B ,B ~+> 0.0 ,B ~+> tick ,C ~+> 0.0 ,C ~+> tick ,tick ~+> tick ,K ~+> 0.0 ,K ~+> tick] YES(?,O(n^1))