Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 1: f25 -> f2 : [], cost: 1 2: f2 -> f2 : [], cost: 1 6: f27 -> f29 : [], cost: 1 8: f19 -> f9 : [ 2>=A ], cost: 1 7: f19 -> f19 : A'=-1+A, [ A>=3 ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 Simplified the transitions: Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 8: f19 -> f9 : [ 2>=A ], cost: 1 7: f19 -> f19 : A'=-1+A, [ A>=3 ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 Eliminating 1 self-loops for location f19 Self-Loop 7 has the metering function: -2+A, resulting in the new transition 12. Removing the self-loops: 7. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 12: f19 -> [8] : A'=2, [ A>=3 ], cost: -2+A 11: f0 -> f9 : A'=free_2, [], cost: 1 8: [8] -> f9 : [ 2>=A ], cost: 1 Applied simple chaining: Start location: f0 10: f9 -> f9 : A'=2, B'=0, [ A>=6 && A>=3 && 2>=2 ], cost: A 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 Eliminating 1 self-loops for location f9 Removing the self-loops: 10. Adding an epsilon transition (to model nonexecution of the loops): 14. Removed all Self-loops using metering functions (where possible): Start location: f0 13: f9 -> [9] : A'=2, B'=0, [ A>=6 ], cost: A 14: f9 -> [9] : [], cost: 0 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 0: [9] -> f10 : [ 5>=A ], cost: 1 3: [9] -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: [9] -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 Applied chaining over branches and pruning: Start location: f0 15: f9 -> f10 : A'=2, B'=0, [ A>=6 && 5>=2 ], cost: 1+A 18: f9 -> f10 : [ 5>=A ], cost: 1 19: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 20: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 16: f9 -> [10] : A'=2, B'=0, [ A>=6 ], cost: A 17: f9 -> [11] : A'=2, B'=0, [ A>=6 ], cost: A 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 Applied chaining over branches and pruning: Start location: f0 22: f9 -> f9 : A'=3, B'=0, [ A>=6 && 5>=2 && 5>=2 ], cost: 2+A 23: f9 -> f9 : A'=1+A, [ 5>=A && 5>=A ], cost: 2 24: f9 -> f9 : A'=1+A, B'=free, [ A>=6 && 0>=1+free && A>=6 ], cost: 2 25: f9 -> f9 : A'=1+A, B'=free_1, [ A>=6 && free_1>=1 && A>=6 ], cost: 2 16: f9 -> [10] : A'=2, B'=0, [ A>=6 ], cost: A 17: f9 -> [11] : A'=2, B'=0, [ A>=6 ], cost: A 21: f9 -> [12] : A'=2, B'=0, [ A>=6 && 5>=2 ], cost: 1+A 11: f0 -> f9 : A'=free_2, [], cost: 1 Eliminating 4 self-loops for location f9 Self-Loop 23 has the metering function: 6-A, resulting in the new transition 27. Self-Loop 24 has unbounded runtime, resulting in the new transition 28. Self-Loop 25 has unbounded runtime, resulting in the new transition 29. Found unbounded runtime when nesting loops, and nested parallel self-loops 26 (outer loop) and 27 (inner loop), obtaining the new transitions: 30, 31. Found unbounded runtime when nesting loops, and nested parallel self-loops 26 (outer loop) and 27 (inner loop), obtaining the new transitions: 32, 33. Found this metering function when nesting loops: 6-A, Found this metering function when nesting loops: 5-A, Found this metering function when nesting loops: meter, Found this metering function when nesting loops: 6-A, Found unbounded runtime when nesting loops, Found unbounded runtime when nesting loops, Removing the self-loops: 22 23 24 25 26. Adding an epsilon transition (to model nonexecution of the loops): 34. Removed all Self-loops using metering functions (where possible): Start location: f0 27: f9 -> [13] : A'=6, [ 5>=A ], cost: 12-2*A 28: f9 -> [13] : [ A>=6 && 0>=1+free ], cost: INF 29: f9 -> [13] : [ A>=6 && free_1>=1 ], cost: INF 30: f9 -> [13] : [ 5>=A && 6>=6 ], cost: INF 31: f9 -> [13] : A'=3, B'=0, [ A>=6 && 5>=3 && 6>=6 ], cost: INF 32: f9 -> [13] : [ A>=6 && 5>=3 ], cost: INF 33: f9 -> [13] : A'=6, [ 5>=A && 6>=6 && 5>=3 ], cost: INF 34: f9 -> [13] : [], cost: 0 11: f0 -> f9 : A'=free_2, [], cost: 1 16: [13] -> [10] : A'=2, B'=0, [ A>=6 ], cost: A 17: [13] -> [11] : A'=2, B'=0, [ A>=6 ], cost: A 21: [13] -> [12] : A'=2, B'=0, [ A>=6 && 5>=2 ], cost: 1+A Applied chaining over branches and pruning: Start location: f0 35: f0 -> [13] : A'=6, [ 5>=free_2 ], cost: 13-2*free_2 36: f0 -> [13] : A'=free_2, [ free_2>=6 && 0>=1+free ], cost: INF 38: f0 -> [13] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF 40: f0 -> [13] : A'=free_2, [ free_2>=6 && 5>=3 ], cost: INF 41: f0 -> [13] : A'=6, [ 5>=free_2 && 6>=6 && 5>=3 ], cost: INF 16: [13] -> [10] : A'=2, B'=0, [ A>=6 ], cost: A 17: [13] -> [11] : A'=2, B'=0, [ A>=6 ], cost: A 21: [13] -> [12] : A'=2, B'=0, [ A>=6 && 5>=2 ], cost: 1+A Applied chaining over branches and pruning: Start location: f0 43: f0 -> [10] : A'=2, B'=0, [ 5>=free_2 && 6>=6 ], cost: 19-2*free_2 46: f0 -> [10] : A'=2, B'=0, [ free_2>=6 && 0>=1+free && free_2>=6 ], cost: INF 52: f0 -> [10] : A'=2, B'=0, [ free_2>=6 && 5>=3 && free_2>=6 ], cost: INF 55: f0 -> [10] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=3 && 6>=6 ], cost: INF 44: f0 -> [11] : A'=2, B'=0, [ 5>=free_2 && 6>=6 ], cost: 19-2*free_2 47: f0 -> [11] : A'=2, B'=0, [ free_2>=6 && 0>=1+free && free_2>=6 ], cost: INF 53: f0 -> [11] : A'=2, B'=0, [ free_2>=6 && 5>=3 && free_2>=6 ], cost: INF 56: f0 -> [11] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=3 && 6>=6 ], cost: INF 45: f0 -> [12] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=2 ], cost: 20-2*free_2 48: f0 -> [12] : A'=2, B'=0, [ free_2>=6 && 0>=1+free && free_2>=6 && 5>=2 ], cost: INF 54: f0 -> [12] : A'=2, B'=0, [ free_2>=6 && 5>=3 && free_2>=6 && 5>=2 ], cost: INF 57: f0 -> [12] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=3 && 6>=6 && 5>=2 ], cost: INF 49: f0 -> [14] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF 50: f0 -> [15] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF 51: f0 -> [16] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 43: f0 -> [10] : A'=2, B'=0, [ 5>=free_2 && 6>=6 ], cost: 19-2*free_2 46: f0 -> [10] : A'=2, B'=0, [ free_2>=6 && 0>=1+free && free_2>=6 ], cost: INF 52: f0 -> [10] : A'=2, B'=0, [ free_2>=6 && 5>=3 && free_2>=6 ], cost: INF 55: f0 -> [10] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=3 && 6>=6 ], cost: INF 44: f0 -> [11] : A'=2, B'=0, [ 5>=free_2 && 6>=6 ], cost: 19-2*free_2 47: f0 -> [11] : A'=2, B'=0, [ free_2>=6 && 0>=1+free && free_2>=6 ], cost: INF 53: f0 -> [11] : A'=2, B'=0, [ free_2>=6 && 5>=3 && free_2>=6 ], cost: INF 56: f0 -> [11] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=3 && 6>=6 ], cost: INF 45: f0 -> [12] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=2 ], cost: 20-2*free_2 48: f0 -> [12] : A'=2, B'=0, [ free_2>=6 && 0>=1+free && free_2>=6 && 5>=2 ], cost: INF 54: f0 -> [12] : A'=2, B'=0, [ free_2>=6 && 5>=3 && free_2>=6 && 5>=2 ], cost: INF 57: f0 -> [12] : A'=2, B'=0, [ 5>=free_2 && 6>=6 && 5>=3 && 6>=6 && 5>=2 ], cost: INF 49: f0 -> [14] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF 50: f0 -> [15] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF 51: f0 -> [16] : A'=free_2, [ 5>=free_2 && 6>=6 ], cost: INF Computing complexity for remaining 15 transitions. Found configuration with infinitely models for cost: 19-2*free_2 and guard: 5>=free_2 && 6>=6: free_2: Neg Found new complexity INF, because: Found infinity configuration. The final runtime is determined by this resulting transition: Final Guard: 5>=free_2 && 6>=6 Final Cost: 19-2*free_2 Obtained the following complexity w.r.t. the length of the input n: Complexity class: INF Complexity value: INF WORST_CASE(INF,?)