WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l11 0: l0 -> l1 : __const_10^0'=__const_10^post_1, il^0'=il^post_1, ret_foo5^0'=ret_foo5^post_1, ret_foo7^0'=ret_foo7^post_1, tmp^0'=tmp^post_1, tmp___0^0'=tmp___0^post_1, x4^0'=x4^post_1, x6^0'=x6^post_1, [ tmp^0<=0 && 0<=tmp^0 && __const_10^0==__const_10^post_1 && il^0==il^post_1 && ret_foo5^0==ret_foo5^post_1 && ret_foo7^0==ret_foo7^post_1 && tmp^0==tmp^post_1 && tmp___0^0==tmp___0^post_1 && x4^0==x4^post_1 && x6^0==x6^post_1 ], cost: 1 1: l0 -> l2 : __const_10^0'=__const_10^post_2, il^0'=il^post_2, ret_foo5^0'=ret_foo5^post_2, ret_foo7^0'=ret_foo7^post_2, tmp^0'=tmp^post_2, tmp___0^0'=tmp___0^post_2, x4^0'=x4^post_2, x6^0'=x6^post_2, [ 1<=tmp^0 && __const_10^0==__const_10^post_2 && il^0==il^post_2 && ret_foo5^0==ret_foo5^post_2 && ret_foo7^0==ret_foo7^post_2 && tmp^0==tmp^post_2 && tmp___0^0==tmp___0^post_2 && x4^0==x4^post_2 && x6^0==x6^post_2 ], cost: 1 2: l0 -> l2 : __const_10^0'=__const_10^post_3, il^0'=il^post_3, ret_foo5^0'=ret_foo5^post_3, ret_foo7^0'=ret_foo7^post_3, tmp^0'=tmp^post_3, tmp___0^0'=tmp___0^post_3, x4^0'=x4^post_3, x6^0'=x6^post_3, [ 1+tmp^0<=0 && __const_10^0==__const_10^post_3 && il^0==il^post_3 && ret_foo5^0==ret_foo5^post_3 && ret_foo7^0==ret_foo7^post_3 && tmp^0==tmp^post_3 && tmp___0^0==tmp___0^post_3 && x4^0==x4^post_3 && x6^0==x6^post_3 ], cost: 1 12: l1 -> l7 : __const_10^0'=__const_10^post_13, il^0'=il^post_13, ret_foo5^0'=ret_foo5^post_13, ret_foo7^0'=ret_foo7^post_13, tmp^0'=tmp^post_13, tmp___0^0'=tmp___0^post_13, x4^0'=x4^post_13, x6^0'=x6^post_13, [ il^post_13==0 && __const_10^0==__const_10^post_13 && ret_foo5^0==ret_foo5^post_13 && ret_foo7^0==ret_foo7^post_13 && tmp^0==tmp^post_13 && tmp___0^0==tmp___0^post_13 && x4^0==x4^post_13 && x6^0==x6^post_13 ], cost: 1 13: l2 -> l1 : __const_10^0'=__const_10^post_14, il^0'=il^post_14, ret_foo5^0'=ret_foo5^post_14, ret_foo7^0'=ret_foo7^post_14, tmp^0'=tmp^post_14, tmp___0^0'=tmp___0^post_14, x4^0'=x4^post_14, x6^0'=x6^post_14, [ __const_10^0<=il^0 && __const_10^0==__const_10^post_14 && il^0==il^post_14 && ret_foo5^0==ret_foo5^post_14 && ret_foo7^0==ret_foo7^post_14 && tmp^0==tmp^post_14 && tmp___0^0==tmp___0^post_14 && x4^0==x4^post_14 && x6^0==x6^post_14 ], cost: 1 14: l2 -> l3 : __const_10^0'=__const_10^post_15, il^0'=il^post_15, ret_foo5^0'=ret_foo5^post_15, ret_foo7^0'=ret_foo7^post_15, tmp^0'=tmp^post_15, tmp___0^0'=tmp___0^post_15, x4^0'=x4^post_15, x6^0'=x6^post_15, [ 1+il^0<=__const_10^0 && il^post_15==1+il^0 && __const_10^0==__const_10^post_15 && ret_foo5^0==ret_foo5^post_15 && ret_foo7^0==ret_foo7^post_15 && tmp^0==tmp^post_15 && tmp___0^0==tmp___0^post_15 && x4^0==x4^post_15 && x6^0==x6^post_15 ], cost: 1 3: l3 -> l0 : __const_10^0'=__const_10^post_4, il^0'=il^post_4, ret_foo5^0'=ret_foo5^post_4, ret_foo7^0'=ret_foo7^post_4, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_4, x4^0'=x4^post_4, x6^0'=x6^post_4, [ x4^post_4==il^0 && ret_foo5^post_4==ret_foo5^post_4 && tmp^post_4==ret_foo5^post_4 && __const_10^0==__const_10^post_4 && il^0==il^post_4 && ret_foo7^0==ret_foo7^post_4 && tmp___0^0==tmp___0^post_4 && x6^0==x6^post_4 ], cost: 1 4: l4 -> l5 : __const_10^0'=__const_10^post_5, il^0'=il^post_5, ret_foo5^0'=ret_foo5^post_5, ret_foo7^0'=ret_foo7^post_5, tmp^0'=tmp^post_5, tmp___0^0'=tmp___0^post_5, x4^0'=x4^post_5, x6^0'=x6^post_5, [ __const_10^0==__const_10^post_5 && il^0==il^post_5 && ret_foo5^0==ret_foo5^post_5 && ret_foo7^0==ret_foo7^post_5 && tmp^0==tmp^post_5 && tmp___0^0==tmp___0^post_5 && x4^0==x4^post_5 && x6^0==x6^post_5 ], cost: 1 5: l6 -> l7 : __const_10^0'=__const_10^post_6, il^0'=il^post_6, ret_foo5^0'=ret_foo5^post_6, ret_foo7^0'=ret_foo7^post_6, tmp^0'=tmp^post_6, tmp___0^0'=tmp___0^post_6, x4^0'=x4^post_6, x6^0'=x6^post_6, [ il^post_6==1+il^0 && __const_10^0==__const_10^post_6 && ret_foo5^0==ret_foo5^post_6 && ret_foo7^0==ret_foo7^post_6 && tmp^0==tmp^post_6 && tmp___0^0==tmp___0^post_6 && x4^0==x4^post_6 && x6^0==x6^post_6 ], cost: 1 9: l7 -> l9 : __const_10^0'=__const_10^post_10, il^0'=il^post_10, ret_foo5^0'=ret_foo5^post_10, ret_foo7^0'=ret_foo7^post_10, tmp^0'=tmp^post_10, tmp___0^0'=tmp___0^post_10, x4^0'=x4^post_10, x6^0'=x6^post_10, [ __const_10^0==__const_10^post_10 && il^0==il^post_10 && ret_foo5^0==ret_foo5^post_10 && ret_foo7^0==ret_foo7^post_10 && tmp^0==tmp^post_10 && tmp___0^0==tmp___0^post_10 && x4^0==x4^post_10 && x6^0==x6^post_10 ], cost: 1 6: l8 -> l4 : __const_10^0'=__const_10^post_7, il^0'=il^post_7, ret_foo5^0'=ret_foo5^post_7, ret_foo7^0'=ret_foo7^post_7, tmp^0'=tmp^post_7, tmp___0^0'=tmp___0^post_7, x4^0'=x4^post_7, x6^0'=x6^post_7, [ tmp___0^0<=0 && 0<=tmp___0^0 && __const_10^0==__const_10^post_7 && il^0==il^post_7 && ret_foo5^0==ret_foo5^post_7 && ret_foo7^0==ret_foo7^post_7 && tmp^0==tmp^post_7 && tmp___0^0==tmp___0^post_7 && x4^0==x4^post_7 && x6^0==x6^post_7 ], cost: 1 7: l8 -> l6 : __const_10^0'=__const_10^post_8, il^0'=il^post_8, ret_foo5^0'=ret_foo5^post_8, ret_foo7^0'=ret_foo7^post_8, tmp^0'=tmp^post_8, tmp___0^0'=tmp___0^post_8, x4^0'=x4^post_8, x6^0'=x6^post_8, [ 1<=tmp___0^0 && __const_10^0==__const_10^post_8 && il^0==il^post_8 && ret_foo5^0==ret_foo5^post_8 && ret_foo7^0==ret_foo7^post_8 && tmp^0==tmp^post_8 && tmp___0^0==tmp___0^post_8 && x4^0==x4^post_8 && x6^0==x6^post_8 ], cost: 1 8: l8 -> l6 : __const_10^0'=__const_10^post_9, il^0'=il^post_9, ret_foo5^0'=ret_foo5^post_9, ret_foo7^0'=ret_foo7^post_9, tmp^0'=tmp^post_9, tmp___0^0'=tmp___0^post_9, x4^0'=x4^post_9, x6^0'=x6^post_9, [ 1+tmp___0^0<=0 && __const_10^0==__const_10^post_9 && il^0==il^post_9 && ret_foo5^0==ret_foo5^post_9 && ret_foo7^0==ret_foo7^post_9 && tmp^0==tmp^post_9 && tmp___0^0==tmp___0^post_9 && x4^0==x4^post_9 && x6^0==x6^post_9 ], cost: 1 10: l9 -> l4 : __const_10^0'=__const_10^post_11, il^0'=il^post_11, ret_foo5^0'=ret_foo5^post_11, ret_foo7^0'=ret_foo7^post_11, tmp^0'=tmp^post_11, tmp___0^0'=tmp___0^post_11, x4^0'=x4^post_11, x6^0'=x6^post_11, [ __const_10^0<=il^0 && __const_10^0==__const_10^post_11 && il^0==il^post_11 && ret_foo5^0==ret_foo5^post_11 && ret_foo7^0==ret_foo7^post_11 && tmp^0==tmp^post_11 && tmp___0^0==tmp___0^post_11 && x4^0==x4^post_11 && x6^0==x6^post_11 ], cost: 1 11: l9 -> l8 : __const_10^0'=__const_10^post_12, il^0'=il^post_12, ret_foo5^0'=ret_foo5^post_12, ret_foo7^0'=ret_foo7^post_12, tmp^0'=tmp^post_12, tmp___0^0'=tmp___0^post_12, x4^0'=x4^post_12, x6^0'=x6^post_12, [ 1+il^0<=__const_10^0 && x6^post_12==il^0 && ret_foo7^post_12==ret_foo7^post_12 && tmp___0^post_12==ret_foo7^post_12 && __const_10^0==__const_10^post_12 && il^0==il^post_12 && ret_foo5^0==ret_foo5^post_12 && tmp^0==tmp^post_12 && x4^0==x4^post_12 ], cost: 1 15: l10 -> l3 : __const_10^0'=__const_10^post_16, il^0'=il^post_16, ret_foo5^0'=ret_foo5^post_16, ret_foo7^0'=ret_foo7^post_16, tmp^0'=tmp^post_16, tmp___0^0'=tmp___0^post_16, x4^0'=x4^post_16, x6^0'=x6^post_16, [ il^post_16==0 && __const_10^0==__const_10^post_16 && ret_foo5^0==ret_foo5^post_16 && ret_foo7^0==ret_foo7^post_16 && tmp^0==tmp^post_16 && tmp___0^0==tmp___0^post_16 && x4^0==x4^post_16 && x6^0==x6^post_16 ], cost: 1 16: l11 -> l10 : __const_10^0'=__const_10^post_17, il^0'=il^post_17, ret_foo5^0'=ret_foo5^post_17, ret_foo7^0'=ret_foo7^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, x4^0'=x4^post_17, x6^0'=x6^post_17, [ __const_10^0==__const_10^post_17 && il^0==il^post_17 && ret_foo5^0==ret_foo5^post_17 && ret_foo7^0==ret_foo7^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 && x4^0==x4^post_17 && x6^0==x6^post_17 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 16: l11 -> l10 : __const_10^0'=__const_10^post_17, il^0'=il^post_17, ret_foo5^0'=ret_foo5^post_17, ret_foo7^0'=ret_foo7^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, x4^0'=x4^post_17, x6^0'=x6^post_17, [ __const_10^0==__const_10^post_17 && il^0==il^post_17 && ret_foo5^0==ret_foo5^post_17 && ret_foo7^0==ret_foo7^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 && x4^0==x4^post_17 && x6^0==x6^post_17 ], cost: 1 Removed unreachable and leaf rules: Start location: l11 0: l0 -> l1 : __const_10^0'=__const_10^post_1, il^0'=il^post_1, ret_foo5^0'=ret_foo5^post_1, ret_foo7^0'=ret_foo7^post_1, tmp^0'=tmp^post_1, tmp___0^0'=tmp___0^post_1, x4^0'=x4^post_1, x6^0'=x6^post_1, [ tmp^0<=0 && 0<=tmp^0 && __const_10^0==__const_10^post_1 && il^0==il^post_1 && ret_foo5^0==ret_foo5^post_1 && ret_foo7^0==ret_foo7^post_1 && tmp^0==tmp^post_1 && tmp___0^0==tmp___0^post_1 && x4^0==x4^post_1 && x6^0==x6^post_1 ], cost: 1 1: l0 -> l2 : __const_10^0'=__const_10^post_2, il^0'=il^post_2, ret_foo5^0'=ret_foo5^post_2, ret_foo7^0'=ret_foo7^post_2, tmp^0'=tmp^post_2, tmp___0^0'=tmp___0^post_2, x4^0'=x4^post_2, x6^0'=x6^post_2, [ 1<=tmp^0 && __const_10^0==__const_10^post_2 && il^0==il^post_2 && ret_foo5^0==ret_foo5^post_2 && ret_foo7^0==ret_foo7^post_2 && tmp^0==tmp^post_2 && tmp___0^0==tmp___0^post_2 && x4^0==x4^post_2 && x6^0==x6^post_2 ], cost: 1 2: l0 -> l2 : __const_10^0'=__const_10^post_3, il^0'=il^post_3, ret_foo5^0'=ret_foo5^post_3, ret_foo7^0'=ret_foo7^post_3, tmp^0'=tmp^post_3, tmp___0^0'=tmp___0^post_3, x4^0'=x4^post_3, x6^0'=x6^post_3, [ 1+tmp^0<=0 && __const_10^0==__const_10^post_3 && il^0==il^post_3 && ret_foo5^0==ret_foo5^post_3 && ret_foo7^0==ret_foo7^post_3 && tmp^0==tmp^post_3 && tmp___0^0==tmp___0^post_3 && x4^0==x4^post_3 && x6^0==x6^post_3 ], cost: 1 12: l1 -> l7 : __const_10^0'=__const_10^post_13, il^0'=il^post_13, ret_foo5^0'=ret_foo5^post_13, ret_foo7^0'=ret_foo7^post_13, tmp^0'=tmp^post_13, tmp___0^0'=tmp___0^post_13, x4^0'=x4^post_13, x6^0'=x6^post_13, [ il^post_13==0 && __const_10^0==__const_10^post_13 && ret_foo5^0==ret_foo5^post_13 && ret_foo7^0==ret_foo7^post_13 && tmp^0==tmp^post_13 && tmp___0^0==tmp___0^post_13 && x4^0==x4^post_13 && x6^0==x6^post_13 ], cost: 1 13: l2 -> l1 : __const_10^0'=__const_10^post_14, il^0'=il^post_14, ret_foo5^0'=ret_foo5^post_14, ret_foo7^0'=ret_foo7^post_14, tmp^0'=tmp^post_14, tmp___0^0'=tmp___0^post_14, x4^0'=x4^post_14, x6^0'=x6^post_14, [ __const_10^0<=il^0 && __const_10^0==__const_10^post_14 && il^0==il^post_14 && ret_foo5^0==ret_foo5^post_14 && ret_foo7^0==ret_foo7^post_14 && tmp^0==tmp^post_14 && tmp___0^0==tmp___0^post_14 && x4^0==x4^post_14 && x6^0==x6^post_14 ], cost: 1 14: l2 -> l3 : __const_10^0'=__const_10^post_15, il^0'=il^post_15, ret_foo5^0'=ret_foo5^post_15, ret_foo7^0'=ret_foo7^post_15, tmp^0'=tmp^post_15, tmp___0^0'=tmp___0^post_15, x4^0'=x4^post_15, x6^0'=x6^post_15, [ 1+il^0<=__const_10^0 && il^post_15==1+il^0 && __const_10^0==__const_10^post_15 && ret_foo5^0==ret_foo5^post_15 && ret_foo7^0==ret_foo7^post_15 && tmp^0==tmp^post_15 && tmp___0^0==tmp___0^post_15 && x4^0==x4^post_15 && x6^0==x6^post_15 ], cost: 1 3: l3 -> l0 : __const_10^0'=__const_10^post_4, il^0'=il^post_4, ret_foo5^0'=ret_foo5^post_4, ret_foo7^0'=ret_foo7^post_4, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_4, x4^0'=x4^post_4, x6^0'=x6^post_4, [ x4^post_4==il^0 && ret_foo5^post_4==ret_foo5^post_4 && tmp^post_4==ret_foo5^post_4 && __const_10^0==__const_10^post_4 && il^0==il^post_4 && ret_foo7^0==ret_foo7^post_4 && tmp___0^0==tmp___0^post_4 && x6^0==x6^post_4 ], cost: 1 5: l6 -> l7 : __const_10^0'=__const_10^post_6, il^0'=il^post_6, ret_foo5^0'=ret_foo5^post_6, ret_foo7^0'=ret_foo7^post_6, tmp^0'=tmp^post_6, tmp___0^0'=tmp___0^post_6, x4^0'=x4^post_6, x6^0'=x6^post_6, [ il^post_6==1+il^0 && __const_10^0==__const_10^post_6 && ret_foo5^0==ret_foo5^post_6 && ret_foo7^0==ret_foo7^post_6 && tmp^0==tmp^post_6 && tmp___0^0==tmp___0^post_6 && x4^0==x4^post_6 && x6^0==x6^post_6 ], cost: 1 9: l7 -> l9 : __const_10^0'=__const_10^post_10, il^0'=il^post_10, ret_foo5^0'=ret_foo5^post_10, ret_foo7^0'=ret_foo7^post_10, tmp^0'=tmp^post_10, tmp___0^0'=tmp___0^post_10, x4^0'=x4^post_10, x6^0'=x6^post_10, [ __const_10^0==__const_10^post_10 && il^0==il^post_10 && ret_foo5^0==ret_foo5^post_10 && ret_foo7^0==ret_foo7^post_10 && tmp^0==tmp^post_10 && tmp___0^0==tmp___0^post_10 && x4^0==x4^post_10 && x6^0==x6^post_10 ], cost: 1 7: l8 -> l6 : __const_10^0'=__const_10^post_8, il^0'=il^post_8, ret_foo5^0'=ret_foo5^post_8, ret_foo7^0'=ret_foo7^post_8, tmp^0'=tmp^post_8, tmp___0^0'=tmp___0^post_8, x4^0'=x4^post_8, x6^0'=x6^post_8, [ 1<=tmp___0^0 && __const_10^0==__const_10^post_8 && il^0==il^post_8 && ret_foo5^0==ret_foo5^post_8 && ret_foo7^0==ret_foo7^post_8 && tmp^0==tmp^post_8 && tmp___0^0==tmp___0^post_8 && x4^0==x4^post_8 && x6^0==x6^post_8 ], cost: 1 8: l8 -> l6 : __const_10^0'=__const_10^post_9, il^0'=il^post_9, ret_foo5^0'=ret_foo5^post_9, ret_foo7^0'=ret_foo7^post_9, tmp^0'=tmp^post_9, tmp___0^0'=tmp___0^post_9, x4^0'=x4^post_9, x6^0'=x6^post_9, [ 1+tmp___0^0<=0 && __const_10^0==__const_10^post_9 && il^0==il^post_9 && ret_foo5^0==ret_foo5^post_9 && ret_foo7^0==ret_foo7^post_9 && tmp^0==tmp^post_9 && tmp___0^0==tmp___0^post_9 && x4^0==x4^post_9 && x6^0==x6^post_9 ], cost: 1 11: l9 -> l8 : __const_10^0'=__const_10^post_12, il^0'=il^post_12, ret_foo5^0'=ret_foo5^post_12, ret_foo7^0'=ret_foo7^post_12, tmp^0'=tmp^post_12, tmp___0^0'=tmp___0^post_12, x4^0'=x4^post_12, x6^0'=x6^post_12, [ 1+il^0<=__const_10^0 && x6^post_12==il^0 && ret_foo7^post_12==ret_foo7^post_12 && tmp___0^post_12==ret_foo7^post_12 && __const_10^0==__const_10^post_12 && il^0==il^post_12 && ret_foo5^0==ret_foo5^post_12 && tmp^0==tmp^post_12 && x4^0==x4^post_12 ], cost: 1 15: l10 -> l3 : __const_10^0'=__const_10^post_16, il^0'=il^post_16, ret_foo5^0'=ret_foo5^post_16, ret_foo7^0'=ret_foo7^post_16, tmp^0'=tmp^post_16, tmp___0^0'=tmp___0^post_16, x4^0'=x4^post_16, x6^0'=x6^post_16, [ il^post_16==0 && __const_10^0==__const_10^post_16 && ret_foo5^0==ret_foo5^post_16 && ret_foo7^0==ret_foo7^post_16 && tmp^0==tmp^post_16 && tmp___0^0==tmp___0^post_16 && x4^0==x4^post_16 && x6^0==x6^post_16 ], cost: 1 16: l11 -> l10 : __const_10^0'=__const_10^post_17, il^0'=il^post_17, ret_foo5^0'=ret_foo5^post_17, ret_foo7^0'=ret_foo7^post_17, tmp^0'=tmp^post_17, tmp___0^0'=tmp___0^post_17, x4^0'=x4^post_17, x6^0'=x6^post_17, [ __const_10^0==__const_10^post_17 && il^0==il^post_17 && ret_foo5^0==ret_foo5^post_17 && ret_foo7^0==ret_foo7^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 && x4^0==x4^post_17 && x6^0==x6^post_17 ], cost: 1 Simplified all rules, resulting in: Start location: l11 0: l0 -> l1 : [ tmp^0==0 ], cost: 1 1: l0 -> l2 : [ 1<=tmp^0 ], cost: 1 2: l0 -> l2 : [ 1+tmp^0<=0 ], cost: 1 12: l1 -> l7 : il^0'=0, [], cost: 1 13: l2 -> l1 : [ __const_10^0<=il^0 ], cost: 1 14: l2 -> l3 : il^0'=1+il^0, [ 1+il^0<=__const_10^0 ], cost: 1 3: l3 -> l0 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [], cost: 1 5: l6 -> l7 : il^0'=1+il^0, [], cost: 1 9: l7 -> l9 : [], cost: 1 7: l8 -> l6 : [ 1<=tmp___0^0 ], cost: 1 8: l8 -> l6 : [ 1+tmp___0^0<=0 ], cost: 1 11: l9 -> l8 : ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 ], cost: 1 15: l10 -> l3 : il^0'=0, [], cost: 1 16: l11 -> l10 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l11 0: l0 -> l1 : [ tmp^0==0 ], cost: 1 1: l0 -> l2 : [ 1<=tmp^0 ], cost: 1 2: l0 -> l2 : [ 1+tmp^0<=0 ], cost: 1 12: l1 -> l7 : il^0'=0, [], cost: 1 13: l2 -> l1 : [ __const_10^0<=il^0 ], cost: 1 14: l2 -> l3 : il^0'=1+il^0, [ 1+il^0<=__const_10^0 ], cost: 1 3: l3 -> l0 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [], cost: 1 5: l6 -> l7 : il^0'=1+il^0, [], cost: 1 18: l7 -> l8 : ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 ], cost: 2 7: l8 -> l6 : [ 1<=tmp___0^0 ], cost: 1 8: l8 -> l6 : [ 1+tmp___0^0<=0 ], cost: 1 17: l11 -> l3 : il^0'=0, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l11 12: l1 -> l7 : il^0'=0, [], cost: 1 13: l2 -> l1 : [ __const_10^0<=il^0 ], cost: 1 14: l2 -> l3 : il^0'=1+il^0, [ 1+il^0<=__const_10^0 ], cost: 1 19: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ tmp^post_4==0 ], cost: 2 20: l3 -> l2 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 ], cost: 2 21: l3 -> l2 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 ], cost: 2 5: l6 -> l7 : il^0'=1+il^0, [], cost: 1 22: l7 -> l6 : ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 && 1<=tmp___0^post_12 ], cost: 3 23: l7 -> l6 : ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 && 1+tmp___0^post_12<=0 ], cost: 3 17: l11 -> l3 : il^0'=0, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l11 12: l1 -> l7 : il^0'=0, [], cost: 1 19: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ tmp^post_4==0 ], cost: 2 24: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 && __const_10^0<=il^0 ], cost: 3 25: l3 -> l3 : il^0'=1+il^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 && 1+il^0<=__const_10^0 ], cost: 3 26: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 && __const_10^0<=il^0 ], cost: 3 27: l3 -> l3 : il^0'=1+il^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 && 1+il^0<=__const_10^0 ], cost: 3 28: l7 -> l7 : il^0'=1+il^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 && 1<=tmp___0^post_12 ], cost: 4 29: l7 -> l7 : il^0'=1+il^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 && 1+tmp___0^post_12<=0 ], cost: 4 17: l11 -> l3 : il^0'=0, [], cost: 2 Accelerating simple loops of location 3. Accelerating the following rules: 25: l3 -> l3 : il^0'=1+il^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 && 1+il^0<=__const_10^0 ], cost: 3 27: l3 -> l3 : il^0'=1+il^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 && 1+il^0<=__const_10^0 ], cost: 3 Accelerated rule 25 with backward acceleration, yielding the new rule 30. Accelerated rule 27 with backward acceleration, yielding the new rule 31. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 25 27. Accelerating simple loops of location 7. Accelerating the following rules: 28: l7 -> l7 : il^0'=1+il^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 && 1<=tmp___0^post_12 ], cost: 4 29: l7 -> l7 : il^0'=1+il^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=il^0, [ 1+il^0<=__const_10^0 && 1+tmp___0^post_12<=0 ], cost: 4 Accelerated rule 28 with backward acceleration, yielding the new rule 32. Accelerated rule 29 with backward acceleration, yielding the new rule 33. [accelerate] Nesting with 2 inner and 2 outer candidates Removing the simple loops: 28 29. Accelerated all simple loops using metering functions (where possible): Start location: l11 12: l1 -> l7 : il^0'=0, [], cost: 1 19: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ tmp^post_4==0 ], cost: 2 24: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 && __const_10^0<=il^0 ], cost: 3 26: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 && __const_10^0<=il^0 ], cost: 3 30: l3 -> l3 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=-1+__const_10^0, [ 1<=tmp^post_4 && -il^0+__const_10^0>=1 ], cost: -3*il^0+3*__const_10^0 31: l3 -> l3 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && -il^0+__const_10^0>=1 ], cost: -3*il^0+3*__const_10^0 32: l7 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1<=tmp___0^post_12 && -il^0+__const_10^0>=1 ], cost: -4*il^0+4*__const_10^0 33: l7 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1+tmp___0^post_12<=0 && -il^0+__const_10^0>=1 ], cost: -4*il^0+4*__const_10^0 17: l11 -> l3 : il^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l11 12: l1 -> l7 : il^0'=0, [], cost: 1 36: l1 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1<=tmp___0^post_12 && __const_10^0>=1 ], cost: 1+4*__const_10^0 37: l1 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1+tmp___0^post_12<=0 && __const_10^0>=1 ], cost: 1+4*__const_10^0 19: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ tmp^post_4==0 ], cost: 2 24: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 && __const_10^0<=il^0 ], cost: 3 26: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 && __const_10^0<=il^0 ], cost: 3 17: l11 -> l3 : il^0'=0, [], cost: 2 34: l11 -> l3 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=-1+__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 ], cost: 2+3*__const_10^0 35: l11 -> l3 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 ], cost: 2+3*__const_10^0 Removed unreachable locations (and leaf rules with constant cost): Start location: l11 36: l1 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1<=tmp___0^post_12 && __const_10^0>=1 ], cost: 1+4*__const_10^0 37: l1 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1+tmp___0^post_12<=0 && __const_10^0>=1 ], cost: 1+4*__const_10^0 19: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ tmp^post_4==0 ], cost: 2 24: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1<=tmp^post_4 && __const_10^0<=il^0 ], cost: 3 26: l3 -> l1 : ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=il^0, [ 1+tmp^post_4<=0 && __const_10^0<=il^0 ], cost: 3 17: l11 -> l3 : il^0'=0, [], cost: 2 34: l11 -> l3 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=-1+__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 ], cost: 2+3*__const_10^0 35: l11 -> l3 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 ], cost: 2+3*__const_10^0 Eliminated locations (on tree-shaped paths): Start location: l11 36: l1 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1<=tmp___0^post_12 && __const_10^0>=1 ], cost: 1+4*__const_10^0 37: l1 -> l7 : il^0'=__const_10^0, ret_foo7^0'=tmp___0^post_12, tmp___0^0'=tmp___0^post_12, x6^0'=-1+__const_10^0, [ 1+tmp___0^post_12<=0 && __const_10^0>=1 ], cost: 1+4*__const_10^0 38: l11 -> l1 : il^0'=0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=0, [ tmp^post_4==0 ], cost: 4 39: l11 -> l1 : il^0'=0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=0, [ 1<=tmp^post_4 && __const_10^0<=0 ], cost: 5 40: l11 -> l1 : il^0'=0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=0, [ 1+tmp^post_4<=0 && __const_10^0<=0 ], cost: 5 41: l11 -> l1 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 ], cost: 5+3*__const_10^0 42: l11 -> l1 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, tmp^0'=tmp^post_4, x4^0'=__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 ], cost: 5+3*__const_10^0 43: l11 -> [14] : [ 1<=tmp^post_4 && __const_10^0>=1 ], cost: 2+3*__const_10^0 44: l11 -> [14] : [ 1+tmp^post_4<=0 && __const_10^0>=1 ], cost: 2+3*__const_10^0 Eliminated locations (on tree-shaped paths): Start location: l11 43: l11 -> [14] : [ 1<=tmp^post_4 && __const_10^0>=1 ], cost: 2+3*__const_10^0 44: l11 -> [14] : [ 1+tmp^post_4<=0 && __const_10^0>=1 ], cost: 2+3*__const_10^0 45: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=0, x6^0'=-1+__const_10^0, [ tmp^post_4==0 && 1<=tmp___0^post_12 && __const_10^0>=1 ], cost: 5+4*__const_10^0 46: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=0, x6^0'=-1+__const_10^0, [ tmp^post_4==0 && 1+tmp___0^post_12<=0 && __const_10^0>=1 ], cost: 5+4*__const_10^0 47: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 && 1<=tmp___0^post_12 ], cost: 6+7*__const_10^0 48: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 && 1+tmp___0^post_12<=0 ], cost: 6+7*__const_10^0 49: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 && 1<=tmp___0^post_12 ], cost: 6+7*__const_10^0 50: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 && 1+tmp___0^post_12<=0 ], cost: 6+7*__const_10^0 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l11 43: l11 -> [14] : [ 1<=tmp^post_4 && __const_10^0>=1 ], cost: 2+3*__const_10^0 44: l11 -> [14] : [ 1+tmp^post_4<=0 && __const_10^0>=1 ], cost: 2+3*__const_10^0 45: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=0, x6^0'=-1+__const_10^0, [ tmp^post_4==0 && 1<=tmp___0^post_12 && __const_10^0>=1 ], cost: 5+4*__const_10^0 46: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=0, x6^0'=-1+__const_10^0, [ tmp^post_4==0 && 1+tmp___0^post_12<=0 && __const_10^0>=1 ], cost: 5+4*__const_10^0 47: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 && 1<=tmp___0^post_12 ], cost: 6+7*__const_10^0 48: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1<=tmp^post_4 && __const_10^0>=1 && 1+tmp___0^post_12<=0 ], cost: 6+7*__const_10^0 49: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 && 1<=tmp___0^post_12 ], cost: 6+7*__const_10^0 50: l11 -> l7 : il^0'=__const_10^0, ret_foo5^0'=tmp^post_4, ret_foo7^0'=tmp___0^post_12, tmp^0'=tmp^post_4, tmp___0^0'=tmp___0^post_12, x4^0'=__const_10^0, x6^0'=-1+__const_10^0, [ 1+tmp^post_4<=0 && __const_10^0>=1 && 1+tmp___0^post_12<=0 ], cost: 6+7*__const_10^0 Computing asymptotic complexity for rule 43 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 44 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 45 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 46 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 47 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 48 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 49 Resulting cost 0 has complexity: Unknown Computing asymptotic complexity for rule 50 Resulting cost 0 has complexity: Unknown Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Constant Cpx degree: 0 Solved cost: 1 Rule cost: 1 Rule guard: [ __const_10^0==__const_10^post_17 && il^0==il^post_17 && ret_foo5^0==ret_foo5^post_17 && ret_foo7^0==ret_foo7^post_17 && tmp^0==tmp^post_17 && tmp___0^0==tmp___0^post_17 && x4^0==x4^post_17 && x6^0==x6^post_17 ] WORST_CASE(Omega(1),?)