Trying to load file: main.koat Initial Control flow graph problem: Start location: f 0: f -> g : B'=1, C'=0, [], cost: 1 1: g -> g1 : A'=-1+A, C'=B, [ A>0 ], cost: 1 3: g -> h : [ A<=0 ], cost: 1 2: g1 -> g : B'=B+C, [], cost: 1 4: h -> h : B'=-1+B, [ B>0 ], cost: 1 Eliminating 1 self-loops for location h Self-Loop 4 has the metering function: B, resulting in the new transition 5. Removing the self-loops: 4. Removed all Self-loops using metering functions (where possible): Start location: f 0: f -> g : B'=1, C'=0, [], cost: 1 1: g -> g1 : A'=-1+A, C'=B, [ A>0 ], cost: 1 3: g -> h : [ A<=0 ], cost: 1 2: g1 -> g : B'=B+C, [], cost: 1 5: h -> [4] : B'=0, [ B>0 ], cost: B Applied simple chaining: Start location: f 0: f -> g : B'=1, C'=0, [], cost: 1 1: g -> g : A'=-1+A, B'=2*B, C'=B, [ A>0 ], cost: 2 3: g -> [4] : B'=0, [ A<=0 && B>0 ], cost: 1+B Eliminating 1 self-loops for location g Self-Loop 1 has the metering function: A, resulting in the new transition 6. Removing the self-loops: 1. Removed all Self-loops using metering functions (where possible): Start location: f 0: f -> g : B'=1, C'=0, [], cost: 1 6: g -> [5] : A'=0, B'=B*2^A, C'=1/2*B*2^A, [ A>0 ], cost: 2*A 3: [5] -> [4] : B'=0, [ A<=0 && B>0 ], cost: 1+B Applied simple chaining: Start location: f 0: f -> [4] : A'=0, B'=0, C'=1/2*2^A, [ A>0 && 0<=0 && 2^A>0 ], cost: 2+2^A+2*A Final control flow graph problem, now checking costs for infinitely many models: Start location: f 0: f -> [4] : A'=0, B'=0, C'=1/2*2^A, [ A>0 && 0<=0 && 2^A>0 ], cost: 2+2^A+2*A Computing complexity for remaining 1 transitions. Found configuration with infinitely models for cost: 2+2^A+2*A and guard: A>0 && 0<=0 && 2^A>0: A: Pos Found new complexity EXP, because: Found infinity configuration. The final runtime is determined by this resulting transition: Final Guard: A>0 && 0<=0 && 2^A>0 Final Cost: 2+2^A+2*A Obtained the following complexity w.r.t. the length of the input n: Complexity class: EXP Complexity value: EXP WORST_CASE(EXP,?)