Trying to load file: main.koat Initial Control flow graph problem: Start location: start0 0: start -> stop : E'=0, G'=D, [ 0>=A && B==C && D==A && E==F && G==H ], cost: 1 2: start -> stop : E'=0, G'=-1+D, [ D==1 && B==C && A==1 && E==F && G==H ], cost: 1 4: start -> stop : B'=0, E'=0, G'=-1+D, [ D==1 && B==C && A==1 && E==F && G==H ], cost: 1 1: start -> cut : E'=0, G'=-1+D, [ A>=2 && B==C && D==A && E==F && G==H ], cost: 1 3: start -> cut : B'=0, E'=1, G'=-1+D, [ A>=2 && B==C && D==A && E==F && G==H ], cost: 1 6: cut -> stop : E'=-1+E, G'=-1+G, [ E>=2 && E>=0 && A>=2 && A>=1+E && G==1 && D==A ], cost: 1 8: cut -> stop : E'=0, G'=-1+G, [ 1>=E && E>=0 && A>=2 && A>=1+E && G==1 && D==A ], cost: 1 10: cut -> stop : B'=E, E'=1+E, G'=-1+G, [ A>=2+E && E>=0 && A>=2 && A>=1+E && G==1 && D==A ], cost: 1 12: cut -> stop : B'=E, E'=0, G'=-1+G, [ A>=1 && A>=2 && G==1 && 1+E==A && D==A ], cost: 1 5: cut -> cut : E'=-1+E, G'=-1+G, [ G>=2 && E>=2 && G>=1 && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 7: cut -> cut : E'=0, G'=-1+G, [ G>=2 && 1>=E && G>=1 && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 9: cut -> cut : B'=E, E'=1+E, G'=-1+G, [ G>=2 && A>=2+E && G>=1 && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 11: cut -> cut : B'=E, E'=0, G'=-1+G, [ G>=2 && 1+E>=A && G>=1 && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 13: start0 -> start : B'=C, D'=A, E'=F, G'=H, [], cost: 1 Simplified the transitions: Start location: start0 1: start -> cut : E'=0, G'=-1+D, [ A>=2 && B==C && D==A && E==F && G==H ], cost: 1 3: start -> cut : B'=0, E'=1, G'=-1+D, [ A>=2 && B==C && D==A && E==F && G==H ], cost: 1 5: cut -> cut : E'=-1+E, G'=-1+G, [ G>=2 && E>=2 && A>=1+G && A>=E+G && D==A ], cost: 1 7: cut -> cut : E'=0, G'=-1+G, [ G>=2 && 1>=E && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 9: cut -> cut : B'=E, E'=1+E, G'=-1+G, [ G>=2 && A>=2+E && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 11: cut -> cut : B'=E, E'=0, G'=-1+G, [ G>=2 && 1+E>=A && E>=0 && A>=1+G && A>=E+G && D==A ], cost: 1 13: start0 -> start : B'=C, D'=A, E'=F, G'=H, [], cost: 1 Eliminating 4 self-loops for location cut Self-Loop 7 has the metering function: -1+G, resulting in the new transition 17. Self-Loop 9 has the metering function: -1+G, resulting in the new transition 18. Self-Loop 11 has unbounded runtime, resulting in the new transition 19. Self-Loop 14 has the metering function: -1+G, resulting in the new transition 20. Self-Loop 15 has the metering function: -1+E, resulting in the new transition 21. Found this metering function when nesting loops: meter, Found this metering function when nesting loops: meter_1, Found this metering function when nesting loops: meter_2, Found this metering function when nesting loops: meter_3, Removing the self-loops: 5 7 9 11 14 15. Adding an epsilon transition (to model nonexecution of the loops): 22. Removed all Self-loops using metering functions (where possible): Start location: start0 1: start -> cut : E'=0, G'=-1+D, [ A>=2 && B==C && D==A && E==F && G==H ], cost: 1 3: start -> cut : B'=0, E'=1, G'=-1+D, [ A>=2 && B==C && D==A && E==F && G==H ], cost: 1 16: cut -> [4] : E'=-1+E, G'=-1+G, [ G>=2 && E>=2 && A>=1+G && A>=E+G && D==A ], cost: 1 17: cut -> [4] : E'=0, G'=1, [ G>=2 && 1>=E && E>=0 && A>=1+G && A>=E+G && D==A ], cost: -1+G 18: cut -> [4] : B'=-2+E+G, E'=-1+E+G, G'=1, [ G>=2 && A>=2+E && E>=0 && A>=1+G && A>=E+G && D==A ], cost: -1+G 19: cut -> [4] : [ G>=2 && 1+E>=A && E>=0 && A>=1+G && A>=E+G && D==A ], cost: INF 20: cut -> [4] : E'=1+E-G, G'=1, [ G>=2 && E>=2 && A>=1+G && A>=E+G && D==A && E>G ], cost: -1+G 21: cut -> [4] : E'=1, G'=1-E+G, [ G>=2 && E>=2 && A>=1+G && A>=E+G && D==A && G>E ], cost: -1+E 22: cut -> [4] : [], cost: 0 13: start0 -> start : B'=C, D'=A, E'=F, G'=H, [], cost: 1 Applied chaining over branches and pruning: Start location: start0 17: cut -> [4] : E'=0, G'=1, [ G>=2 && 1>=E && E>=0 && A>=1+G && A>=E+G && D==A ], cost: -1+G 18: cut -> [4] : B'=-2+E+G, E'=-1+E+G, G'=1, [ G>=2 && A>=2+E && E>=0 && A>=1+G && A>=E+G && D==A ], cost: -1+G 19: cut -> [4] : [ G>=2 && 1+E>=A && E>=0 && A>=1+G && A>=E+G && D==A ], cost: INF 20: cut -> [4] : E'=1+E-G, G'=1, [ G>=2 && E>=2 && A>=1+G && A>=E+G && D==A && E>G ], cost: -1+G 21: cut -> [4] : E'=1, G'=1-E+G, [ G>=2 && E>=2 && A>=1+G && A>=E+G && D==A && G>E ], cost: -1+E 23: start0 -> cut : B'=C, D'=A, E'=0, G'=-1+A, [ A>=2 && C==C && A==A && F==F && H==H ], cost: 2 24: start0 -> cut : B'=0, D'=A, E'=1, G'=-1+A, [ A>=2 && C==C && A==A && F==F && H==H ], cost: 2 Applied chaining over branches and pruning: Start location: start0 25: start0 -> [4] : B'=C, D'=A, E'=0, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && 1>=0 && 0>=0 && A>=A && A>=-1+A && A==A ], cost: A 26: start0 -> [4] : B'=-3+A, D'=A, E'=-2+A, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && A>=2 && 0>=0 && A>=A && A>=-1+A && A==A ], cost: A 27: start0 -> [4] : B'=0, D'=A, E'=0, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && 1>=1 && 1>=0 && A>=A && A>=A && A==A ], cost: A 28: start0 -> [4] : B'=-2+A, D'=A, E'=-1+A, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && A>=3 && 1>=0 && A>=A && A>=A && A==A ], cost: A Final control flow graph problem, now checking costs for infinitely many models: Start location: start0 25: start0 -> [4] : B'=C, D'=A, E'=0, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && 1>=0 && 0>=0 && A>=A && A>=-1+A && A==A ], cost: A 26: start0 -> [4] : B'=-3+A, D'=A, E'=-2+A, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && A>=2 && 0>=0 && A>=A && A>=-1+A && A==A ], cost: A 27: start0 -> [4] : B'=0, D'=A, E'=0, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && 1>=1 && 1>=0 && A>=A && A>=A && A==A ], cost: A 28: start0 -> [4] : B'=-2+A, D'=A, E'=-1+A, G'=1, [ A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && A>=3 && 1>=0 && A>=A && A>=A && A==A ], cost: A Computing complexity for remaining 4 transitions. Found configuration with infinitely models for cost: A and guard: A>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && 1>=0 && 0>=0 && A>=A && A>=-1+A && A==A: H: Both, 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>=2 && C==C && A==A && F==F && H==H && -1+A>=2 && 1>=0 && 0>=0 && A>=A && A>=-1+A && A==A Final Cost: 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),?)