Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f9 -> f14 : B'=0, C'=free, [ 0>=A ], cost: 1 5: f9 -> f22 : [ A>=1 ], cost: 1 4: f14 -> f9 : A'=free_1, D'=0, [ 0>=C ], cost: 1 1: f14 -> f14 : C'=-1+C, [ C>=1 ], cost: 1 2: f22 -> f22 : [], cost: 1 3: f24 -> f27 : [], cost: 1 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 Simplified the transitions: Start location: f0 0: f9 -> f14 : B'=0, C'=free, [ 0>=A ], cost: 1 5: f9 -> f22 : [ A>=1 ], cost: 1 4: f14 -> f9 : A'=free_1, D'=0, [ 0>=C ], cost: 1 1: f14 -> f14 : C'=-1+C, [ C>=1 ], cost: 1 2: f22 -> f22 : [], cost: 1 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 Eliminating 1 self-loops for location f14 Self-Loop 1 has the metering function: C, resulting in the new transition 7. Removing the self-loops: 1. Eliminating 1 self-loops for location f22 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 -> f14 : B'=0, C'=free, [ 0>=A ], cost: 1 5: f9 -> f22 : [ A>=1 ], cost: 1 7: f14 -> [6] : C'=0, [ C>=1 ], cost: C 8: f22 -> [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 -> f9 : A'=free_1, B'=0, C'=0, D'=0, [ 0>=A && free>=1 && 0>=0 ], cost: 2+free 5: f9 -> [7] : [ A>=1 ], cost: INF 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 Eliminating 1 self-loops for location f9 Removing the self-loops: 0. Adding an epsilon transition (to model nonexecution of the loops): 10. Removed all Self-loops using metering functions (where possible): Start location: f0 9: f9 -> [8] : A'=free_1, B'=0, C'=0, D'=0, [ 0>=A && free>=1 ], cost: 2+free 10: f9 -> [8] : [], cost: 0 6: f0 -> f9 : A'=free_2, B'=0, D'=0, [], cost: 1 5: [8] -> [7] : [ A>=1 ], cost: INF Applied chaining over branches and pruning: Start location: f0 11: f0 -> [8] : A'=free_1, B'=0, C'=0, D'=0, [ 0>=free_2 && free>=1 ], cost: 3+free 12: f0 -> [8] : A'=free_2, B'=0, D'=0, [], cost: 1 5: [8] -> [7] : [ A>=1 ], cost: INF Applied chaining over branches and pruning: Start location: f0 13: f0 -> [7] : A'=free_1, B'=0, C'=0, D'=0, [ 0>=free_2 && free>=1 && free_1>=1 ], cost: INF 14: f0 -> [7] : A'=free_2, B'=0, D'=0, [ free_2>=1 ], cost: INF Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 13: f0 -> [7] : A'=free_1, B'=0, C'=0, D'=0, [ 0>=free_2 && free>=1 && free_1>=1 ], cost: INF 14: f0 -> [7] : A'=free_2, B'=0, D'=0, [ free_2>=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: 0>=free_2 && free>=1 && free_1>=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,?)