WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l6 0: l0 -> l1 : result_11^0'=result_11^post_1, temp0_14^0'=temp0_14^post_1, x_13^0'=x_13^post_1, x_27^0'=x_27^post_1, x_32^0'=x_32^post_1, y_16^0'=y_16^post_1, y_28^0'=y_28^post_1, y_33^0'=y_33^post_1, [ x_13^post_1==x_13^post_1 && y_16^post_1==y_16^post_1 && result_11^0==result_11^post_1 && temp0_14^0==temp0_14^post_1 && x_27^0==x_27^post_1 && x_32^0==x_32^post_1 && y_28^0==y_28^post_1 && y_33^0==y_33^post_1 ], cost: 1 1: l1 -> l2 : result_11^0'=result_11^post_2, temp0_14^0'=temp0_14^post_2, x_13^0'=x_13^post_2, x_27^0'=x_27^post_2, x_32^0'=x_32^post_2, y_16^0'=y_16^post_2, y_28^0'=y_28^post_2, y_33^0'=y_33^post_2, [ 1<=x_13^0 && y_16^post_2==y_16^post_2 && 1<=y_16^post_2 && 1<=x_13^0 && result_11^0==result_11^post_2 && temp0_14^0==temp0_14^post_2 && x_13^0==x_13^post_2 && x_27^0==x_27^post_2 && x_32^0==x_32^post_2 && y_28^0==y_28^post_2 && y_33^0==y_33^post_2 ], cost: 1 2: l1 -> l3 : result_11^0'=result_11^post_3, temp0_14^0'=temp0_14^post_3, x_13^0'=x_13^post_3, x_27^0'=x_27^post_3, x_32^0'=x_32^post_3, y_16^0'=y_16^post_3, y_28^0'=y_28^post_3, y_33^0'=y_33^post_3, [ x_13^0<=0 && result_11^post_3==temp0_14^0 && temp0_14^0==temp0_14^post_3 && x_13^0==x_13^post_3 && x_27^0==x_27^post_3 && x_32^0==x_32^post_3 && y_16^0==y_16^post_3 && y_28^0==y_28^post_3 && y_33^0==y_33^post_3 ], cost: 1 4: l2 -> l1 : result_11^0'=result_11^post_5, temp0_14^0'=temp0_14^post_5, x_13^0'=x_13^post_5, x_27^0'=x_27^post_5, x_32^0'=x_32^post_5, y_16^0'=y_16^post_5, y_28^0'=y_28^post_5, y_33^0'=y_33^post_5, [ y_16^0<=0 && y_16^0<=0 && result_11^0==result_11^post_5 && temp0_14^0==temp0_14^post_5 && x_13^0==x_13^post_5 && x_27^0==x_27^post_5 && x_32^0==x_32^post_5 && y_16^0==y_16^post_5 && y_28^0==y_28^post_5 && y_33^0==y_33^post_5 ], cost: 1 5: l2 -> l5 : result_11^0'=result_11^post_6, temp0_14^0'=temp0_14^post_6, x_13^0'=x_13^post_6, x_27^0'=x_27^post_6, x_32^0'=x_32^post_6, y_16^0'=y_16^post_6, y_28^0'=y_28^post_6, y_33^0'=y_33^post_6, [ x_32^post_6==x_32^post_6 && y_33^post_6==y_33^post_6 && 1<=y_16^0 && x_13^post_6==-1+x_13^0 && y_16^post_6==-1+y_16^0 && x_13^post_6<=-1+x_32^post_6 && -1+x_32^post_6<=x_13^post_6 && y_16^post_6<=-1+y_33^post_6 && -1+y_33^post_6<=y_16^post_6 && 1<=y_33^post_6 && result_11^0==result_11^post_6 && temp0_14^0==temp0_14^post_6 && x_27^0==x_27^post_6 && y_28^0==y_28^post_6 ], cost: 1 3: l4 -> l2 : result_11^0'=result_11^post_4, temp0_14^0'=temp0_14^post_4, x_13^0'=x_13^post_4, x_27^0'=x_27^post_4, x_32^0'=x_32^post_4, y_16^0'=y_16^post_4, y_28^0'=y_28^post_4, y_33^0'=y_33^post_4, [ x_27^post_4==x_27^post_4 && y_28^post_4==y_28^post_4 && 1<=y_16^0 && x_13^post_4==-1+x_13^0 && y_16^post_4==-1+y_16^0 && x_13^post_4<=-1+x_27^post_4 && -1+x_27^post_4<=x_13^post_4 && y_16^post_4<=-1+y_28^post_4 && -1+y_28^post_4<=y_16^post_4 && 1<=x_27^post_4 && 1<=y_28^post_4 && result_11^0==result_11^post_4 && temp0_14^0==temp0_14^post_4 && x_32^0==x_32^post_4 && y_33^0==y_33^post_4 ], cost: 1 6: l5 -> l2 : result_11^0'=result_11^post_7, temp0_14^0'=temp0_14^post_7, x_13^0'=x_13^post_7, x_27^0'=x_27^post_7, x_32^0'=x_32^post_7, y_16^0'=y_16^post_7, y_28^0'=y_28^post_7, y_33^0'=y_33^post_7, [ result_11^0==result_11^post_7 && temp0_14^0==temp0_14^post_7 && x_13^0==x_13^post_7 && x_27^0==x_27^post_7 && x_32^0==x_32^post_7 && y_16^0==y_16^post_7 && y_28^0==y_28^post_7 && y_33^0==y_33^post_7 ], cost: 1 7: l6 -> l0 : result_11^0'=result_11^post_8, temp0_14^0'=temp0_14^post_8, x_13^0'=x_13^post_8, x_27^0'=x_27^post_8, x_32^0'=x_32^post_8, y_16^0'=y_16^post_8, y_28^0'=y_28^post_8, y_33^0'=y_33^post_8, [ result_11^0==result_11^post_8 && temp0_14^0==temp0_14^post_8 && x_13^0==x_13^post_8 && x_27^0==x_27^post_8 && x_32^0==x_32^post_8 && y_16^0==y_16^post_8 && y_28^0==y_28^post_8 && y_33^0==y_33^post_8 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 7: l6 -> l0 : result_11^0'=result_11^post_8, temp0_14^0'=temp0_14^post_8, x_13^0'=x_13^post_8, x_27^0'=x_27^post_8, x_32^0'=x_32^post_8, y_16^0'=y_16^post_8, y_28^0'=y_28^post_8, y_33^0'=y_33^post_8, [ result_11^0==result_11^post_8 && temp0_14^0==temp0_14^post_8 && x_13^0==x_13^post_8 && x_27^0==x_27^post_8 && x_32^0==x_32^post_8 && y_16^0==y_16^post_8 && y_28^0==y_28^post_8 && y_33^0==y_33^post_8 ], cost: 1 Removed unreachable and leaf rules: Start location: l6 0: l0 -> l1 : result_11^0'=result_11^post_1, temp0_14^0'=temp0_14^post_1, x_13^0'=x_13^post_1, x_27^0'=x_27^post_1, x_32^0'=x_32^post_1, y_16^0'=y_16^post_1, y_28^0'=y_28^post_1, y_33^0'=y_33^post_1, [ x_13^post_1==x_13^post_1 && y_16^post_1==y_16^post_1 && result_11^0==result_11^post_1 && temp0_14^0==temp0_14^post_1 && x_27^0==x_27^post_1 && x_32^0==x_32^post_1 && y_28^0==y_28^post_1 && y_33^0==y_33^post_1 ], cost: 1 1: l1 -> l2 : result_11^0'=result_11^post_2, temp0_14^0'=temp0_14^post_2, x_13^0'=x_13^post_2, x_27^0'=x_27^post_2, x_32^0'=x_32^post_2, y_16^0'=y_16^post_2, y_28^0'=y_28^post_2, y_33^0'=y_33^post_2, [ 1<=x_13^0 && y_16^post_2==y_16^post_2 && 1<=y_16^post_2 && 1<=x_13^0 && result_11^0==result_11^post_2 && temp0_14^0==temp0_14^post_2 && x_13^0==x_13^post_2 && x_27^0==x_27^post_2 && x_32^0==x_32^post_2 && y_28^0==y_28^post_2 && y_33^0==y_33^post_2 ], cost: 1 4: l2 -> l1 : result_11^0'=result_11^post_5, temp0_14^0'=temp0_14^post_5, x_13^0'=x_13^post_5, x_27^0'=x_27^post_5, x_32^0'=x_32^post_5, y_16^0'=y_16^post_5, y_28^0'=y_28^post_5, y_33^0'=y_33^post_5, [ y_16^0<=0 && y_16^0<=0 && result_11^0==result_11^post_5 && temp0_14^0==temp0_14^post_5 && x_13^0==x_13^post_5 && x_27^0==x_27^post_5 && x_32^0==x_32^post_5 && y_16^0==y_16^post_5 && y_28^0==y_28^post_5 && y_33^0==y_33^post_5 ], cost: 1 5: l2 -> l5 : result_11^0'=result_11^post_6, temp0_14^0'=temp0_14^post_6, x_13^0'=x_13^post_6, x_27^0'=x_27^post_6, x_32^0'=x_32^post_6, y_16^0'=y_16^post_6, y_28^0'=y_28^post_6, y_33^0'=y_33^post_6, [ x_32^post_6==x_32^post_6 && y_33^post_6==y_33^post_6 && 1<=y_16^0 && x_13^post_6==-1+x_13^0 && y_16^post_6==-1+y_16^0 && x_13^post_6<=-1+x_32^post_6 && -1+x_32^post_6<=x_13^post_6 && y_16^post_6<=-1+y_33^post_6 && -1+y_33^post_6<=y_16^post_6 && 1<=y_33^post_6 && result_11^0==result_11^post_6 && temp0_14^0==temp0_14^post_6 && x_27^0==x_27^post_6 && y_28^0==y_28^post_6 ], cost: 1 6: l5 -> l2 : result_11^0'=result_11^post_7, temp0_14^0'=temp0_14^post_7, x_13^0'=x_13^post_7, x_27^0'=x_27^post_7, x_32^0'=x_32^post_7, y_16^0'=y_16^post_7, y_28^0'=y_28^post_7, y_33^0'=y_33^post_7, [ result_11^0==result_11^post_7 && temp0_14^0==temp0_14^post_7 && x_13^0==x_13^post_7 && x_27^0==x_27^post_7 && x_32^0==x_32^post_7 && y_16^0==y_16^post_7 && y_28^0==y_28^post_7 && y_33^0==y_33^post_7 ], cost: 1 7: l6 -> l0 : result_11^0'=result_11^post_8, temp0_14^0'=temp0_14^post_8, x_13^0'=x_13^post_8, x_27^0'=x_27^post_8, x_32^0'=x_32^post_8, y_16^0'=y_16^post_8, y_28^0'=y_28^post_8, y_33^0'=y_33^post_8, [ result_11^0==result_11^post_8 && temp0_14^0==temp0_14^post_8 && x_13^0==x_13^post_8 && x_27^0==x_27^post_8 && x_32^0==x_32^post_8 && y_16^0==y_16^post_8 && y_28^0==y_28^post_8 && y_33^0==y_33^post_8 ], cost: 1 Simplified all rules, resulting in: Start location: l6 0: l0 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 1 1: l1 -> l2 : y_16^0'=y_16^post_2, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 1 4: l2 -> l1 : [ y_16^0<=0 ], cost: 1 5: l2 -> l5 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, [ 1<=y_16^0 ], cost: 1 6: l5 -> l2 : [], cost: 1 7: l6 -> l0 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l6 1: l1 -> l2 : y_16^0'=y_16^post_2, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 1 4: l2 -> l1 : [ y_16^0<=0 ], cost: 1 9: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, [ 1<=y_16^0 ], cost: 2 8: l6 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 2 Accelerating simple loops of location 2. Accelerating the following rules: 9: l2 -> l2 : x_13^0'=-1+x_13^0, x_32^0'=x_13^0, y_16^0'=-1+y_16^0, y_33^0'=y_16^0, [ 1<=y_16^0 ], cost: 2 Accelerated rule 9 with backward acceleration, yielding the new rule 10. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 9. Accelerated all simple loops using metering functions (where possible): Start location: l6 1: l1 -> l2 : y_16^0'=y_16^post_2, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 1 4: l2 -> l1 : [ y_16^0<=0 ], cost: 1 10: l2 -> l2 : x_13^0'=-y_16^0+x_13^0, x_32^0'=1-y_16^0+x_13^0, y_16^0'=0, y_33^0'=1, [ y_16^0>=1 ], cost: 2*y_16^0 8: l6 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l6 1: l1 -> l2 : y_16^0'=y_16^post_2, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 1 11: l1 -> l2 : x_13^0'=-y_16^post_2+x_13^0, x_32^0'=1-y_16^post_2+x_13^0, y_16^0'=0, y_33^0'=1, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 1+2*y_16^post_2 4: l2 -> l1 : [ y_16^0<=0 ], cost: 1 8: l6 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l6 12: l1 -> l1 : x_13^0'=-y_16^post_2+x_13^0, x_32^0'=1-y_16^post_2+x_13^0, y_16^0'=0, y_33^0'=1, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 2+2*y_16^post_2 8: l6 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 12: l1 -> l1 : x_13^0'=-y_16^post_2+x_13^0, x_32^0'=1-y_16^post_2+x_13^0, y_16^0'=0, y_33^0'=1, [ 1<=x_13^0 && 1<=y_16^post_2 ], cost: 2+2*y_16^post_2 Accelerated rule 12 with backward acceleration, yielding the new rule 13. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 12. Accelerated all simple loops using metering functions (where possible): Start location: l6 13: l1 -> l1 : x_13^0'=-y_16^post_2*k_1+x_13^0, x_32^0'=1-y_16^post_2-(-1+k_1)*y_16^post_2+x_13^0, y_16^0'=0, y_33^0'=1, [ 1<=y_16^post_2 && k_1>=1 && 1<=-(-1+k_1)*y_16^post_2+x_13^0 ], cost: 2*y_16^post_2*k_1+2*k_1 8: l6 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l6 8: l6 -> l1 : x_13^0'=x_13^post_1, y_16^0'=y_16^post_1, [], cost: 2 14: l6 -> l1 : x_13^0'=x_13^post_1-y_16^post_2*k_1, x_32^0'=1+x_13^post_1-y_16^post_2-(-1+k_1)*y_16^post_2, y_16^0'=0, y_33^0'=1, [ 1<=y_16^post_2 && k_1>=1 && 1<=x_13^post_1-(-1+k_1)*y_16^post_2 ], cost: 2+2*y_16^post_2*k_1+2*k_1 Removed unreachable locations (and leaf rules with constant cost): Start location: l6 14: l6 -> l1 : x_13^0'=x_13^post_1-y_16^post_2*k_1, x_32^0'=1+x_13^post_1-y_16^post_2-(-1+k_1)*y_16^post_2, y_16^0'=0, y_33^0'=1, [ 1<=y_16^post_2 && k_1>=1 && 1<=x_13^post_1-(-1+k_1)*y_16^post_2 ], cost: 2+2*y_16^post_2*k_1+2*k_1 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l6 14: l6 -> l1 : x_13^0'=x_13^post_1-y_16^post_2*k_1, x_32^0'=1+x_13^post_1-y_16^post_2-(-1+k_1)*y_16^post_2, y_16^0'=0, y_33^0'=1, [ 1<=y_16^post_2 && k_1>=1 && 1<=x_13^post_1-(-1+k_1)*y_16^post_2 ], cost: 2+2*y_16^post_2*k_1+2*k_1 Computing asymptotic complexity for rule 14 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: [ result_11^0==result_11^post_8 && temp0_14^0==temp0_14^post_8 && x_13^0==x_13^post_8 && x_27^0==x_27^post_8 && x_32^0==x_32^post_8 && y_16^0==y_16^post_8 && y_28^0==y_28^post_8 && y_33^0==y_33^post_8 ] WORST_CASE(Omega(1),?)