Trying to load file: main.koat Initial Control flow graph problem: Start location: evalspeedFails4start 0: evalspeedFails4start -> evalspeedFails4entryin : [], cost: 1 1: evalspeedFails4entryin -> evalspeedFails4bb6in : A'=1, B'=C, C'=A, D'=B, [ A>=1 ], cost: 1 2: evalspeedFails4entryin -> evalspeedFails4bb6in : A'=-1, B'=C, C'=A, D'=B, [ 0>=A ], cost: 1 3: evalspeedFails4bb6in -> evalspeedFails4bb3in : [ B>=D ], cost: 1 4: evalspeedFails4bb6in -> evalspeedFails4returnin : [ D>=1+B ], cost: 1 5: evalspeedFails4bb3in -> evalspeedFails4bb4in : [ C>=1 ], cost: 1 6: evalspeedFails4bb3in -> evalspeedFails4bb5in : [ 0>=C ], cost: 1 9: evalspeedFails4returnin -> evalspeedFails4stop : [], cost: 1 7: evalspeedFails4bb4in -> evalspeedFails4bb6in : D'=D+A, [], cost: 1 8: evalspeedFails4bb5in -> evalspeedFails4bb6in : D'=D-A, [], cost: 1 Simplified the transitions: Start location: evalspeedFails4start 0: evalspeedFails4start -> evalspeedFails4entryin : [], cost: 1 1: evalspeedFails4entryin -> evalspeedFails4bb6in : A'=1, B'=C, C'=A, D'=B, [ A>=1 ], cost: 1 2: evalspeedFails4entryin -> evalspeedFails4bb6in : A'=-1, B'=C, C'=A, D'=B, [ 0>=A ], cost: 1 3: evalspeedFails4bb6in -> evalspeedFails4bb3in : [ B>=D ], cost: 1 5: evalspeedFails4bb3in -> evalspeedFails4bb4in : [ C>=1 ], cost: 1 6: evalspeedFails4bb3in -> evalspeedFails4bb5in : [ 0>=C ], cost: 1 7: evalspeedFails4bb4in -> evalspeedFails4bb6in : D'=D+A, [], cost: 1 8: evalspeedFails4bb5in -> evalspeedFails4bb6in : D'=D-A, [], cost: 1 Applied simple chaining: Start location: evalspeedFails4start 0: evalspeedFails4start -> evalspeedFails4entryin : [], cost: 1 1: evalspeedFails4entryin -> evalspeedFails4bb6in : A'=1, B'=C, C'=A, D'=B, [ A>=1 ], cost: 1 2: evalspeedFails4entryin -> evalspeedFails4bb6in : A'=-1, B'=C, C'=A, D'=B, [ 0>=A ], cost: 1 3: evalspeedFails4bb6in -> evalspeedFails4bb3in : [ B>=D ], cost: 1 5: evalspeedFails4bb3in -> evalspeedFails4bb6in : D'=D+A, [ C>=1 ], cost: 2 6: evalspeedFails4bb3in -> evalspeedFails4bb6in : D'=D-A, [ 0>=C ], cost: 2 Applied chaining over branches and pruning: Start location: evalspeedFails4start 10: evalspeedFails4start -> evalspeedFails4bb6in : A'=1, B'=C, C'=A, D'=B, [ A>=1 ], cost: 2 11: evalspeedFails4start -> evalspeedFails4bb6in : A'=-1, B'=C, C'=A, D'=B, [ 0>=A ], cost: 2 12: evalspeedFails4bb6in -> evalspeedFails4bb6in : D'=D+A, [ B>=D && C>=1 ], cost: 3 13: evalspeedFails4bb6in -> evalspeedFails4bb6in : D'=D-A, [ B>=D && 0>=C ], cost: 3 Eliminating 2 self-loops for location evalspeedFails4bb6in Removing the self-loops: 12 13. Adding an epsilon transition (to model nonexecution of the loops): 16. Removed all Self-loops using metering functions (where possible): Start location: evalspeedFails4start 10: evalspeedFails4start -> evalspeedFails4bb6in : A'=1, B'=C, C'=A, D'=B, [ A>=1 ], cost: 2 11: evalspeedFails4start -> evalspeedFails4bb6in : A'=-1, B'=C, C'=A, D'=B, [ 0>=A ], cost: 2 14: evalspeedFails4bb6in -> [8] : D'=D+A, [ B>=D && C>=1 ], cost: 3 15: evalspeedFails4bb6in -> [8] : D'=D-A, [ B>=D && 0>=C ], cost: 3 16: evalspeedFails4bb6in -> [8] : [], cost: 0 Applied chaining over branches and pruning: Start location: evalspeedFails4start Final control flow graph problem, now checking costs for infinitely many models: Start location: evalspeedFails4start 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),?)