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