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