Trying to load file: main.koat Initial Control flow graph problem: Start location: f0 0: f11 -> f14 : B'=0, [ 9>=A ], cost: 1 8: f11 -> f33 : C'=0, E'=0, F'=0, G'=0, H'=0, Q_1'=1000, [ A>=10 ], cost: 1 7: f14 -> f11 : A'=1+A, [ B>=10 ], cost: 1 6: f14 -> f14 : B'=1+B, O'=free_4, P'=free_4, [ 9>=B ], cost: 1 1: f33 -> f36 : D'=0, [ 9>=C ], cost: 1 5: f33 -> f58 : Q'=E, J'=F, K'=G, L'=H, M'=1500, N'=free_3, [ C>=10 ], cost: 1 4: f36 -> f33 : C'=1+C, [ D>=10 ], cost: 1 2: f36 -> f36 : D'=1+D, E'=E+free, F'=1+F, [ 9>=D && 0>=1+free_1 ], cost: 1 3: f36 -> f36 : D'=1+D, G'=free_2+G, H'=1+H, [ 9>=D ], cost: 1 9: f0 -> f11 : A'=0, O'=0, [], cost: 1 Simplified the transitions: Start location: f0 0: f11 -> f14 : B'=0, [ 9>=A ], cost: 1 8: f11 -> f33 : C'=0, E'=0, F'=0, G'=0, H'=0, Q_1'=1000, [ A>=10 ], cost: 1 7: f14 -> f11 : A'=1+A, [ B>=10 ], cost: 1 6: f14 -> f14 : B'=1+B, O'=free_4, P'=free_4, [ 9>=B ], cost: 1 1: f33 -> f36 : D'=0, [ 9>=C ], cost: 1 4: f36 -> f33 : C'=1+C, [ D>=10 ], cost: 1 2: f36 -> f36 : D'=1+D, E'=E+free, F'=1+F, [ 9>=D ], cost: 1 3: f36 -> f36 : D'=1+D, G'=free_2+G, H'=1+H, [ 9>=D ], cost: 1 9: f0 -> f11 : A'=0, O'=0, [], cost: 1 Eliminating 1 self-loops for location f14 Self-Loop 6 has the metering function: 10-B, resulting in the new transition 10. Removing the self-loops: 6. Eliminating 2 self-loops for location f36 Self-Loop 2 has the metering function: 10-D, resulting in the new transition 11. Self-Loop 3 has the metering function: 10-D, resulting in the new transition 12. Removing the self-loops: 2 3. Removed all Self-loops using metering functions (where possible): Start location: f0 0: f11 -> f14 : B'=0, [ 9>=A ], cost: 1 8: f11 -> f33 : C'=0, E'=0, F'=0, G'=0, H'=0, Q_1'=1000, [ A>=10 ], cost: 1 10: f14 -> [6] : B'=10, O'=free_4, P'=free_4, [ 9>=B ], cost: 10-B 1: f33 -> f36 : D'=0, [ 9>=C ], cost: 1 11: f36 -> [7] : D'=10, E'=E-(-10+D)*free, F'=10+F-D, [ 9>=D ], cost: 10-D 12: f36 -> [7] : D'=10, G'=G-free_2*(-10+D), H'=10+H-D, [ 9>=D ], cost: 10-D 9: f0 -> f11 : A'=0, O'=0, [], cost: 1 7: [6] -> f11 : A'=1+A, [ B>=10 ], cost: 1 4: [7] -> f33 : C'=1+C, [ D>=10 ], cost: 1 Applied simple chaining: Start location: f0 0: f11 -> f11 : A'=1+A, B'=10, O'=free_4, P'=free_4, [ 9>=A && 9>=0 && 10>=10 ], cost: 12 8: f11 -> f33 : C'=0, E'=0, F'=0, G'=0, H'=0, Q_1'=1000, [ A>=10 ], cost: 1 1: f33 -> f36 : D'=0, [ 9>=C ], cost: 1 11: f36 -> [7] : D'=10, E'=E-(-10+D)*free, F'=10+F-D, [ 9>=D ], cost: 10-D 12: f36 -> [7] : D'=10, G'=G-free_2*(-10+D), H'=10+H-D, [ 9>=D ], cost: 10-D 9: f0 -> f11 : A'=0, O'=0, [], cost: 1 4: [7] -> f33 : C'=1+C, [ D>=10 ], cost: 1 Eliminating 1 self-loops for location f11 Self-Loop 0 has the metering function: 10-A, resulting in the new transition 13. Removing the self-loops: 0. Removed all Self-loops using metering functions (where possible): Start location: f0 13: f11 -> [8] : A'=10, B'=10, O'=free_4, P'=free_4, [ 9>=A ], cost: 120-12*A 1: f33 -> f36 : D'=0, [ 9>=C ], cost: 1 11: f36 -> [7] : D'=10, E'=E-(-10+D)*free, F'=10+F-D, [ 9>=D ], cost: 10-D 12: f36 -> [7] : D'=10, G'=G-free_2*(-10+D), H'=10+H-D, [ 9>=D ], cost: 10-D 9: f0 -> f11 : A'=0, O'=0, [], cost: 1 4: [7] -> f33 : C'=1+C, [ D>=10 ], cost: 1 8: [8] -> f33 : C'=0, E'=0, F'=0, G'=0, H'=0, Q_1'=1000, [ A>=10 ], cost: 1 Applied simple chaining: Start location: f0 1: f33 -> f36 : D'=0, [ 9>=C ], cost: 1 11: f36 -> [7] : D'=10, E'=E-(-10+D)*free, F'=10+F-D, [ 9>=D ], cost: 10-D 12: f36 -> [7] : D'=10, G'=G-free_2*(-10+D), H'=10+H-D, [ 9>=D ], cost: 10-D 9: f0 -> f33 : A'=10, B'=10, C'=0, E'=0, F'=0, G'=0, H'=0, O'=free_4, P'=free_4, Q_1'=1000, [ 9>=0 && 10>=10 ], cost: 122 4: [7] -> f33 : C'=1+C, [ D>=10 ], cost: 1 Applied chaining over branches and pruning: Start location: f0 14: f33 -> [7] : D'=10, E'=E+10*free, F'=10+F, [ 9>=C && 9>=0 ], cost: 11 15: f33 -> [7] : D'=10, G'=10*free_2+G, H'=10+H, [ 9>=C && 9>=0 ], cost: 11 9: f0 -> f33 : A'=10, B'=10, C'=0, E'=0, F'=0, G'=0, H'=0, O'=free_4, P'=free_4, Q_1'=1000, [ 9>=0 && 10>=10 ], cost: 122 4: [7] -> f33 : C'=1+C, [ D>=10 ], cost: 1 Applied chaining over branches and pruning: Start location: f0 16: f33 -> f33 : C'=1+C, D'=10, E'=E+10*free, F'=10+F, [ 9>=C && 9>=0 && 10>=10 ], cost: 12 17: f33 -> f33 : C'=1+C, D'=10, G'=10*free_2+G, H'=10+H, [ 9>=C && 9>=0 && 10>=10 ], cost: 12 9: f0 -> f33 : A'=10, B'=10, C'=0, E'=0, F'=0, G'=0, H'=0, O'=free_4, P'=free_4, Q_1'=1000, [ 9>=0 && 10>=10 ], cost: 122 Eliminating 2 self-loops for location f33 Self-Loop 16 has the metering function: 10-C, resulting in the new transition 18. Self-Loop 17 has the metering function: 10-C, resulting in the new transition 19. Removing the self-loops: 16 17. Removed all Self-loops using metering functions (where possible): Start location: f0 18: f33 -> [9] : C'=10, D'=10, E'=-10*(-10+C)*free+E, F'=100+F-10*C, [ 9>=C ], cost: 120-12*C 19: f33 -> [9] : C'=10, D'=10, G'=-10*(-10+C)*free_2+G, H'=100+H-10*C, [ 9>=C ], cost: 120-12*C 9: f0 -> f33 : A'=10, B'=10, C'=0, E'=0, F'=0, G'=0, H'=0, O'=free_4, P'=free_4, Q_1'=1000, [ 9>=0 && 10>=10 ], cost: 122 Applied chaining over branches and pruning: Start location: f0 Final control flow graph problem, now checking costs for infinitely many models: Start location: f0 Computing complexity for remaining 0 transitions. The final runtime is determined by this resulting transition: Final Guard: Final Cost: 1 Obtained the following complexity w.r.t. the length of the input n: Complexity class: const Complexity value: 0 WORST_CASE(Omega(1),?)