WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l8 0: l0 -> l1 : Result_4^0'=Result_4^post_1, ___cil_tmp2_6^0'=___cil_tmp2_6^post_1, ___cil_tmp6_12^0'=___cil_tmp6_12^post_1, maxRetries_9^0'=maxRetries_9^post_1, retryCount_10^0'=retryCount_10^post_1, selected_11^0'=selected_11^post_1, x_5^0'=x_5^post_1, [ ___cil_tmp2_6^post_1==x_5^0 && Result_4^1_1==___cil_tmp2_6^post_1 && selected_11^post_1==Result_4^1_1 && Result_4^post_1==Result_4^post_1 && ___cil_tmp6_12^0==___cil_tmp6_12^post_1 && maxRetries_9^0==maxRetries_9^post_1 && retryCount_10^0==retryCount_10^post_1 && x_5^0==x_5^post_1 ], cost: 1 7: l1 -> l3 : Result_4^0'=Result_4^post_8, ___cil_tmp2_6^0'=___cil_tmp2_6^post_8, ___cil_tmp6_12^0'=___cil_tmp6_12^post_8, maxRetries_9^0'=maxRetries_9^post_8, retryCount_10^0'=retryCount_10^post_8, selected_11^0'=selected_11^post_8, x_5^0'=x_5^post_8, [ retryCount_10^post_8==1+retryCount_10^0 && Result_4^0==Result_4^post_8 && ___cil_tmp2_6^0==___cil_tmp2_6^post_8 && ___cil_tmp6_12^0==___cil_tmp6_12^post_8 && maxRetries_9^0==maxRetries_9^post_8 && selected_11^0==selected_11^post_8 && x_5^0==x_5^post_8 ], cost: 1 1: l2 -> l3 : Result_4^0'=Result_4^post_2, ___cil_tmp2_6^0'=___cil_tmp2_6^post_2, ___cil_tmp6_12^0'=___cil_tmp6_12^post_2, maxRetries_9^0'=maxRetries_9^post_2, retryCount_10^0'=retryCount_10^post_2, selected_11^0'=selected_11^post_2, x_5^0'=x_5^post_2, [ ___cil_tmp2_6^post_2==x_5^0 && Result_4^1_2==___cil_tmp2_6^post_2 && selected_11^post_2==Result_4^1_2 && Result_4^post_2==Result_4^post_2 && retryCount_10^post_2==1+retryCount_10^0 && ___cil_tmp6_12^0==___cil_tmp6_12^post_2 && maxRetries_9^0==maxRetries_9^post_2 && x_5^0==x_5^post_2 ], cost: 1 2: l3 -> l5 : Result_4^0'=Result_4^post_3, ___cil_tmp2_6^0'=___cil_tmp2_6^post_3, ___cil_tmp6_12^0'=___cil_tmp6_12^post_3, maxRetries_9^0'=maxRetries_9^post_3, retryCount_10^0'=retryCount_10^post_3, selected_11^0'=selected_11^post_3, x_5^0'=x_5^post_3, [ 1+selected_11^0<=0 && Result_4^0==Result_4^post_3 && ___cil_tmp2_6^0==___cil_tmp2_6^post_3 && ___cil_tmp6_12^0==___cil_tmp6_12^post_3 && maxRetries_9^0==maxRetries_9^post_3 && retryCount_10^0==retryCount_10^post_3 && selected_11^0==selected_11^post_3 && x_5^0==x_5^post_3 ], cost: 1 3: l3 -> l5 : Result_4^0'=Result_4^post_4, ___cil_tmp2_6^0'=___cil_tmp2_6^post_4, ___cil_tmp6_12^0'=___cil_tmp6_12^post_4, maxRetries_9^0'=maxRetries_9^post_4, retryCount_10^0'=retryCount_10^post_4, selected_11^0'=selected_11^post_4, x_5^0'=x_5^post_4, [ 1<=selected_11^0 && Result_4^0==Result_4^post_4 && ___cil_tmp2_6^0==___cil_tmp2_6^post_4 && ___cil_tmp6_12^0==___cil_tmp6_12^post_4 && maxRetries_9^0==maxRetries_9^post_4 && retryCount_10^0==retryCount_10^post_4 && selected_11^0==selected_11^post_4 && x_5^0==x_5^post_4 ], cost: 1 5: l3 -> l6 : Result_4^0'=Result_4^post_6, ___cil_tmp2_6^0'=___cil_tmp2_6^post_6, ___cil_tmp6_12^0'=___cil_tmp6_12^post_6, maxRetries_9^0'=maxRetries_9^post_6, retryCount_10^0'=retryCount_10^post_6, selected_11^0'=selected_11^post_6, x_5^0'=x_5^post_6, [ selected_11^0<=0 && 0<=selected_11^0 && -retryCount_10^0+maxRetries_9^0<=0 && ___cil_tmp6_12^post_6==selected_11^0 && Result_4^post_6==___cil_tmp6_12^post_6 && ___cil_tmp2_6^0==___cil_tmp2_6^post_6 && maxRetries_9^0==maxRetries_9^post_6 && retryCount_10^0==retryCount_10^post_6 && selected_11^0==selected_11^post_6 && x_5^0==x_5^post_6 ], cost: 1 6: l3 -> l1 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=___cil_tmp2_6^post_7, ___cil_tmp6_12^0'=___cil_tmp6_12^post_7, maxRetries_9^0'=maxRetries_9^post_7, retryCount_10^0'=retryCount_10^post_7, selected_11^0'=selected_11^post_7, x_5^0'=x_5^post_7, [ selected_11^0<=0 && 0<=selected_11^0 && 0<=-1-retryCount_10^0+maxRetries_9^0 && ___cil_tmp2_6^post_7==x_5^0 && Result_4^1_3==___cil_tmp2_6^post_7 && selected_11^post_7==Result_4^1_3 && Result_4^post_7==Result_4^post_7 && ___cil_tmp6_12^0==___cil_tmp6_12^post_7 && maxRetries_9^0==maxRetries_9^post_7 && retryCount_10^0==retryCount_10^post_7 && x_5^0==x_5^post_7 ], cost: 1 4: l5 -> l4 : Result_4^0'=Result_4^post_5, ___cil_tmp2_6^0'=___cil_tmp2_6^post_5, ___cil_tmp6_12^0'=___cil_tmp6_12^post_5, maxRetries_9^0'=maxRetries_9^post_5, retryCount_10^0'=retryCount_10^post_5, selected_11^0'=selected_11^post_5, x_5^0'=x_5^post_5, [ ___cil_tmp6_12^post_5==selected_11^0 && Result_4^post_5==___cil_tmp6_12^post_5 && ___cil_tmp2_6^0==___cil_tmp2_6^post_5 && maxRetries_9^0==maxRetries_9^post_5 && retryCount_10^0==retryCount_10^post_5 && selected_11^0==selected_11^post_5 && x_5^0==x_5^post_5 ], cost: 1 8: l7 -> l3 : Result_4^0'=Result_4^post_9, ___cil_tmp2_6^0'=___cil_tmp2_6^post_9, ___cil_tmp6_12^0'=___cil_tmp6_12^post_9, maxRetries_9^0'=maxRetries_9^post_9, retryCount_10^0'=retryCount_10^post_9, selected_11^0'=selected_11^post_9, x_5^0'=x_5^post_9, [ maxRetries_9^post_9==4 && retryCount_10^post_9==0 && selected_11^post_9==0 && Result_4^0==Result_4^post_9 && ___cil_tmp2_6^0==___cil_tmp2_6^post_9 && ___cil_tmp6_12^0==___cil_tmp6_12^post_9 && x_5^0==x_5^post_9 ], cost: 1 9: l8 -> l7 : Result_4^0'=Result_4^post_10, ___cil_tmp2_6^0'=___cil_tmp2_6^post_10, ___cil_tmp6_12^0'=___cil_tmp6_12^post_10, maxRetries_9^0'=maxRetries_9^post_10, retryCount_10^0'=retryCount_10^post_10, selected_11^0'=selected_11^post_10, x_5^0'=x_5^post_10, [ Result_4^0==Result_4^post_10 && ___cil_tmp2_6^0==___cil_tmp2_6^post_10 && ___cil_tmp6_12^0==___cil_tmp6_12^post_10 && maxRetries_9^0==maxRetries_9^post_10 && retryCount_10^0==retryCount_10^post_10 && selected_11^0==selected_11^post_10 && x_5^0==x_5^post_10 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 9: l8 -> l7 : Result_4^0'=Result_4^post_10, ___cil_tmp2_6^0'=___cil_tmp2_6^post_10, ___cil_tmp6_12^0'=___cil_tmp6_12^post_10, maxRetries_9^0'=maxRetries_9^post_10, retryCount_10^0'=retryCount_10^post_10, selected_11^0'=selected_11^post_10, x_5^0'=x_5^post_10, [ Result_4^0==Result_4^post_10 && ___cil_tmp2_6^0==___cil_tmp2_6^post_10 && ___cil_tmp6_12^0==___cil_tmp6_12^post_10 && maxRetries_9^0==maxRetries_9^post_10 && retryCount_10^0==retryCount_10^post_10 && selected_11^0==selected_11^post_10 && x_5^0==x_5^post_10 ], cost: 1 Removed unreachable and leaf rules: Start location: l8 7: l1 -> l3 : Result_4^0'=Result_4^post_8, ___cil_tmp2_6^0'=___cil_tmp2_6^post_8, ___cil_tmp6_12^0'=___cil_tmp6_12^post_8, maxRetries_9^0'=maxRetries_9^post_8, retryCount_10^0'=retryCount_10^post_8, selected_11^0'=selected_11^post_8, x_5^0'=x_5^post_8, [ retryCount_10^post_8==1+retryCount_10^0 && Result_4^0==Result_4^post_8 && ___cil_tmp2_6^0==___cil_tmp2_6^post_8 && ___cil_tmp6_12^0==___cil_tmp6_12^post_8 && maxRetries_9^0==maxRetries_9^post_8 && selected_11^0==selected_11^post_8 && x_5^0==x_5^post_8 ], cost: 1 6: l3 -> l1 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=___cil_tmp2_6^post_7, ___cil_tmp6_12^0'=___cil_tmp6_12^post_7, maxRetries_9^0'=maxRetries_9^post_7, retryCount_10^0'=retryCount_10^post_7, selected_11^0'=selected_11^post_7, x_5^0'=x_5^post_7, [ selected_11^0<=0 && 0<=selected_11^0 && 0<=-1-retryCount_10^0+maxRetries_9^0 && ___cil_tmp2_6^post_7==x_5^0 && Result_4^1_3==___cil_tmp2_6^post_7 && selected_11^post_7==Result_4^1_3 && Result_4^post_7==Result_4^post_7 && ___cil_tmp6_12^0==___cil_tmp6_12^post_7 && maxRetries_9^0==maxRetries_9^post_7 && retryCount_10^0==retryCount_10^post_7 && x_5^0==x_5^post_7 ], cost: 1 8: l7 -> l3 : Result_4^0'=Result_4^post_9, ___cil_tmp2_6^0'=___cil_tmp2_6^post_9, ___cil_tmp6_12^0'=___cil_tmp6_12^post_9, maxRetries_9^0'=maxRetries_9^post_9, retryCount_10^0'=retryCount_10^post_9, selected_11^0'=selected_11^post_9, x_5^0'=x_5^post_9, [ maxRetries_9^post_9==4 && retryCount_10^post_9==0 && selected_11^post_9==0 && Result_4^0==Result_4^post_9 && ___cil_tmp2_6^0==___cil_tmp2_6^post_9 && ___cil_tmp6_12^0==___cil_tmp6_12^post_9 && x_5^0==x_5^post_9 ], cost: 1 9: l8 -> l7 : Result_4^0'=Result_4^post_10, ___cil_tmp2_6^0'=___cil_tmp2_6^post_10, ___cil_tmp6_12^0'=___cil_tmp6_12^post_10, maxRetries_9^0'=maxRetries_9^post_10, retryCount_10^0'=retryCount_10^post_10, selected_11^0'=selected_11^post_10, x_5^0'=x_5^post_10, [ Result_4^0==Result_4^post_10 && ___cil_tmp2_6^0==___cil_tmp2_6^post_10 && ___cil_tmp6_12^0==___cil_tmp6_12^post_10 && maxRetries_9^0==maxRetries_9^post_10 && retryCount_10^0==retryCount_10^post_10 && selected_11^0==selected_11^post_10 && x_5^0==x_5^post_10 ], cost: 1 Simplified all rules, resulting in: Start location: l8 7: l1 -> l3 : retryCount_10^0'=1+retryCount_10^0, [], cost: 1 6: l3 -> l1 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=x_5^0, selected_11^0'=x_5^0, [ selected_11^0==0 && 0<=-1-retryCount_10^0+maxRetries_9^0 ], cost: 1 8: l7 -> l3 : maxRetries_9^0'=4, retryCount_10^0'=0, selected_11^0'=0, [], cost: 1 9: l8 -> l7 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l8 11: l3 -> l3 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=x_5^0, retryCount_10^0'=1+retryCount_10^0, selected_11^0'=x_5^0, [ selected_11^0==0 && 0<=-1-retryCount_10^0+maxRetries_9^0 ], cost: 2 10: l8 -> l3 : maxRetries_9^0'=4, retryCount_10^0'=0, selected_11^0'=0, [], cost: 2 Accelerating simple loops of location 3. Accelerating the following rules: 11: l3 -> l3 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=x_5^0, retryCount_10^0'=1+retryCount_10^0, selected_11^0'=x_5^0, [ selected_11^0==0 && 0<=-1-retryCount_10^0+maxRetries_9^0 ], cost: 2 [test] deduced pseudo-invariant selected_11^0-x_5^0<=0, also trying -selected_11^0+x_5^0<=-1 Failed to prove monotonicity of the guard of rule 11. [accelerate] Nesting with 1 inner and 1 outer candidates Accelerated all simple loops using metering functions (where possible): Start location: l8 11: l3 -> l3 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=x_5^0, retryCount_10^0'=1+retryCount_10^0, selected_11^0'=x_5^0, [ selected_11^0==0 && 0<=-1-retryCount_10^0+maxRetries_9^0 ], cost: 2 10: l8 -> l3 : maxRetries_9^0'=4, retryCount_10^0'=0, selected_11^0'=0, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l8 10: l8 -> l3 : maxRetries_9^0'=4, retryCount_10^0'=0, selected_11^0'=0, [], cost: 2 12: l8 -> l3 : Result_4^0'=Result_4^post_7, ___cil_tmp2_6^0'=x_5^0, maxRetries_9^0'=4, retryCount_10^0'=1, selected_11^0'=x_5^0, [], cost: 4 Removed unreachable locations (and leaf rules with constant cost): Start location: l8 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l8 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_4^0==Result_4^post_10 && ___cil_tmp2_6^0==___cil_tmp2_6^post_10 && ___cil_tmp6_12^0==___cil_tmp6_12^post_10 && maxRetries_9^0==maxRetries_9^post_10 && retryCount_10^0==retryCount_10^post_10 && selected_11^0==selected_11^post_10 && x_5^0==x_5^post_10 ] WORST_CASE(Omega(1),?)