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