WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l11 0: l0 -> l1 : b_16^0'=b_16^post_1, rt_11^0'=rt_11^post_1, st_15^0'=st_15^post_1, x_14^0'=x_14^post_1, [ 1<=x_14^0 && b_16^post_1==1 && rt_11^0==rt_11^post_1 && st_15^0==st_15^post_1 && x_14^0==x_14^post_1 ], cost: 1 4: l1 -> l5 : b_16^0'=b_16^post_5, rt_11^0'=rt_11^post_5, st_15^0'=st_15^post_5, x_14^0'=x_14^post_5, [ 0<=x_14^0 && x_14^0<=0 && rt_11^post_5==st_15^0 && b_16^0==b_16^post_5 && st_15^0==st_15^post_5 && x_14^0==x_14^post_5 ], cost: 1 5: l1 -> l6 : b_16^0'=b_16^post_6, rt_11^0'=rt_11^post_6, st_15^0'=st_15^post_6, x_14^0'=x_14^post_6, [ 1<=x_14^0 && b_16^0==b_16^post_6 && rt_11^0==rt_11^post_6 && st_15^0==st_15^post_6 && x_14^0==x_14^post_6 ], cost: 1 6: l1 -> l6 : b_16^0'=b_16^post_7, rt_11^0'=rt_11^post_7, st_15^0'=st_15^post_7, x_14^0'=x_14^post_7, [ 1+x_14^0<=0 && b_16^0==b_16^post_7 && rt_11^0==rt_11^post_7 && st_15^0==st_15^post_7 && x_14^0==x_14^post_7 ], cost: 1 1: l2 -> l4 : b_16^0'=b_16^post_2, rt_11^0'=rt_11^post_2, st_15^0'=st_15^post_2, x_14^0'=x_14^post_2, [ 1<=x_14^0 && b_16^0==b_16^post_2 && rt_11^0==rt_11^post_2 && st_15^0==st_15^post_2 && x_14^0==x_14^post_2 ], cost: 1 2: l2 -> l4 : b_16^0'=b_16^post_3, rt_11^0'=rt_11^post_3, st_15^0'=st_15^post_3, x_14^0'=x_14^post_3, [ 1+x_14^0<=0 && b_16^0==b_16^post_3 && rt_11^0==rt_11^post_3 && st_15^0==st_15^post_3 && x_14^0==x_14^post_3 ], cost: 1 3: l4 -> l3 : b_16^0'=b_16^post_4, rt_11^0'=rt_11^post_4, st_15^0'=st_15^post_4, x_14^0'=x_14^post_4, [ 1<=b_16^0 && b_16^0<=1 && x_14^post_4==-1+x_14^0 && b_16^post_4==0 && rt_11^0==rt_11^post_4 && st_15^0==st_15^post_4 ], cost: 1 14: l3 -> l7 : b_16^0'=b_16^post_15, rt_11^0'=rt_11^post_15, st_15^0'=st_15^post_15, x_14^0'=x_14^post_15, [ x_14^post_15==-x_14^0 && b_16^0==b_16^post_15 && rt_11^0==rt_11^post_15 && st_15^0==st_15^post_15 ], cost: 1 7: l6 -> l3 : b_16^0'=b_16^post_8, rt_11^0'=rt_11^post_8, st_15^0'=st_15^post_8, x_14^0'=x_14^post_8, [ 1<=b_16^0 && b_16^0<=1 && x_14^post_8==-1+x_14^0 && b_16^post_8==0 && rt_11^0==rt_11^post_8 && st_15^0==st_15^post_8 ], cost: 1 8: l7 -> l5 : b_16^0'=b_16^post_9, rt_11^0'=rt_11^post_9, st_15^0'=st_15^post_9, x_14^0'=x_14^post_9, [ 0<=x_14^0 && x_14^0<=0 && rt_11^post_9==st_15^0 && b_16^0==b_16^post_9 && st_15^0==st_15^post_9 && x_14^0==x_14^post_9 ], cost: 1 9: l7 -> l8 : b_16^0'=b_16^post_10, rt_11^0'=rt_11^post_10, st_15^0'=st_15^post_10, x_14^0'=x_14^post_10, [ 1<=x_14^0 && b_16^0==b_16^post_10 && rt_11^0==rt_11^post_10 && st_15^0==st_15^post_10 && x_14^0==x_14^post_10 ], cost: 1 10: l7 -> l8 : b_16^0'=b_16^post_11, rt_11^0'=rt_11^post_11, st_15^0'=st_15^post_11, x_14^0'=x_14^post_11, [ 1+x_14^0<=0 && b_16^0==b_16^post_11 && rt_11^0==rt_11^post_11 && st_15^0==st_15^post_11 && x_14^0==x_14^post_11 ], cost: 1 11: l8 -> l9 : b_16^0'=b_16^post_12, rt_11^0'=rt_11^post_12, st_15^0'=st_15^post_12, x_14^0'=x_14^post_12, [ 2<=b_16^0 && b_16^0==b_16^post_12 && rt_11^0==rt_11^post_12 && st_15^0==st_15^post_12 && x_14^0==x_14^post_12 ], cost: 1 12: l8 -> l9 : b_16^0'=b_16^post_13, rt_11^0'=rt_11^post_13, st_15^0'=st_15^post_13, x_14^0'=x_14^post_13, [ 1+b_16^0<=1 && b_16^0==b_16^post_13 && rt_11^0==rt_11^post_13 && st_15^0==st_15^post_13 && x_14^0==x_14^post_13 ], cost: 1 13: l9 -> l1 : b_16^0'=b_16^post_14, rt_11^0'=rt_11^post_14, st_15^0'=st_15^post_14, x_14^0'=x_14^post_14, [ x_14^1_1==1+x_14^0 && b_16^post_14==1 && x_14^post_14==-x_14^1_1 && rt_11^0==rt_11^post_14 && st_15^0==st_15^post_14 ], cost: 1 15: l10 -> l7 : b_16^0'=b_16^post_16, rt_11^0'=rt_11^post_16, st_15^0'=st_15^post_16, x_14^0'=x_14^post_16, [ x_14^post_16==-x_14^0 && b_16^0==b_16^post_16 && rt_11^0==rt_11^post_16 && st_15^0==st_15^post_16 ], cost: 1 16: l11 -> l0 : b_16^0'=b_16^post_17, rt_11^0'=rt_11^post_17, st_15^0'=st_15^post_17, x_14^0'=x_14^post_17, [ b_16^0==b_16^post_17 && rt_11^0==rt_11^post_17 && st_15^0==st_15^post_17 && x_14^0==x_14^post_17 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 16: l11 -> l0 : b_16^0'=b_16^post_17, rt_11^0'=rt_11^post_17, st_15^0'=st_15^post_17, x_14^0'=x_14^post_17, [ b_16^0==b_16^post_17 && rt_11^0==rt_11^post_17 && st_15^0==st_15^post_17 && x_14^0==x_14^post_17 ], cost: 1 Removed unreachable and leaf rules: Start location: l11 0: l0 -> l1 : b_16^0'=b_16^post_1, rt_11^0'=rt_11^post_1, st_15^0'=st_15^post_1, x_14^0'=x_14^post_1, [ 1<=x_14^0 && b_16^post_1==1 && rt_11^0==rt_11^post_1 && st_15^0==st_15^post_1 && x_14^0==x_14^post_1 ], cost: 1 5: l1 -> l6 : b_16^0'=b_16^post_6, rt_11^0'=rt_11^post_6, st_15^0'=st_15^post_6, x_14^0'=x_14^post_6, [ 1<=x_14^0 && b_16^0==b_16^post_6 && rt_11^0==rt_11^post_6 && st_15^0==st_15^post_6 && x_14^0==x_14^post_6 ], cost: 1 6: l1 -> l6 : b_16^0'=b_16^post_7, rt_11^0'=rt_11^post_7, st_15^0'=st_15^post_7, x_14^0'=x_14^post_7, [ 1+x_14^0<=0 && b_16^0==b_16^post_7 && rt_11^0==rt_11^post_7 && st_15^0==st_15^post_7 && x_14^0==x_14^post_7 ], cost: 1 14: l3 -> l7 : b_16^0'=b_16^post_15, rt_11^0'=rt_11^post_15, st_15^0'=st_15^post_15, x_14^0'=x_14^post_15, [ x_14^post_15==-x_14^0 && b_16^0==b_16^post_15 && rt_11^0==rt_11^post_15 && st_15^0==st_15^post_15 ], cost: 1 7: l6 -> l3 : b_16^0'=b_16^post_8, rt_11^0'=rt_11^post_8, st_15^0'=st_15^post_8, x_14^0'=x_14^post_8, [ 1<=b_16^0 && b_16^0<=1 && x_14^post_8==-1+x_14^0 && b_16^post_8==0 && rt_11^0==rt_11^post_8 && st_15^0==st_15^post_8 ], cost: 1 9: l7 -> l8 : b_16^0'=b_16^post_10, rt_11^0'=rt_11^post_10, st_15^0'=st_15^post_10, x_14^0'=x_14^post_10, [ 1<=x_14^0 && b_16^0==b_16^post_10 && rt_11^0==rt_11^post_10 && st_15^0==st_15^post_10 && x_14^0==x_14^post_10 ], cost: 1 10: l7 -> l8 : b_16^0'=b_16^post_11, rt_11^0'=rt_11^post_11, st_15^0'=st_15^post_11, x_14^0'=x_14^post_11, [ 1+x_14^0<=0 && b_16^0==b_16^post_11 && rt_11^0==rt_11^post_11 && st_15^0==st_15^post_11 && x_14^0==x_14^post_11 ], cost: 1 11: l8 -> l9 : b_16^0'=b_16^post_12, rt_11^0'=rt_11^post_12, st_15^0'=st_15^post_12, x_14^0'=x_14^post_12, [ 2<=b_16^0 && b_16^0==b_16^post_12 && rt_11^0==rt_11^post_12 && st_15^0==st_15^post_12 && x_14^0==x_14^post_12 ], cost: 1 12: l8 -> l9 : b_16^0'=b_16^post_13, rt_11^0'=rt_11^post_13, st_15^0'=st_15^post_13, x_14^0'=x_14^post_13, [ 1+b_16^0<=1 && b_16^0==b_16^post_13 && rt_11^0==rt_11^post_13 && st_15^0==st_15^post_13 && x_14^0==x_14^post_13 ], cost: 1 13: l9 -> l1 : b_16^0'=b_16^post_14, rt_11^0'=rt_11^post_14, st_15^0'=st_15^post_14, x_14^0'=x_14^post_14, [ x_14^1_1==1+x_14^0 && b_16^post_14==1 && x_14^post_14==-x_14^1_1 && rt_11^0==rt_11^post_14 && st_15^0==st_15^post_14 ], cost: 1 16: l11 -> l0 : b_16^0'=b_16^post_17, rt_11^0'=rt_11^post_17, st_15^0'=st_15^post_17, x_14^0'=x_14^post_17, [ b_16^0==b_16^post_17 && rt_11^0==rt_11^post_17 && st_15^0==st_15^post_17 && x_14^0==x_14^post_17 ], cost: 1 Simplified all rules, resulting in: Start location: l11 0: l0 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 1 5: l1 -> l6 : [ 1<=x_14^0 ], cost: 1 6: l1 -> l6 : [ 1+x_14^0<=0 ], cost: 1 14: l3 -> l7 : x_14^0'=-x_14^0, [], cost: 1 7: l6 -> l3 : b_16^0'=0, x_14^0'=-1+x_14^0, [ 1-b_16^0==0 ], cost: 1 9: l7 -> l8 : [ 1<=x_14^0 ], cost: 1 10: l7 -> l8 : [ 1+x_14^0<=0 ], cost: 1 11: l8 -> l9 : [ 2<=b_16^0 ], cost: 1 12: l8 -> l9 : [ 1+b_16^0<=1 ], cost: 1 13: l9 -> l1 : b_16^0'=1, x_14^0'=-1-x_14^0, [], cost: 1 16: l11 -> l0 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l11 5: l1 -> l6 : [ 1<=x_14^0 ], cost: 1 6: l1 -> l6 : [ 1+x_14^0<=0 ], cost: 1 18: l6 -> l7 : b_16^0'=0, x_14^0'=1-x_14^0, [ 1-b_16^0==0 ], cost: 2 9: l7 -> l8 : [ 1<=x_14^0 ], cost: 1 10: l7 -> l8 : [ 1+x_14^0<=0 ], cost: 1 11: l8 -> l9 : [ 2<=b_16^0 ], cost: 1 12: l8 -> l9 : [ 1+b_16^0<=1 ], cost: 1 13: l9 -> l1 : b_16^0'=1, x_14^0'=-1-x_14^0, [], cost: 1 17: l11 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l11 19: l1 -> l7 : b_16^0'=0, x_14^0'=1-x_14^0, [ 1<=x_14^0 && 1-b_16^0==0 ], cost: 3 20: l1 -> l7 : b_16^0'=0, x_14^0'=1-x_14^0, [ 1+x_14^0<=0 && 1-b_16^0==0 ], cost: 3 21: l7 -> l9 : [ 1<=x_14^0 && 2<=b_16^0 ], cost: 2 22: l7 -> l9 : [ 1<=x_14^0 && 1+b_16^0<=1 ], cost: 2 23: l7 -> l9 : [ 1+x_14^0<=0 && 2<=b_16^0 ], cost: 2 24: l7 -> l9 : [ 1+x_14^0<=0 && 1+b_16^0<=1 ], cost: 2 13: l9 -> l1 : b_16^0'=1, x_14^0'=-1-x_14^0, [], cost: 1 17: l11 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l11 25: l1 -> l9 : b_16^0'=0, x_14^0'=1-x_14^0, [ 1-b_16^0==0 && 2-x_14^0<=0 ], cost: 5 26: l1 -> l9 : b_16^0'=0, x_14^0'=1-x_14^0, [ 1+x_14^0<=0 && 1-b_16^0==0 ], cost: 5 13: l9 -> l1 : b_16^0'=1, x_14^0'=-1-x_14^0, [], cost: 1 17: l11 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l11 27: l1 -> l1 : b_16^0'=1, x_14^0'=-2+x_14^0, [ 1-b_16^0==0 && 2-x_14^0<=0 ], cost: 6 28: l1 -> l1 : b_16^0'=1, x_14^0'=-2+x_14^0, [ 1+x_14^0<=0 && 1-b_16^0==0 ], cost: 6 17: l11 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 27: l1 -> l1 : b_16^0'=1, x_14^0'=-2+x_14^0, [ 1-b_16^0==0 && 2-x_14^0<=0 ], cost: 6 28: l1 -> l1 : b_16^0'=1, x_14^0'=-2+x_14^0, [ 1+x_14^0<=0 && 1-b_16^0==0 ], cost: 6 Accelerated rule 27 with backward acceleration, yielding the new rule 29. Accelerated rule 28 with non-termination, yielding the new rule 30. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 27 28. Accelerated all simple loops using metering functions (where possible): Start location: l11 29: l1 -> l1 : b_16^0'=1, x_14^0'=-2*k+x_14^0, [ 1-b_16^0==0 && k>=1 && 2*k-x_14^0<=0 ], cost: 6*k 30: l1 -> [12] : [ 1+x_14^0<=0 && 1-b_16^0==0 ], cost: NONTERM 17: l11 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: l11 17: l11 -> l1 : b_16^0'=1, [ 1<=x_14^0 ], cost: 2 31: l11 -> l1 : b_16^0'=1, x_14^0'=-2*k+x_14^0, [ 1<=x_14^0 && k>=1 && 2*k-x_14^0<=0 ], cost: 2+6*k Removed unreachable locations (and leaf rules with constant cost): Start location: l11 31: l11 -> l1 : b_16^0'=1, x_14^0'=-2*k+x_14^0, [ 1<=x_14^0 && k>=1 && 2*k-x_14^0<=0 ], cost: 2+6*k ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l11 31: l11 -> l1 : b_16^0'=1, x_14^0'=-2*k+x_14^0, [ 1<=x_14^0 && k>=1 && 2*k-x_14^0<=0 ], cost: 2+6*k Computing asymptotic complexity for rule 31 Simplified the guard: 31: l11 -> l1 : b_16^0'=1, x_14^0'=-2*k+x_14^0, [ k>=1 && 2*k-x_14^0<=0 ], cost: 2+6*k 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: [ b_16^0==b_16^post_17 && rt_11^0==rt_11^post_17 && st_15^0==st_15^post_17 && x_14^0==x_14^post_17 ] WORST_CASE(Omega(1),?)