YES(?,O(n^1)) * Step 1: TrivialSCCs WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (?,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4},1->{},2->{1,2,3,4},3->{1,2,3,4},4->{1,2,3,4}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (1,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4},1->{},2->{1,2,3,4},3->{1,2,3,4},4->{1,2,3,4}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(2,3),(3,2),(3,4),(4,1),(4,2),(4,4)] * Step 3: AddSinks WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (1,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4},1->{},2->{1,2,4},3->{1,3},4->{3}] + Applied Processor: AddSinks + Details: () * Step 4: UnsatPaths WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (?,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) 5. f300(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(exitus616,3);(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4,5},1->{},2->{1,2,3,4,5},3->{1,2,3,4,5},4->{1,2,3,4,5},5->{}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(2,3),(3,2),(3,4),(4,1),(4,2),(4,4)] * Step 5: LooptreeTransformer WORST_CASE(?,O(n^1)) + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (?,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) 5. f300(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(exitus616,3);(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4,5},1->{},2->{1,2,4,5},3->{1,3,5},4->{3,5},5->{}] + Applied Processor: LooptreeTransformer + Details: We construct a looptree: P: [0,1,2,3,4,5] | +- p:[2] c: [2] | `- p:[3] c: [3] * Step 6: SizeAbstraction WORST_CASE(?,O(n^1)) + Considered Problem: (Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (?,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) 5. f300(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(exitus616,3);(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4,5},1->{},2->{1,2,4,5},3->{1,3,5},4->{3,5},5->{}] ,We construct a looptree: P: [0,1,2,3,4,5] | +- p:[2] c: [2] | `- p:[3] c: [3]) + Applied Processor: SizeAbstraction UseCFG Minimize + Details: () * Step 7: FlowAbstraction WORST_CASE(?,O(n^1)) + Considered Problem: Program: Domain: [A,B,C,0.0,0.1] f2 ~> f300 [A <= A, B <= B, C <= C] f300 ~> f1 [A <= A, B <= B, C <= unknown] f300 ~> f300 [A <= A, B <= B, C <= C] f300 ~> f300 [A <= A, B <= K + B, C <= C] f300 ~> f300 [A <= 99*K + A, B <= 0*K, C <= C] f300 ~> exitus616 [A <= A, B <= B, C <= C] + Loop: [0.0 <= B] f300 ~> f300 [A <= A, B <= B, C <= C] + Loop: [0.1 <= A] f300 ~> f300 [A <= A, B <= K + B, C <= C] + Applied Processor: FlowAbstraction + Details: () * Step 8: LareProcessor WORST_CASE(?,O(n^1)) + Considered Problem: Program: Domain: [tick,huge,K,A,B,C,0.0,0.1] f2 ~> f300 [] f300 ~> f1 [huge ~=> C] f300 ~> f300 [] f300 ~> f300 [B ~+> B,K ~+> B] f300 ~> f300 [K ~=> B,A ~+> A,K ~*> A] f300 ~> exitus616 [] + Loop: [B ~=> 0.0] f300 ~> f300 [] + Loop: [A ~=> 0.1] f300 ~> f300 [B ~+> B,K ~+> B] + Applied Processor: LareProcessor + Details: f2 ~> exitus616 [A ~=> 0.1 ,B ~=> 0.0 ,K ~=> B ,A ~+> A ,A ~+> tick ,B ~+> B ,B ~+> tick ,tick ~+> tick ,K ~+> B ,A ~*> B ,K ~*> A ,K ~*> B] f2 ~> f1 [A ~=> 0.1 ,B ~=> 0.0 ,K ~=> B ,huge ~=> C ,A ~+> A ,A ~+> tick ,B ~+> B ,B ~+> tick ,tick ~+> tick ,K ~+> B ,A ~*> B ,K ~*> A ,K ~*> B] + f300> [B ~=> 0.0,B ~+> tick,tick ~+> tick] + f300> [A ~=> 0.1,A ~+> tick,B ~+> B,tick ~+> tick,K ~+> B,A ~*> B,K ~*> B] YES(?,O(n^1))