Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f0 -> f6 : A'=0, B'=0, [], cost: 1 1: f6 -> f6 : A'=free, B'=1+B, [ 63>=B ], cost: 1 6: f6 -> f14 : C'=7, [ B>=64 ], cost: 1 2: f14 -> f14 : C'=-1+C, D'=free_6+free_11, E'=free_16, F'=free_9+free_4, G'=free_14, H'=free_2+free_7, Q'=free_12, J'=free_17+free_5, K'=free_10, L'=free_6+free_17+free_11+free_5, M'=free_6-free_17+free_11-free_5, N'=free_2+free_9+free_7+free_4, O'=-free_2+free_9-free_7+free_4, P'=free_15, Q_1'=free_3, R'=free_13+free_8, S'=free_13+free_1, T'=free_13, [ C>=0 ], cost: 1 5: f14 -> f57 : C'=7, [ 0>=1+C ], cost: 1 3: f57 -> f57 : C'=-1+C, D'=free_28+free_23, E'=free_33, F'=free_26+free_21, G'=free_31, H'=free_24+free_19, Q'=free_29, J'=free_22+free_34, K'=free_27, L'=free_22+free_34+free_28+free_23, M'=-free_22-free_34+free_28+free_23, N'=free_24+free_19+free_26+free_21, O'=-free_24-free_19+free_26+free_21, P'=free_32, Q_1'=free_20, R'=free_30+free_25, S'=free_18+free_30, T'=free_30, [ C>=0 ], cost: 1 4: f57 -> f101 : [ 0>=1+C ], cost: 1 Simplified the transitions: Start location: f0 0: f0 -> f6 : A'=0, B'=0, [], cost: 1 1: f6 -> f6 : A'=free, B'=1+B, [ 63>=B ], cost: 1 6: f6 -> f14 : C'=7, [ B>=64 ], cost: 1 2: f14 -> f14 : C'=-1+C, D'=free_6+free_11, E'=free_16, F'=free_9+free_4, G'=free_14, H'=free_2+free_7, Q'=free_12, J'=free_17+free_5, K'=free_10, L'=free_6+free_17+free_11+free_5, M'=free_6-free_17+free_11-free_5, N'=free_2+free_9+free_7+free_4, O'=-free_2+free_9-free_7+free_4, P'=free_15, Q_1'=free_3, R'=free_13+free_8, S'=free_13+free_1, T'=free_13, [ C>=0 ], cost: 1 5: f14 -> f57 : C'=7, [ 0>=1+C ], cost: 1 3: f57 -> f57 : C'=-1+C, D'=free_28+free_23, E'=free_33, F'=free_26+free_21, G'=free_31, H'=free_24+free_19, Q'=free_29, J'=free_22+free_34, K'=free_27, L'=free_22+free_34+free_28+free_23, M'=-free_22-free_34+free_28+free_23, N'=free_24+free_19+free_26+free_21, O'=-free_24-free_19+free_26+free_21, P'=free_32, Q_1'=free_20, R'=free_30+free_25, S'=free_18+free_30, T'=free_30, [ C>=0 ], cost: 1 Eliminating 1 self-loops for location f6 Self-Loop 1 has the metering function: 64-B, resulting in the new transition 7. Removing the self-loops: 1. Eliminating 1 self-loops for location f14 Self-Loop 2 has the metering function: 1+C, resulting in the new transition 8. Removing the self-loops: 2. Eliminating 1 self-loops for location f57 Self-Loop 3 has the metering function: 1+C, resulting in the new transition 9. Removing the self-loops: 3. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f0 -> f6 : A'=0, B'=0, [], cost: 1 7: f6 -> [5] : A'=free, B'=64, [ 63>=B ], cost: 64-B 8: f14 -> [6] : C'=-1, D'=free_6+free_11, E'=free_16, F'=free_9+free_4, G'=free_14, H'=free_2+free_7, Q'=free_12, J'=free_17+free_5, K'=free_10, L'=free_6+free_17+free_11+free_5, M'=free_6-free_17+free_11-free_5, N'=free_2+free_9+free_7+free_4, O'=-free_2+free_9-free_7+free_4, P'=free_15, Q_1'=free_3, R'=free_13+free_8, S'=free_13+free_1, T'=free_13, [ C>=0 ], cost: 1+C 9: f57 -> [7] : C'=-1, D'=free_28+free_23, E'=free_33, F'=free_26+free_21, G'=free_31, H'=free_24+free_19, Q'=free_29, J'=free_22+free_34, K'=free_27, L'=free_22+free_34+free_28+free_23, M'=-free_22-free_34+free_28+free_23, N'=free_24+free_19+free_26+free_21, O'=-free_24-free_19+free_26+free_21, P'=free_32, Q_1'=free_20, R'=free_30+free_25, S'=free_18+free_30, T'=free_30, [ C>=0 ], cost: 1+C 6: [5] -> f14 : C'=7, [ B>=64 ], cost: 1 5: [6] -> f57 : C'=7, [ 0>=1+C ], cost: 1 Applied simple chaining: Start location: f0 0: f0 -> [7] : A'=free, B'=64, C'=-1, D'=free_28+free_23, E'=free_33, F'=free_26+free_21, G'=free_31, H'=free_24+free_19, Q'=free_29, J'=free_22+free_34, K'=free_27, L'=free_22+free_34+free_28+free_23, M'=-free_22-free_34+free_28+free_23, N'=free_24+free_19+free_26+free_21, O'=-free_24-free_19+free_26+free_21, P'=free_32, Q_1'=free_20, R'=free_30+free_25, S'=free_18+free_30, T'=free_30, [ 63>=0 && 64>=64 && 7>=0 && 0>=0 && 7>=0 ], cost: 83 Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 0: f0 -> [7] : A'=free, B'=64, C'=-1, D'=free_28+free_23, E'=free_33, F'=free_26+free_21, G'=free_31, H'=free_24+free_19, Q'=free_29, J'=free_22+free_34, K'=free_27, L'=free_22+free_34+free_28+free_23, M'=-free_22-free_34+free_28+free_23, N'=free_24+free_19+free_26+free_21, O'=-free_24-free_19+free_26+free_21, P'=free_32, Q_1'=free_20, R'=free_30+free_25, S'=free_18+free_30, T'=free_30, [ 63>=0 && 64>=64 && 7>=0 && 0>=0 && 7>=0 ], cost: 83 Computing complexity for remaining 1 transitions. Found new complexity const, because: const cost. The final runtime is determined by this resulting transition: Final Guard: 63>=0 && 64>=64 && 7>=0 && 0>=0 && 7>=0 Final Cost: 83 Obtained the following complexity w.r.t. the length of the input n: Complexity class: const Complexity value: 0 WORST_CASE(Omega(1),?)