Trying to load file: main.koat Initial Control flow graph problem: Start location: start 0: eval1 -> eval2 : [ A>=1 && B>=1 && A>=1+B ], cost: 1 1: eval1 -> eval3 : [ A>=1 && B>=1 && B>=A ], cost: 1 3: eval2 -> eval1 : [ 0>=A ], cost: 1 2: eval2 -> eval2 : A'=-1+A, [ A>=1 ], cost: 1 5: eval3 -> eval1 : [ 0>=B ], cost: 1 4: eval3 -> eval3 : B'=-1+B, [ B>=1 ], cost: 1 6: start -> eval1 : [], cost: 1 Eliminating 1 self-loops for location eval2 Self-Loop 2 has the metering function: A, resulting in the new transition 7. Removing the self-loops: 2. Eliminating 1 self-loops for location eval3 Self-Loop 4 has the metering function: B, resulting in the new transition 8. Removing the self-loops: 4. Removed all Self-loops using metering functions (where possible): Start location: start 0: eval1 -> eval2 : [ A>=1 && B>=1 && A>=1+B ], cost: 1 1: eval1 -> eval3 : [ A>=1 && B>=1 && B>=A ], cost: 1 7: eval2 -> [4] : A'=0, [ A>=1 ], cost: A 8: eval3 -> [5] : B'=0, [ B>=1 ], cost: B 6: start -> eval1 : [], cost: 1 3: [4] -> eval1 : [ 0>=A ], cost: 1 5: [5] -> eval1 : [ 0>=B ], cost: 1 Applied simple chaining: Start location: start 0: eval1 -> eval1 : A'=0, [ A>=1 && B>=1 && A>=1+B && A>=1 && 0>=0 ], cost: 2+A 1: eval1 -> eval1 : B'=0, [ A>=1 && B>=1 && B>=A && B>=1 && 0>=0 ], cost: 2+B 6: start -> eval1 : [], cost: 1 Eliminating 2 self-loops for location eval1 Removing the self-loops: 0 1. Adding an epsilon transition (to model nonexecution of the loops): 11. Removed all Self-loops using metering functions (where possible): Start location: start 9: eval1 -> [6] : A'=0, [ A>=1 && B>=1 && A>=1+B ], cost: 2+A 10: eval1 -> [6] : B'=0, [ A>=1 && B>=1 && B>=A ], cost: 2+B 11: eval1 -> [6] : [], cost: 0 6: start -> eval1 : [], cost: 1 Applied chaining over branches and pruning: Start location: start 12: start -> [6] : A'=0, [ A>=1 && B>=1 && A>=1+B ], cost: 3+A 13: start -> [6] : B'=0, [ A>=1 && B>=1 && B>=A ], cost: 3+B Final control flow graph problem, now checking costs for infinitely many models: Start location: start 12: start -> [6] : A'=0, [ A>=1 && B>=1 && A>=1+B ], cost: 3+A 13: start -> [6] : B'=0, [ A>=1 && B>=1 && B>=A ], cost: 3+B Computing complexity for remaining 2 transitions. Found configuration with infinitely models for cost: 3+A and guard: A>=1 && B>=1 && A>=1+B: B: Pos, A: Pos, where: A > B Found new complexity n^1, because: Found infinity configuration. The final runtime is determined by this resulting transition: Final Guard: A>=1 && B>=1 && A>=1+B Final Cost: 3+A Obtained the following complexity w.r.t. the length of the input n: Complexity class: n^1 Complexity value: 1 WORST_CASE(Omega(n^1),?)