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