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