Trying to load file: main.koat Initial Control flow graph problem: Start location: evalEx7start 0: evalEx7start -> evalEx7entryin : [], cost: 1 1: evalEx7entryin -> evalEx7bb3in : C'=1+A, [ A>=1 && B>=1+A ], cost: 1 2: evalEx7bb3in -> evalEx7bbin : [ A>=1+C ], cost: 1 3: evalEx7bb3in -> evalEx7bbin : [ C>=1+A ], cost: 1 4: evalEx7bb3in -> evalEx7returnin : [ C==A ], cost: 1 5: evalEx7bbin -> evalEx7bb3in : C'=0, [ C>=1+B ], cost: 1 6: evalEx7bbin -> evalEx7bb3in : C'=1+C, [ B>=C ], cost: 1 7: evalEx7returnin -> evalEx7stop : [], cost: 1 Simplified the transitions: Start location: evalEx7start 0: evalEx7start -> evalEx7entryin : [], cost: 1 1: evalEx7entryin -> evalEx7bb3in : C'=1+A, [ A>=1 && B>=1+A ], cost: 1 2: evalEx7bb3in -> evalEx7bbin : [ A>=1+C ], cost: 1 3: evalEx7bb3in -> evalEx7bbin : [ C>=1+A ], cost: 1 5: evalEx7bbin -> evalEx7bb3in : C'=0, [ C>=1+B ], cost: 1 6: evalEx7bbin -> evalEx7bb3in : C'=1+C, [ B>=C ], cost: 1 Applied simple chaining: Start location: evalEx7start 0: evalEx7start -> evalEx7bb3in : C'=1+A, [ A>=1 && B>=1+A ], cost: 2 2: evalEx7bb3in -> evalEx7bbin : [ A>=1+C ], cost: 1 3: evalEx7bb3in -> evalEx7bbin : [ C>=1+A ], cost: 1 5: evalEx7bbin -> evalEx7bb3in : C'=0, [ C>=1+B ], cost: 1 6: evalEx7bbin -> evalEx7bb3in : C'=1+C, [ B>=C ], cost: 1 Applied chaining over branches and pruning: Start location: evalEx7start 0: evalEx7start -> evalEx7bb3in : C'=1+A, [ A>=1 && B>=1+A ], cost: 2 8: evalEx7bb3in -> evalEx7bb3in : C'=0, [ A>=1+C && C>=1+B ], cost: 2 9: evalEx7bb3in -> evalEx7bb3in : C'=1+C, [ A>=1+C && B>=C ], cost: 2 10: evalEx7bb3in -> evalEx7bb3in : C'=0, [ C>=1+A && C>=1+B ], cost: 2 11: evalEx7bb3in -> evalEx7bb3in : C'=1+C, [ C>=1+A && B>=C ], cost: 2 Eliminating 4 self-loops for location evalEx7bb3in Self-Loop 11 has the metering function: 1+B-C, resulting in the new transition 15. Found unbounded runtime when nesting loops, and nested parallel self-loops 14 (outer loop) and 15 (inner loop), obtaining the new transitions: 16, 17. Found this metering function when nesting loops: 1+B-C, Found unbounded runtime when nesting loops, Found unbounded runtime when nesting loops, Removing the self-loops: 8 9 10 11 14. Adding an epsilon transition (to model nonexecution of the loops): 18. Removed all Self-loops using metering functions (where possible): Start location: evalEx7start 0: evalEx7start -> evalEx7bb3in : C'=1+A, [ A>=1 && B>=1+A ], cost: 2 12: evalEx7bb3in -> [6] : C'=0, [ A>=1+C && C>=1+B ], cost: 2 13: evalEx7bb3in -> [6] : C'=1+C, [ A>=1+C && B>=C ], cost: 2 15: evalEx7bb3in -> [6] : C'=1+B, [ C>=1+A && B>=C ], cost: 2+2*B-2*C 16: evalEx7bb3in -> [6] : [ C>=1+A && C>=1+B && 0>=1+A && B>=0 ], cost: INF 17: evalEx7bb3in -> [6] : C'=1+B, [ C>=1+A && B>=C && 1+B>=1+A && 1+B>=1+B && 0>=1+A && B>=0 ], cost: INF 18: evalEx7bb3in -> [6] : [], cost: 0 Applied chaining over branches and pruning: Start location: evalEx7start 19: evalEx7start -> [6] : C'=1+B, [ A>=1 && B>=1+A && 1+A>=1+A && B>=1+A ], cost: 2+2*B-2*A Final control flow graph problem, now checking costs for infinitely many models: Start location: evalEx7start 19: evalEx7start -> [6] : C'=1+B, [ A>=1 && B>=1+A && 1+A>=1+A && B>=1+A ], cost: 2+2*B-2*A Computing complexity for remaining 1 transitions. Found configuration with infinitely models for cost: 2+2*B-2*A and guard: A>=1 && B>=1+A && 1+A>=1+A && B>=1+A: B: Pos, A: Pos, where: B > A Found new complexity n^1, because: Found infinity configuration. The final runtime is determined by this resulting transition: Final Guard: A>=1 && B>=1+A && 1+A>=1+A && B>=1+A Final Cost: 2+2*B-2*A Obtained the following complexity w.r.t. the length of the input n: Complexity class: n^1 Complexity value: 1 WORST_CASE(Omega(n^1),?)