YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B) -> evalfentryin(A,B) True (1,1) 1. evalfentryin(A,B) -> evalfbb1in(B,A) True (?,1) 2. evalfbb1in(A,B) -> evalfbbin(A,B) [A >= B] (?,1) 3. evalfbb1in(A,B) -> evalfreturnin(A,B) [B >= 1 + A] (?,1) 4. evalfbbin(A,B) -> evalfbb1in(A,1 + B) [A + -1*B >= 0] (?,1) 5. evalfreturnin(A,B) -> evalfstop(A,B) [-1 + -1*A + B >= 0] (?,1) Signature: {(evalfbb1in,2);(evalfbbin,2);(evalfentryin,2);(evalfreturnin,2);(evalfstart,2);(evalfstop,2)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{5},4->{2,3},5->{}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: AddSinks WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B) -> evalfentryin(A,B) True (1,1) 1. evalfentryin(A,B) -> evalfbb1in(B,A) True (1,1) 2. evalfbb1in(A,B) -> evalfbbin(A,B) [A >= B] (?,1) 3. evalfbb1in(A,B) -> evalfreturnin(A,B) [B >= 1 + A] (1,1) 4. evalfbbin(A,B) -> evalfbb1in(A,1 + B) [A + -1*B >= 0] (?,1) 5. evalfreturnin(A,B) -> evalfstop(A,B) [-1 + -1*A + B >= 0] (1,1) Signature: {(evalfbb1in,2);(evalfbbin,2);(evalfentryin,2);(evalfreturnin,2);(evalfstart,2);(evalfstop,2)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{5},4->{2,3},5->{}] + Applied Processor: AddSinks + Details: () * Step 3: LooptreeTransformer WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. evalfstart(A,B) -> evalfentryin(A,B) True (1,1) 1. evalfentryin(A,B) -> evalfbb1in(B,A) True (?,1) 2. evalfbb1in(A,B) -> evalfbbin(A,B) [A >= B] (?,1) 3. evalfbb1in(A,B) -> evalfreturnin(A,B) [B >= 1 + A] (?,1) 4. evalfbbin(A,B) -> evalfbb1in(A,1 + B) [A + -1*B >= 0] (?,1) 5. evalfreturnin(A,B) -> evalfstop(A,B) [-1 + -1*A + B >= 0] (?,1) 6. evalfreturnin(A,B) -> exitus616(A,B) True (?,1) Signature: {(evalfbb1in,2) ;(evalfbbin,2) ;(evalfentryin,2) ;(evalfreturnin,2) ;(evalfstart,2) ;(evalfstop,2) ;(exitus616,2)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{5,6},4->{2,3},5->{},6->{}] + Applied Processor: LooptreeTransformer + Details: We construct a looptree: P: [0,1,2,3,4,5,6] | `- p:[2,4] c: [4] * Step 4: SizeAbstraction WORST_CASE(?,O(n^1)) + Considered Problem: (Rules: 0. evalfstart(A,B) -> evalfentryin(A,B) True (1,1) 1. evalfentryin(A,B) -> evalfbb1in(B,A) True (?,1) 2. evalfbb1in(A,B) -> evalfbbin(A,B) [A >= B] (?,1) 3. evalfbb1in(A,B) -> evalfreturnin(A,B) [B >= 1 + A] (?,1) 4. evalfbbin(A,B) -> evalfbb1in(A,1 + B) [A + -1*B >= 0] (?,1) 5. evalfreturnin(A,B) -> evalfstop(A,B) [-1 + -1*A + B >= 0] (?,1) 6. evalfreturnin(A,B) -> exitus616(A,B) True (?,1) Signature: {(evalfbb1in,2) ;(evalfbbin,2) ;(evalfentryin,2) ;(evalfreturnin,2) ;(evalfstart,2) ;(evalfstop,2) ;(exitus616,2)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{5,6},4->{2,3},5->{},6->{}] ,We construct a looptree: P: [0,1,2,3,4,5,6] | `- p:[2,4] c: [4]) + Applied Processor: SizeAbstraction UseCFG Minimize + Details: () * Step 5: FlowAbstraction WORST_CASE(?,O(n^1)) + Considered Problem: Program: Domain: [A,B,0.0] evalfstart ~> evalfentryin [A <= A, B <= B] evalfentryin ~> evalfbb1in [A <= B, B <= A] evalfbb1in ~> evalfbbin [A <= A, B <= B] evalfbb1in ~> evalfreturnin [A <= A, B <= B] evalfbbin ~> evalfbb1in [A <= A, B <= K + B] evalfreturnin ~> evalfstop [A <= A, B <= B] evalfreturnin ~> exitus616 [A <= A, B <= B] + Loop: [0.0 <= K + A + B] evalfbb1in ~> evalfbbin [A <= A, B <= B] evalfbbin ~> evalfbb1in [A <= A, B <= K + B] + Applied Processor: FlowAbstraction + Details: () * Step 6: LareProcessor WORST_CASE(?,O(n^1)) + Considered Problem: Program: Domain: [tick,huge,K,A,B,0.0] evalfstart ~> evalfentryin [] evalfentryin ~> evalfbb1in [A ~=> B,B ~=> A] evalfbb1in ~> evalfbbin [] evalfbb1in ~> evalfreturnin [] evalfbbin ~> evalfbb1in [B ~+> B,K ~+> B] evalfreturnin ~> evalfstop [] evalfreturnin ~> exitus616 [] + Loop: [A ~+> 0.0,B ~+> 0.0,K ~+> 0.0] evalfbb1in ~> evalfbbin [] evalfbbin ~> evalfbb1in [B ~+> B,K ~+> B] + Applied Processor: LareProcessor + Details: evalfstart ~> exitus616 [A ~=> B ,B ~=> A ,A ~+> B ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~+> B ,K ~+> 0.0 ,K ~+> tick ,A ~*> B ,B ~*> B ,K ~*> B] evalfstart ~> evalfstop [A ~=> B ,B ~=> A ,A ~+> B ,A ~+> 0.0 ,A ~+> tick ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~+> B ,K ~+> 0.0 ,K ~+> tick ,A ~*> B ,B ~*> B ,K ~*> B] + evalfbb1in> [A ~+> 0.0 ,A ~+> tick ,B ~+> B ,B ~+> 0.0 ,B ~+> tick ,tick ~+> tick ,K ~+> B ,K ~+> 0.0 ,K ~+> tick ,A ~*> B ,B ~*> B ,K ~*> B] YES(?,O(n^1))