Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f0 -> f5 : A'=0, [], cost: 1 1: f5 -> f5 : A'=1+A, [ 99>=A ], cost: 1 13: f5 -> f17 : B'=-2+A, D'=-2+A, [ 0>=1+A && A>=100 ], cost: 1 12: f5 -> f13 : D'=-2+A, [ A>=100 ], cost: 1 2: f17 -> f17 : [], cost: 1 3: f17 -> f17 : B'=1+B, [ 0>=1+free ], cost: 1 4: f17 -> f17 : B'=1+B, [], cost: 1 9: f17 -> f32 : C'=B, D'=B, F'=B, G'=free_2, [ 0>=1+free_3 ], cost: 1 10: f17 -> f32 : C'=B, D'=B, F'=B, G'=free_4, [], cost: 1 11: f17 -> f13 : D'=B, F'=B, G'=free_5, [], cost: 1 5: f32 -> f32 : [], cost: 1 6: f32 -> f32 : C'=1+C, [ 0>=1+free_1 ], cost: 1 7: f32 -> f32 : C'=1+C, [], cost: 1 8: f32 -> f13 : D'=C, E'=C, [], cost: 1 Removing duplicate transition: 3. Removing duplicate transition: 6. Simplified the transitions: Start location: f0 0: f0 -> f5 : A'=0, [], cost: 1 1: f5 -> f5 : A'=1+A, [ 99>=A ], cost: 1 13: f5 -> f17 : B'=-2+A, D'=-2+A, [ 0>=1+A && A>=100 ], cost: 1 2: f17 -> f17 : [], cost: 1 4: f17 -> f17 : B'=1+B, [], cost: 1 9: f17 -> f32 : C'=B, D'=B, F'=B, G'=free_2, [], cost: 1 10: f17 -> f32 : C'=B, D'=B, F'=B, G'=free_4, [], cost: 1 5: f32 -> f32 : [], cost: 1 7: f32 -> f32 : C'=1+C, [], cost: 1 Eliminating 1 self-loops for location f5 Self-Loop 1 has the metering function: 100-A, resulting in the new transition 14. Removing the self-loops: 1. Eliminating 2 self-loops for location f17 Self-Loop 2 has unbounded runtime, resulting in the new transition 15. Self-Loop 4 has unbounded runtime, resulting in the new transition 16. Removing the self-loops: 2 4. Removing duplicate transition: 15. Eliminating 2 self-loops for location f32 Self-Loop 5 has unbounded runtime, resulting in the new transition 17. Self-Loop 7 has unbounded runtime, resulting in the new transition 18. Removing the self-loops: 5 7. Removing duplicate transition: 17. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f0 -> f5 : A'=0, [], cost: 1 14: f5 -> [5] : A'=100, [ 99>=A ], cost: 100-A 16: f17 -> [6] : [], cost: INF 18: f32 -> [7] : [], cost: INF 13: [5] -> f17 : B'=-2+A, D'=-2+A, [ 0>=1+A && A>=100 ], cost: 1 9: [6] -> f32 : C'=B, D'=B, F'=B, G'=free_2, [], cost: 1 10: [6] -> f32 : C'=B, D'=B, F'=B, G'=free_4, [], cost: 1 Applied simple chaining: Start location: f0 0: f0 -> [5] : A'=100, [ 99>=0 ], cost: 101 16: f17 -> [6] : [], cost: INF 18: f32 -> [7] : [], cost: INF 13: [5] -> f17 : B'=-2+A, D'=-2+A, [ 0>=1+A && A>=100 ], cost: 1 9: [6] -> f32 : C'=B, D'=B, F'=B, G'=free_2, [], cost: 1 10: [6] -> f32 : C'=B, D'=B, F'=B, G'=free_4, [], cost: 1 Applied chaining over branches and pruning: Start location: f0 Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 Computing complexity for remaining 0 transitions. The final runtime is determined by this resulting transition: Final Guard: Final Cost: 1 Obtained the following complexity w.r.t. the length of the input n: Complexity class: const Complexity value: 0 WORST_CASE(Omega(1),?)