Trying to load file: main.koat Initial Control flow graph problem: Start location: evalndloopstart 0: evalndloopstart -> evalndloopentryin : [], cost: 1 1: evalndloopentryin -> evalndloopbbin : A'=0, [], cost: 1 2: evalndloopbbin -> evalndloopbbin : A'=free, [ 2+A>=free && free>=1+A && 9>=free ], cost: 1 3: evalndloopbbin -> evalndloopreturnin : [ free_1>=3+A ], cost: 1 4: evalndloopbbin -> evalndloopreturnin : [ A>=free_2 ], cost: 1 5: evalndloopbbin -> evalndloopreturnin : [ free_3>=10 ], cost: 1 6: evalndloopreturnin -> evalndloopstop : [], cost: 1 Simplified the transitions: Start location: evalndloopstart 0: evalndloopstart -> evalndloopentryin : [], cost: 1 1: evalndloopentryin -> evalndloopbbin : A'=0, [], cost: 1 2: evalndloopbbin -> evalndloopbbin : A'=free, [ 2+A>=free && free>=1+A && 9>=free ], cost: 1 Eliminating 1 self-loops for location evalndloopbbin Self-Loop 2 has the metering function: meter, resulting in the new transition 7. Removing the self-loops: 2. Removed all Self-loops using metering functions (where possible): Start location: evalndloopstart 0: evalndloopstart -> evalndloopentryin : [], cost: 1 1: evalndloopentryin -> evalndloopbbin : A'=0, [], cost: 1 7: evalndloopbbin -> [5] : A'=9, [ 2+A>=9 && 9>=1+A && 9>=9 && 2*meter==8-A ], cost: meter Applied simple chaining: Start location: evalndloopstart 0: evalndloopstart -> evalndloopbbin : A'=0, [], cost: 2 7: evalndloopbbin -> [5] : A'=9, [ 2+A>=9 && 9>=1+A && 9>=9 && 2*meter==8-A ], cost: meter Applied chaining over branches and pruning: Start location: evalndloopstart Final control flow graph problem, now checking costs for infinitely many models: Start location: evalndloopstart 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),?)