Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f16 -> f19 : B'=0, [ 19>=A ], cost: 1 13: f16 -> f33 : C'=0, [ A>=20 ], cost: 1 12: f19 -> f16 : A'=1+A, [ B>=20 ], cost: 1 11: f19 -> f19 : B'=1+B, H'=free_1, J'=free_1, [ 19>=B ], cost: 1 1: f33 -> f36 : D'=0, [ 19>=C ], cost: 1 10: f33 -> f52 : E'=0, [ C>=20 ], cost: 1 9: f36 -> f33 : C'=1+C, [ D>=20 ], cost: 1 8: f36 -> f36 : D'=1+D, H'=free, Q'=free, [ 19>=D ], cost: 1 2: f52 -> f55 : F'=0, [ 19>=E ], cost: 1 7: f52 -> f73 : [ E>=20 ], cost: 1 6: f55 -> f52 : E'=1+E, [ F>=20 ], cost: 1 3: f55 -> f59 : G'=0, [ 19>=F ], cost: 1 5: f59 -> f55 : F'=1+F, [ G>=20 ], cost: 1 4: f59 -> f59 : G'=1+G, [ 19>=G ], cost: 1 14: f0 -> f16 : A'=0, H'=0, [], cost: 1 Simplified the transitions: Start location: f0 0: f16 -> f19 : B'=0, [ 19>=A ], cost: 1 13: f16 -> f33 : C'=0, [ A>=20 ], cost: 1 12: f19 -> f16 : A'=1+A, [ B>=20 ], cost: 1 11: f19 -> f19 : B'=1+B, H'=free_1, J'=free_1, [ 19>=B ], cost: 1 1: f33 -> f36 : D'=0, [ 19>=C ], cost: 1 10: f33 -> f52 : E'=0, [ C>=20 ], cost: 1 9: f36 -> f33 : C'=1+C, [ D>=20 ], cost: 1 8: f36 -> f36 : D'=1+D, H'=free, Q'=free, [ 19>=D ], cost: 1 2: f52 -> f55 : F'=0, [ 19>=E ], cost: 1 6: f55 -> f52 : E'=1+E, [ F>=20 ], cost: 1 3: f55 -> f59 : G'=0, [ 19>=F ], cost: 1 5: f59 -> f55 : F'=1+F, [ G>=20 ], cost: 1 4: f59 -> f59 : G'=1+G, [ 19>=G ], cost: 1 14: f0 -> f16 : A'=0, H'=0, [], cost: 1 Eliminating 1 self-loops for location f19 Self-Loop 11 has the metering function: 20-B, resulting in the new transition 15. Removing the self-loops: 11. Eliminating 1 self-loops for location f36 Self-Loop 8 has the metering function: 20-D, resulting in the new transition 16. Removing the self-loops: 8. Eliminating 1 self-loops for location f59 Self-Loop 4 has the metering function: 20-G, resulting in the new transition 17. Removing the self-loops: 4. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f16 -> f19 : B'=0, [ 19>=A ], cost: 1 13: f16 -> f33 : C'=0, [ A>=20 ], cost: 1 15: f19 -> [9] : B'=20, H'=free_1, J'=free_1, [ 19>=B ], cost: 20-B 1: f33 -> f36 : D'=0, [ 19>=C ], cost: 1 10: f33 -> f52 : E'=0, [ C>=20 ], cost: 1 16: f36 -> [10] : D'=20, H'=free, Q'=free, [ 19>=D ], cost: 20-D 2: f52 -> f55 : F'=0, [ 19>=E ], cost: 1 6: f55 -> f52 : E'=1+E, [ F>=20 ], cost: 1 3: f55 -> f59 : G'=0, [ 19>=F ], cost: 1 17: f59 -> [11] : G'=20, [ 19>=G ], cost: 20-G 14: f0 -> f16 : A'=0, H'=0, [], cost: 1 12: [9] -> f16 : A'=1+A, [ B>=20 ], cost: 1 9: [10] -> f33 : C'=1+C, [ D>=20 ], cost: 1 5: [11] -> f55 : F'=1+F, [ G>=20 ], cost: 1 Applied simple chaining: Start location: f0 0: f16 -> f16 : A'=1+A, B'=20, H'=free_1, J'=free_1, [ 19>=A && 19>=0 && 20>=20 ], cost: 22 13: f16 -> f33 : C'=0, [ A>=20 ], cost: 1 1: f33 -> f33 : C'=1+C, D'=20, H'=free, Q'=free, [ 19>=C && 19>=0 && 20>=20 ], cost: 22 10: f33 -> f52 : E'=0, [ C>=20 ], cost: 1 2: f52 -> f55 : F'=0, [ 19>=E ], cost: 1 6: f55 -> f52 : E'=1+E, [ F>=20 ], cost: 1 3: f55 -> f55 : F'=1+F, G'=20, [ 19>=F && 19>=0 && 20>=20 ], cost: 22 14: f0 -> f16 : A'=0, H'=0, [], cost: 1 Eliminating 1 self-loops for location f16 Self-Loop 0 has the metering function: 20-A, resulting in the new transition 18. Removing the self-loops: 0. Eliminating 1 self-loops for location f33 Self-Loop 1 has the metering function: 20-C, resulting in the new transition 19. Removing the self-loops: 1. Eliminating 1 self-loops for location f55 Self-Loop 3 has the metering function: 20-F, resulting in the new transition 20. Removing the self-loops: 3. Removed all Self-loops using metering functions (where possible): Start location: f0 18: f16 -> [12] : A'=20, B'=20, H'=free_1, J'=free_1, [ 19>=A ], cost: 440-22*A 19: f33 -> [13] : C'=20, D'=20, H'=free, Q'=free, [ 19>=C ], cost: 440-22*C 2: f52 -> f55 : F'=0, [ 19>=E ], cost: 1 20: f55 -> [14] : F'=20, G'=20, [ 19>=F ], cost: 440-22*F 14: f0 -> f16 : A'=0, H'=0, [], cost: 1 13: [12] -> f33 : C'=0, [ A>=20 ], cost: 1 10: [13] -> f52 : E'=0, [ C>=20 ], cost: 1 6: [14] -> f52 : E'=1+E, [ F>=20 ], cost: 1 Applied simple chaining: Start location: f0 2: f52 -> f52 : E'=1+E, F'=20, G'=20, [ 19>=E && 19>=0 && 20>=20 ], cost: 442 14: f0 -> f52 : A'=20, B'=20, C'=20, D'=20, E'=0, H'=free, Q'=free, J'=free_1, [ 19>=0 && 20>=20 && 19>=0 && 20>=20 ], cost: 883 Eliminating 1 self-loops for location f52 Self-Loop 2 has the metering function: 20-E, resulting in the new transition 21. Removing the self-loops: 2. Removed all Self-loops using metering functions (where possible): Start location: f0 21: f52 -> [15] : E'=20, F'=20, G'=20, [ 19>=E ], cost: 8840-442*E 14: f0 -> f52 : A'=20, B'=20, C'=20, D'=20, E'=0, H'=free, Q'=free, J'=free_1, [ 19>=0 && 20>=20 && 19>=0 && 20>=20 ], cost: 883 Applied simple chaining: Start location: f0 14: f0 -> [15] : A'=20, B'=20, C'=20, D'=20, E'=20, F'=20, G'=20, H'=free, Q'=free, J'=free_1, [ 19>=0 && 20>=20 && 19>=0 && 20>=20 && 19>=0 ], cost: 9723 Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 14: f0 -> [15] : A'=20, B'=20, C'=20, D'=20, E'=20, F'=20, G'=20, H'=free, Q'=free, J'=free_1, [ 19>=0 && 20>=20 && 19>=0 && 20>=20 && 19>=0 ], cost: 9723 Computing complexity for remaining 1 transitions. Found new complexity const, because: const cost. The final runtime is determined by this resulting transition: Final Guard: 19>=0 && 20>=20 && 19>=0 && 20>=20 && 19>=0 Final Cost: 9723 Obtained the following complexity w.r.t. the length of the input n: Complexity class: const Complexity value: 0 WORST_CASE(Omega(1),?)