Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f0 -> f8 : A'=0, [], cost: 1 9: f8 -> f8 : A'=1+A, B'=A, [ 99>=A ], cost: 1 1: f8 -> f14 : B'=A, [ 99>=A && 99>=free ], cost: 1 2: f8 -> f14 : B'=A, [ 99>=A ], cost: 1 12: f8 -> f23 : A'=0, [ A>=100 ], cost: 1 10: f14 -> f8 : A'=1+A, [], cost: 1 11: f14 -> f8 : A'=1+A, [ 98>=free_5 ], cost: 1 5: f23 -> f23 : A'=1+A, [ 99>=A ], cost: 1 3: f23 -> f28 : C'=free_1, [ 99>=A && 0>=1+free_2 ], cost: 1 4: f23 -> f28 : C'=free_3, [ 99>=A ], cost: 1 8: f23 -> f38 : [ A>=100 ], cost: 1 6: f28 -> f23 : A'=1+A, [], cost: 1 7: f28 -> f23 : A'=1+A, [ 98>=free_4 ], cost: 1 Removing duplicate transition: 1. Removing duplicate transition: 10. Removing duplicate transition: 6. Simplified the transitions: Start location: f0 0: f0 -> f8 : A'=0, [], cost: 1 9: f8 -> f8 : A'=1+A, B'=A, [ 99>=A ], cost: 1 2: f8 -> f14 : B'=A, [ 99>=A ], cost: 1 12: f8 -> f23 : A'=0, [ A>=100 ], cost: 1 11: f14 -> f8 : A'=1+A, [], cost: 1 5: f23 -> f23 : A'=1+A, [ 99>=A ], cost: 1 3: f23 -> f28 : C'=free_1, [ 99>=A ], cost: 1 4: f23 -> f28 : C'=free_3, [ 99>=A ], cost: 1 7: f28 -> f23 : A'=1+A, [], cost: 1 Eliminating 1 self-loops for location f8 Self-Loop 9 has the metering function: 100-A, resulting in the new transition 13. Removing the self-loops: 9. Eliminating 1 self-loops for location f23 Self-Loop 5 has the metering function: 100-A, resulting in the new transition 14. Removing the self-loops: 5. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f0 -> f8 : A'=0, [], cost: 1 13: f8 -> [6] : A'=100, B'=99, [ 99>=A ], cost: 100-A 11: f14 -> f8 : A'=1+A, [], cost: 1 14: f23 -> [7] : A'=100, [ 99>=A ], cost: 100-A 7: f28 -> f23 : A'=1+A, [], cost: 1 2: [6] -> f14 : B'=A, [ 99>=A ], cost: 1 12: [6] -> f23 : A'=0, [ A>=100 ], cost: 1 3: [7] -> f28 : C'=free_1, [ 99>=A ], cost: 1 4: [7] -> f28 : C'=free_3, [ 99>=A ], cost: 1 Applied simple chaining: Start location: f0 0: f0 -> f8 : A'=0, [], cost: 1 13: f8 -> [6] : A'=100, B'=99, [ 99>=A ], cost: 100-A 14: f23 -> [7] : A'=100, [ 99>=A ], cost: 100-A 7: f28 -> f23 : A'=1+A, [], cost: 1 2: [6] -> f8 : A'=1+A, B'=A, [ 99>=A ], cost: 2 12: [6] -> f23 : A'=0, [ A>=100 ], cost: 1 3: [7] -> f28 : C'=free_1, [ 99>=A ], cost: 1 4: [7] -> f28 : C'=free_3, [ 99>=A ], cost: 1 Applied chaining over branches and pruning: Start location: f0 0: f0 -> f8 : A'=0, [], cost: 1 16: f8 -> f23 : A'=0, B'=99, [ 99>=A && 100>=100 ], cost: 101-A 15: f8 -> [8] : A'=100, B'=99, [ 99>=A ], cost: 100-A 17: f23 -> [9] : A'=100, [ 99>=A ], cost: 100-A 18: f23 -> [10] : A'=100, [ 99>=A ], cost: 100-A Applied chaining over branches and pruning: Start location: f0 19: f0 -> f23 : A'=0, B'=99, [ 99>=0 && 100>=100 ], cost: 102 17: f23 -> [9] : A'=100, [ 99>=A ], cost: 100-A 18: f23 -> [10] : A'=100, [ 99>=A ], cost: 100-A 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),?)