Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f9 -> f15 : B'=0, C'=free, [ 0>=A && free>=1 ], cost: 1 5: f9 -> f23 : [ A>=1 ], cost: 1 4: f15 -> f9 : A'=free_1, D'=0, [ 0>=C ], cost: 1 1: f15 -> f15 : [ C>=1 ], cost: 1 2: f23 -> f23 : [], cost: 1 3: f25 -> f28 : [], cost: 1 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 Simplified the transitions: Start location: f0 0: f9 -> f15 : B'=0, C'=free, [ 0>=A && free>=1 ], cost: 1 5: f9 -> f23 : [ A>=1 ], cost: 1 4: f15 -> f9 : A'=free_1, D'=0, [ 0>=C ], cost: 1 1: f15 -> f15 : [ C>=1 ], cost: 1 2: f23 -> f23 : [], cost: 1 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 Eliminating 1 self-loops for location f15 Self-Loop 1 has unbounded runtime, resulting in the new transition 7. Removing the self-loops: 1. Eliminating 1 self-loops for location f23 Self-Loop 2 has unbounded runtime, resulting in the new transition 8. Removing the self-loops: 2. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f9 -> f15 : B'=0, C'=free, [ 0>=A && free>=1 ], cost: 1 5: f9 -> f23 : [ A>=1 ], cost: 1 7: f15 -> [6] : [ C>=1 ], cost: INF 8: f23 -> [7] : [], cost: INF 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 4: [6] -> f9 : A'=free_1, D'=0, [ 0>=C ], cost: 1 Applied simple chaining: Start location: f0 0: f9 -> [6] : B'=0, C'=free, [ 0>=A && free>=1 && free>=1 ], cost: INF 5: f9 -> [7] : [ A>=1 ], cost: INF 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 4: [6] -> f9 : A'=free_1, D'=0, [ 0>=C ], cost: 1 Applied chaining over branches and pruning: Start location: f0 5: f9 -> [7] : [ A>=1 ], cost: INF 9: f9 -> [8] : B'=0, C'=free, [ 0>=A && free>=1 && free>=1 ], cost: INF 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 Applied chaining over branches and pruning: Start location: f0 10: f0 -> [7] : A'=free_2, B'=0, D'=0, [ free_2>=1 ], cost: INF 11: f0 -> [8] : A'=free_2, B'=0, C'=free, D'=0, [ 0>=free_2 && free>=1 && free>=1 ], cost: INF Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 10: f0 -> [7] : A'=free_2, B'=0, D'=0, [ free_2>=1 ], cost: INF 11: f0 -> [8] : A'=free_2, B'=0, C'=free, D'=0, [ 0>=free_2 && free>=1 && free>=1 ], cost: INF Computing complexity for remaining 2 transitions. Found new complexity INF, because: INF sat. The final runtime is determined by this resulting transition: Final Guard: free_2>=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,?)