YES(?,POLY) * Step 1: TrivialSCCs WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalsipmabubblestart(A,B) -> evalsipmabubbleentryin(A,B) True (1,1) 1. evalsipmabubbleentryin(A,B) -> evalsipmabubblebb6in(A,B) True (?,1) 2. evalsipmabubblebb6in(A,B) -> evalsipmabubblebb4in(A,0) [A >= 0] (?,1) 3. evalsipmabubblebb6in(A,B) -> evalsipmabubblereturnin(A,B) [0 >= 1 + A] (?,1) 4. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb1in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && A >= 1 + B] (?,1) 5. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb5in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && B >= A] (?,1) 6. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb2in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1 + D] (?,1) 7. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && D >= C] (?,1) 8. evalsipmabubblebb2in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 9. evalsipmabubblebb3in(A,B) -> evalsipmabubblebb4in(A,1 + B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 10. evalsipmabubblebb5in(A,B) -> evalsipmabubblebb6in(-1 + A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && -1*A + B >= 0 && A >= 0] (?,1) 11. evalsipmabubblereturnin(A,B) -> evalsipmabubblestop(A,B) [-1 + -1*A >= 0] (?,1) Signature: {(evalsipmabubblebb1in,2) ;(evalsipmabubblebb2in,2) ;(evalsipmabubblebb3in,2) ;(evalsipmabubblebb4in,2) ;(evalsipmabubblebb5in,2) ;(evalsipmabubblebb6in,2) ;(evalsipmabubbleentryin,2) ;(evalsipmabubblereturnin,2) ;(evalsipmabubblestart,2) ;(evalsipmabubblestop,2)} Flow Graph: [0->{1},1->{2,3},2->{4,5},3->{11},4->{6,7},5->{10},6->{8},7->{9},8->{9},9->{4,5},10->{2,3},11->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: AddSinks WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalsipmabubblestart(A,B) -> evalsipmabubbleentryin(A,B) True (1,1) 1. evalsipmabubbleentryin(A,B) -> evalsipmabubblebb6in(A,B) True (1,1) 2. evalsipmabubblebb6in(A,B) -> evalsipmabubblebb4in(A,0) [A >= 0] (?,1) 3. evalsipmabubblebb6in(A,B) -> evalsipmabubblereturnin(A,B) [0 >= 1 + A] (1,1) 4. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb1in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && A >= 1 + B] (?,1) 5. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb5in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && B >= A] (?,1) 6. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb2in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1 + D] (?,1) 7. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && D >= C] (?,1) 8. evalsipmabubblebb2in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 9. evalsipmabubblebb3in(A,B) -> evalsipmabubblebb4in(A,1 + B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 10. evalsipmabubblebb5in(A,B) -> evalsipmabubblebb6in(-1 + A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && -1*A + B >= 0 && A >= 0] (?,1) 11. evalsipmabubblereturnin(A,B) -> evalsipmabubblestop(A,B) [-1 + -1*A >= 0] (1,1) Signature: {(evalsipmabubblebb1in,2) ;(evalsipmabubblebb2in,2) ;(evalsipmabubblebb3in,2) ;(evalsipmabubblebb4in,2) ;(evalsipmabubblebb5in,2) ;(evalsipmabubblebb6in,2) ;(evalsipmabubbleentryin,2) ;(evalsipmabubblereturnin,2) ;(evalsipmabubblestart,2) ;(evalsipmabubblestop,2)} Flow Graph: [0->{1},1->{2,3},2->{4,5},3->{11},4->{6,7},5->{10},6->{8},7->{9},8->{9},9->{4,5},10->{2,3},11->{}] + Applied Processor: AddSinks + Details: () * Step 3: LooptreeTransformer WORST_CASE(?,POLY) + Considered Problem: Rules: 0. evalsipmabubblestart(A,B) -> evalsipmabubbleentryin(A,B) True (1,1) 1. evalsipmabubbleentryin(A,B) -> evalsipmabubblebb6in(A,B) True (?,1) 2. evalsipmabubblebb6in(A,B) -> evalsipmabubblebb4in(A,0) [A >= 0] (?,1) 3. evalsipmabubblebb6in(A,B) -> evalsipmabubblereturnin(A,B) [0 >= 1 + A] (?,1) 4. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb1in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && A >= 1 + B] (?,1) 5. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb5in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && B >= A] (?,1) 6. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb2in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1 + D] (?,1) 7. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && D >= C] (?,1) 8. evalsipmabubblebb2in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 9. evalsipmabubblebb3in(A,B) -> evalsipmabubblebb4in(A,1 + B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 10. evalsipmabubblebb5in(A,B) -> evalsipmabubblebb6in(-1 + A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && -1*A + B >= 0 && A >= 0] (?,1) 11. evalsipmabubblereturnin(A,B) -> evalsipmabubblestop(A,B) [-1 + -1*A >= 0] (?,1) 12. evalsipmabubblereturnin(A,B) -> exitus616(A,B) True (?,1) Signature: {(evalsipmabubblebb1in,2) ;(evalsipmabubblebb2in,2) ;(evalsipmabubblebb3in,2) ;(evalsipmabubblebb4in,2) ;(evalsipmabubblebb5in,2) ;(evalsipmabubblebb6in,2) ;(evalsipmabubbleentryin,2) ;(evalsipmabubblereturnin,2) ;(evalsipmabubblestart,2) ;(evalsipmabubblestop,2) ;(exitus616,2)} Flow Graph: [0->{1},1->{2,3},2->{4,5},3->{11,12},4->{6,7},5->{10},6->{8},7->{9},8->{9},9->{4,5},10->{2,3},11->{} ,12->{}] + Applied Processor: LooptreeTransformer + Details: We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12] | `- p:[2,10,5,9,7,4,8,6] c: [10] | `- p:[4,9,7,8,6] c: [9] * Step 4: SizeAbstraction WORST_CASE(?,POLY) + Considered Problem: (Rules: 0. evalsipmabubblestart(A,B) -> evalsipmabubbleentryin(A,B) True (1,1) 1. evalsipmabubbleentryin(A,B) -> evalsipmabubblebb6in(A,B) True (?,1) 2. evalsipmabubblebb6in(A,B) -> evalsipmabubblebb4in(A,0) [A >= 0] (?,1) 3. evalsipmabubblebb6in(A,B) -> evalsipmabubblereturnin(A,B) [0 >= 1 + A] (?,1) 4. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb1in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && A >= 1 + B] (?,1) 5. evalsipmabubblebb4in(A,B) -> evalsipmabubblebb5in(A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && A >= 0 && B >= A] (?,1) 6. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb2in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && C >= 1 + D] (?,1) 7. evalsipmabubblebb1in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0 && D >= C] (?,1) 8. evalsipmabubblebb2in(A,B) -> evalsipmabubblebb3in(A,B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 9. evalsipmabubblebb3in(A,B) -> evalsipmabubblebb4in(A,1 + B) [-1 + A + -1*B >= 0 && B >= 0 && -1 + A + B >= 0 && -1 + A >= 0] (?,1) 10. evalsipmabubblebb5in(A,B) -> evalsipmabubblebb6in(-1 + A,B) [A + -1*B >= 0 && B >= 0 && A + B >= 0 && -1*A + B >= 0 && A >= 0] (?,1) 11. evalsipmabubblereturnin(A,B) -> evalsipmabubblestop(A,B) [-1 + -1*A >= 0] (?,1) 12. evalsipmabubblereturnin(A,B) -> exitus616(A,B) True (?,1) Signature: {(evalsipmabubblebb1in,2) ;(evalsipmabubblebb2in,2) ;(evalsipmabubblebb3in,2) ;(evalsipmabubblebb4in,2) ;(evalsipmabubblebb5in,2) ;(evalsipmabubblebb6in,2) ;(evalsipmabubbleentryin,2) ;(evalsipmabubblereturnin,2) ;(evalsipmabubblestart,2) ;(evalsipmabubblestop,2) ;(exitus616,2)} Flow Graph: [0->{1},1->{2,3},2->{4,5},3->{11,12},4->{6,7},5->{10},6->{8},7->{9},8->{9},9->{4,5},10->{2,3},11->{} ,12->{}] ,We construct a looptree: P: [0,1,2,3,4,5,6,7,8,9,10,11,12] | `- p:[2,10,5,9,7,4,8,6] c: [10] | `- p:[4,9,7,8,6] c: [9]) + Applied Processor: SizeAbstraction UseCFG Minimize + Details: () * Step 5: FlowAbstraction WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [A,B,0.0,0.0.0] evalsipmabubblestart ~> evalsipmabubbleentryin [A <= A, B <= B] evalsipmabubbleentryin ~> evalsipmabubblebb6in [A <= A, B <= B] evalsipmabubblebb6in ~> evalsipmabubblebb4in [A <= A, B <= 0*K] evalsipmabubblebb6in ~> evalsipmabubblereturnin [A <= A, B <= B] evalsipmabubblebb4in ~> evalsipmabubblebb1in [A <= A, B <= B] evalsipmabubblebb4in ~> evalsipmabubblebb5in [A <= A, B <= B] evalsipmabubblebb1in ~> evalsipmabubblebb2in [A <= A, B <= B] evalsipmabubblebb1in ~> evalsipmabubblebb3in [A <= A, B <= B] evalsipmabubblebb2in ~> evalsipmabubblebb3in [A <= A, B <= B] evalsipmabubblebb3in ~> evalsipmabubblebb4in [A <= A, B <= A] evalsipmabubblebb5in ~> evalsipmabubblebb6in [A <= K + B, B <= B] evalsipmabubblereturnin ~> evalsipmabubblestop [A <= A, B <= B] evalsipmabubblereturnin ~> exitus616 [A <= A, B <= B] + Loop: [0.0 <= K + A] evalsipmabubblebb6in ~> evalsipmabubblebb4in [A <= A, B <= 0*K] evalsipmabubblebb5in ~> evalsipmabubblebb6in [A <= K + B, B <= B] evalsipmabubblebb4in ~> evalsipmabubblebb5in [A <= A, B <= B] evalsipmabubblebb3in ~> evalsipmabubblebb4in [A <= A, B <= A] evalsipmabubblebb1in ~> evalsipmabubblebb3in [A <= A, B <= B] evalsipmabubblebb4in ~> evalsipmabubblebb1in [A <= A, B <= B] evalsipmabubblebb2in ~> evalsipmabubblebb3in [A <= A, B <= B] evalsipmabubblebb1in ~> evalsipmabubblebb2in [A <= A, B <= B] + Loop: [0.0.0 <= A + B] evalsipmabubblebb4in ~> evalsipmabubblebb1in [A <= A, B <= B] evalsipmabubblebb3in ~> evalsipmabubblebb4in [A <= A, B <= A] evalsipmabubblebb1in ~> evalsipmabubblebb3in [A <= A, B <= B] evalsipmabubblebb2in ~> evalsipmabubblebb3in [A <= A, B <= B] evalsipmabubblebb1in ~> evalsipmabubblebb2in [A <= A, B <= B] + Applied Processor: FlowAbstraction + Details: () * Step 6: LareProcessor WORST_CASE(?,POLY) + Considered Problem: Program: Domain: [tick,huge,K,A,B,0.0,0.0.0] evalsipmabubblestart ~> evalsipmabubbleentryin [] evalsipmabubbleentryin ~> evalsipmabubblebb6in [] evalsipmabubblebb6in ~> evalsipmabubblebb4in [K ~=> B] evalsipmabubblebb6in ~> evalsipmabubblereturnin [] evalsipmabubblebb4in ~> evalsipmabubblebb1in [] evalsipmabubblebb4in ~> evalsipmabubblebb5in [] evalsipmabubblebb1in ~> evalsipmabubblebb2in [] evalsipmabubblebb1in ~> evalsipmabubblebb3in [] evalsipmabubblebb2in ~> evalsipmabubblebb3in [] evalsipmabubblebb3in ~> evalsipmabubblebb4in [A ~=> B] evalsipmabubblebb5in ~> evalsipmabubblebb6in [B ~+> A,K ~+> A] evalsipmabubblereturnin ~> evalsipmabubblestop [] evalsipmabubblereturnin ~> exitus616 [] + Loop: [A ~+> 0.0,K ~+> 0.0] evalsipmabubblebb6in ~> evalsipmabubblebb4in [K ~=> B] evalsipmabubblebb5in ~> evalsipmabubblebb6in [B ~+> A,K ~+> A] evalsipmabubblebb4in ~> evalsipmabubblebb5in [] evalsipmabubblebb3in ~> evalsipmabubblebb4in [A ~=> B] evalsipmabubblebb1in ~> evalsipmabubblebb3in [] evalsipmabubblebb4in ~> evalsipmabubblebb1in [] evalsipmabubblebb2in ~> evalsipmabubblebb3in [] evalsipmabubblebb1in ~> evalsipmabubblebb2in [] + Loop: [A ~+> 0.0.0,B ~+> 0.0.0] evalsipmabubblebb4in ~> evalsipmabubblebb1in [] evalsipmabubblebb3in ~> evalsipmabubblebb4in [A ~=> B] evalsipmabubblebb1in ~> evalsipmabubblebb3in [] evalsipmabubblebb2in ~> evalsipmabubblebb3in [] evalsipmabubblebb1in ~> evalsipmabubblebb2in [] + Applied Processor: LareProcessor + Details: evalsipmabubblestart ~> exitus616 [A ~=> B ,K ~=> B ,A ~+> A ,A ~+> B ,A ~+> 0.0 ,A ~+> 0.0.0 ,A ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> B ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> 0.0.0 ,A ~*> tick ,K ~*> A ,K ~*> B ,K ~*> 0.0.0 ,K ~*> tick] evalsipmabubblestart ~> evalsipmabubblestop [A ~=> B ,K ~=> B ,A ~+> A ,A ~+> B ,A ~+> 0.0 ,A ~+> 0.0.0 ,A ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> B ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> 0.0.0 ,A ~*> tick ,K ~*> A ,K ~*> B ,K ~*> 0.0.0 ,K ~*> tick] + evalsipmabubblebb6in> [A ~=> B ,K ~=> B ,A ~+> A ,A ~+> B ,A ~+> 0.0 ,A ~+> 0.0.0 ,A ~+> tick ,tick ~+> tick ,K ~+> A ,K ~+> B ,K ~+> 0.0 ,K ~+> 0.0.0 ,K ~+> tick ,A ~*> A ,A ~*> 0.0.0 ,A ~*> tick ,K ~*> A ,K ~*> B ,K ~*> 0.0.0 ,K ~*> tick] + evalsipmabubblebb4in> [A ~=> B ,A ~+> 0.0.0 ,A ~+> tick ,B ~+> 0.0.0 ,B ~+> tick ,tick ~+> tick] YES(?,POLY)