Trying to load file: main.koat Initial Control flow graph problem: Start location: start0 0: start -> stop : E'=1, [ A>=1 && B>=1+C && D==B && E==F && G==C && H==Q && J==A ], cost: 1 2: start -> stop : E'=-1, [ B>=1+C && 0>=A && D==B && E==F && G==C && H==Q && J==A ], cost: 1 1: start -> lbl71 : D'=1+D, E'=1, [ A>=1 && C>=B && D==B && E==F && G==C && H==Q && J==A ], cost: 1 3: start -> lbl81 : D'=1+D, E'=-1, [ C>=B && 0>=A && D==B && E==F && G==C && H==Q && J==A ], cost: 1 4: lbl71 -> stop : [ C>=B && A>=1 && D==1+C && E==1 && J==A && H==Q && G==C ], cost: 1 5: lbl71 -> lbl71 : D'=E+D, [ A>=1 && C>=D && D>=1+B && 1+C>=D && E==1 && J==A && H==Q && G==C ], cost: 1 6: lbl71 -> lbl81 : D'=-E+D, [ C>=D && 0>=A && D>=1+B && 1+C>=D && A>=1 && E==1 && J==A && H==Q && G==C ], cost: 1 7: lbl81 -> stop : [ 0>=A && C>=B && D==1+C && 1+E==0 && J==A && H==Q && G==C ], cost: 1 8: lbl81 -> lbl71 : D'=E+D, [ A>=1 && C>=D && 0>=A && D>=1+B && 1+C>=D && 1+E==0 && J==A && H==Q && G==C ], cost: 1 9: lbl81 -> lbl81 : D'=-E+D, [ C>=D && 0>=A && D>=1+B && 1+C>=D && 1+E==0 && J==A && H==Q && G==C ], cost: 1 10: start0 -> start : D'=B, E'=F, G'=C, H'=Q, J'=A, [], cost: 1 Simplified the transitions: Start location: start0 1: start -> lbl71 : D'=1+D, E'=1, [ A>=1 && C>=B && D==B && E==F && G==C && H==Q && J==A ], cost: 1 3: start -> lbl81 : D'=1+D, E'=-1, [ C>=B && 0>=A && D==B && E==F && G==C && H==Q && J==A ], cost: 1 5: lbl71 -> lbl71 : D'=E+D, [ A>=1 && C>=D && D>=1+B && E==1 && J==A && H==Q && G==C ], cost: 1 6: lbl71 -> lbl81 : D'=-E+D, [ C>=D && 0>=A && D>=1+B && A>=1 && E==1 && J==A && H==Q && G==C ], cost: 1 8: lbl81 -> lbl71 : D'=E+D, [ A>=1 && C>=D && 0>=A && D>=1+B && 1+E==0 && J==A && H==Q && G==C ], cost: 1 9: lbl81 -> lbl81 : D'=-E+D, [ C>=D && 0>=A && D>=1+B && 1+E==0 && J==A && H==Q && G==C ], cost: 1 10: start0 -> start : D'=B, E'=F, G'=C, H'=Q, J'=A, [], cost: 1 Eliminating 1 self-loops for location lbl71 Self-Loop 5 has the metering function: 2-E+C-D, resulting in the new transition 11. Removing the self-loops: 5. Eliminating 1 self-loops for location lbl81 Self-Loop 9 has the metering function: -E+C-D, resulting in the new transition 12. Removing the self-loops: 9. Removed all Self-loops using metering functions (where possible): Start location: start0 1: start -> lbl71 : D'=1+D, E'=1, [ A>=1 && C>=B && D==B && E==F && G==C && H==Q && J==A ], cost: 1 3: start -> lbl81 : D'=1+D, E'=-1, [ C>=B && 0>=A && D==B && E==F && G==C && H==Q && J==A ], cost: 1 11: lbl71 -> [5] : D'=-E*(-2+E-C+D)+D, [ A>=1 && C>=D && D>=1+B && E==1 && J==A && H==Q && G==C ], cost: 2-E+C-D 12: lbl81 -> [6] : D'=E*(E-C+D)+D, [ C>=D && 0>=A && D>=1+B && 1+E==0 && J==A && H==Q && G==C ], cost: -E+C-D 10: start0 -> start : D'=B, E'=F, G'=C, H'=Q, J'=A, [], cost: 1 6: [5] -> lbl81 : D'=-E+D, [ C>=D && 0>=A && D>=1+B && A>=1 && E==1 && J==A && H==Q && G==C ], cost: 1 8: [6] -> lbl71 : D'=E+D, [ A>=1 && C>=D && 0>=A && D>=1+B && 1+E==0 && J==A && H==Q && G==C ], cost: 1 Applied chaining over branches and pruning: Start location: start0 15: lbl71 -> [7] : D'=-E*(-2+E-C+D)+D, [ A>=1 && C>=D && D>=1+B && E==1 && J==A && H==Q && G==C ], cost: 2-E+C-D 16: lbl81 -> [8] : D'=E*(E-C+D)+D, [ C>=D && 0>=A && D>=1+B && 1+E==0 && J==A && H==Q && G==C ], cost: -E+C-D 13: start0 -> lbl71 : D'=1+B, E'=1, G'=C, H'=Q, J'=A, [ A>=1 && C>=B && B==B && F==F && C==C && Q==Q && A==A ], cost: 2 14: start0 -> lbl81 : D'=1+B, E'=-1, G'=C, H'=Q, J'=A, [ C>=B && 0>=A && B==B && F==F && C==C && Q==Q && A==A ], cost: 2 Applied simple chaining: Start location: start0 13: start0 -> [7] : D'=1+C, E'=1, G'=C, H'=Q, J'=A, [ A>=1 && C>=B && B==B && F==F && C==C && Q==Q && A==A && A>=1 && C>=1+B && 1+B>=1+B && 1==1 && A==A && Q==Q && C==C ], cost: 2-B+C 14: start0 -> [8] : D'=1+C, E'=-1, G'=C, H'=Q, J'=A, [ C>=B && 0>=A && B==B && F==F && C==C && Q==Q && A==A && C>=1+B && 0>=A && 1+B>=1+B && 0==0 && A==A && Q==Q && C==C ], cost: 2-B+C Final control flow graph problem, now checking costs for infinitely many models: Start location: start0 13: start0 -> [7] : D'=1+C, E'=1, G'=C, H'=Q, J'=A, [ A>=1 && C>=B && B==B && F==F && C==C && Q==Q && A==A && A>=1 && C>=1+B && 1+B>=1+B && 1==1 && A==A && Q==Q && C==C ], cost: 2-B+C 14: start0 -> [8] : D'=1+C, E'=-1, G'=C, H'=Q, J'=A, [ C>=B && 0>=A && B==B && F==F && C==C && Q==Q && A==A && C>=1+B && 0>=A && 1+B>=1+B && 0==0 && A==A && Q==Q && C==C ], cost: 2-B+C Computing complexity for remaining 2 transitions. Found configuration with infinitely models for cost: 2-B+C and guard: A>=1 && C>=B && B==B && F==F && C==C && Q==Q && A==A && A>=1 && C>=1+B && 1+B>=1+B && 1==1 && A==A && Q==Q && C==C: B: Pos, Q: Both, F: Both, C: Pos, A: Pos, where: C > B Found new complexity n^1, because: Found infinity configuration. The final runtime is determined by this resulting transition: Final Guard: A>=1 && C>=B && B==B && F==F && C==C && Q==Q && A==A && A>=1 && C>=1+B && 1+B>=1+B && 1==1 && A==A && Q==Q && C==C Final Cost: 2-B+C 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),?)