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