Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f0 -> f6 : A'=8, B'=0, C'=14, D'=-1, [], cost: 1 3: f6 -> f6 : C'=-1+B, D'=free_4, E'=free_3, [ C>=B ], cost: 1 1: f6 -> f12 : E'=free, [ C>=B && A>=1+free_1 ], cost: 1 2: f6 -> f12 : E'=free_2, [ C>=B ], cost: 1 6: f6 -> f20 : F'=D, G'=D, [ B>=1+C ], cost: 1 4: f12 -> f6 : C'=-1+E, [], cost: 1 5: f12 -> f6 : B'=1+E, [], cost: 1 Simplified the transitions: Start location: f0 0: f0 -> f6 : A'=8, B'=0, C'=14, D'=-1, [], cost: 1 3: f6 -> f6 : C'=-1+B, D'=free_4, E'=free_3, [ C>=B ], cost: 1 1: f6 -> f12 : E'=free, [ C>=B ], cost: 1 2: f6 -> f12 : E'=free_2, [ C>=B ], cost: 1 4: f12 -> f6 : C'=-1+E, [], cost: 1 5: f12 -> f6 : B'=1+E, [], cost: 1 Eliminating 1 self-loops for location f6 Removing the self-loops: 3. Adding an epsilon transition (to model nonexecution of the loops): 8. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f0 -> f6 : A'=8, B'=0, C'=14, D'=-1, [], cost: 1 7: f6 -> [4] : C'=-1+B, D'=free_4, E'=free_3, [ C>=B ], cost: 1 8: f6 -> [4] : [], cost: 0 4: f12 -> f6 : C'=-1+E, [], cost: 1 5: f12 -> f6 : B'=1+E, [], cost: 1 1: [4] -> f12 : E'=free, [ C>=B ], cost: 1 2: [4] -> f12 : E'=free_2, [ C>=B ], cost: 1 Applied chaining over branches and pruning: Start location: f0 0: f0 -> f6 : A'=8, B'=0, C'=14, D'=-1, [], cost: 1 9: f6 -> f12 : E'=free, [ C>=B ], cost: 1 10: f6 -> f12 : E'=free_2, [ C>=B ], cost: 1 4: f12 -> f6 : C'=-1+E, [], cost: 1 5: f12 -> f6 : B'=1+E, [], cost: 1 Applied chaining over branches and pruning: Start location: f0 0: f0 -> f6 : A'=8, B'=0, C'=14, D'=-1, [], cost: 1 11: f6 -> f6 : C'=-1+free, E'=free, [ C>=B ], cost: 2 12: f6 -> f6 : B'=1+free, E'=free, [ C>=B ], cost: 2 13: f6 -> f6 : C'=-1+free_2, E'=free_2, [ C>=B ], cost: 2 14: f6 -> f6 : B'=1+free_2, E'=free_2, [ C>=B ], cost: 2 Eliminating 4 self-loops for location f6 Removing the self-loops: 11 12 13 14. Adding an epsilon transition (to model nonexecution of the loops): 19. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f0 -> f6 : A'=8, B'=0, C'=14, D'=-1, [], cost: 1 15: f6 -> [5] : C'=-1+free, E'=free, [ C>=B ], cost: 2 16: f6 -> [5] : B'=1+free, E'=free, [ C>=B ], cost: 2 17: f6 -> [5] : C'=-1+free_2, E'=free_2, [ C>=B ], cost: 2 18: f6 -> [5] : B'=1+free_2, E'=free_2, [ C>=B ], cost: 2 19: f6 -> [5] : [], cost: 0 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),?)