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, __disjvr_0^0'=__disjvr_0^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 && __disjvr_0^0==__disjvr_0^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 6: l1 -> l3 : 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, __disjvr_0^0'=__disjvr_0^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, [ retryCount_10^post_7==1+retryCount_10^0 && 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 && __disjvr_0^0==__disjvr_0^post_7 && maxRetries_9^0==maxRetries_9^post_7 && selected_11^0==selected_11^post_7 && x_5^0==x_5^post_7 ], 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, __disjvr_0^0'=__disjvr_0^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 && __disjvr_0^0==__disjvr_0^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, __disjvr_0^0'=__disjvr_0^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, [ __disjvr_0^post_3==__disjvr_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 && __disjvr_0^0==__disjvr_0^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 4: l3 -> l6 : 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, __disjvr_0^0'=__disjvr_0^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, [ selected_11^0<=0 && 0<=selected_11^0 && maxRetries_9^0-retryCount_10^0<=0 && __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 && __disjvr_0^0==__disjvr_0^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 5: l3 -> l1 : 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, __disjvr_0^0'=__disjvr_0^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 && 0<=-1+maxRetries_9^0-retryCount_10^0 && __cil_tmp2_6^post_6==x_5^0 && Result_4^1_3==__cil_tmp2_6^post_6 && selected_11^post_6==Result_4^1_3 && Result_4^post_6==Result_4^post_6 && __cil_tmp6_12^0==__cil_tmp6_12^post_6 && __disjvr_0^0==__disjvr_0^post_6 && maxRetries_9^0==maxRetries_9^post_6 && retryCount_10^0==retryCount_10^post_6 && x_5^0==x_5^post_6 ], cost: 1 3: l5 -> l4 : 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, __disjvr_0^0'=__disjvr_0^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, [ __cil_tmp6_12^post_4==selected_11^0 && Result_4^post_4==__cil_tmp6_12^post_4 && __cil_tmp2_6^0==__cil_tmp2_6^post_4 && __disjvr_0^0==__disjvr_0^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 7: l7 -> 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, __disjvr_0^0'=__disjvr_0^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, [ maxRetries_9^post_8==4 && retryCount_10^post_8==0 && selected_11^post_8==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 && __disjvr_0^0==__disjvr_0^post_8 && x_5^0==x_5^post_8 ], cost: 1 8: l8 -> l7 : 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, __disjvr_0^0'=__disjvr_0^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, [ 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 && __disjvr_0^0==__disjvr_0^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 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 8: l8 -> l7 : 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, __disjvr_0^0'=__disjvr_0^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, [ 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 && __disjvr_0^0==__disjvr_0^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 ], cost: 1 Removed unreachable and leaf rules: Start location: l8 6: l1 -> l3 : 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, __disjvr_0^0'=__disjvr_0^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, [ retryCount_10^post_7==1+retryCount_10^0 && 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 && __disjvr_0^0==__disjvr_0^post_7 && maxRetries_9^0==maxRetries_9^post_7 && selected_11^0==selected_11^post_7 && x_5^0==x_5^post_7 ], cost: 1 5: l3 -> l1 : 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, __disjvr_0^0'=__disjvr_0^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 && 0<=-1+maxRetries_9^0-retryCount_10^0 && __cil_tmp2_6^post_6==x_5^0 && Result_4^1_3==__cil_tmp2_6^post_6 && selected_11^post_6==Result_4^1_3 && Result_4^post_6==Result_4^post_6 && __cil_tmp6_12^0==__cil_tmp6_12^post_6 && __disjvr_0^0==__disjvr_0^post_6 && maxRetries_9^0==maxRetries_9^post_6 && retryCount_10^0==retryCount_10^post_6 && x_5^0==x_5^post_6 ], cost: 1 7: l7 -> 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, __disjvr_0^0'=__disjvr_0^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, [ maxRetries_9^post_8==4 && retryCount_10^post_8==0 && selected_11^post_8==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 && __disjvr_0^0==__disjvr_0^post_8 && x_5^0==x_5^post_8 ], cost: 1 8: l8 -> l7 : 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, __disjvr_0^0'=__disjvr_0^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, [ 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 && __disjvr_0^0==__disjvr_0^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 ], cost: 1 Simplified all rules, resulting in: Start location: l8 6: l1 -> l3 : retryCount_10^0'=1+retryCount_10^0, [], cost: 1 5: l3 -> l1 : Result_4^0'=Result_4^post_6, __cil_tmp2_6^0'=x_5^0, selected_11^0'=x_5^0, [ selected_11^0==0 && 0<=-1+maxRetries_9^0-retryCount_10^0 ], cost: 1 7: l7 -> l3 : maxRetries_9^0'=4, retryCount_10^0'=0, selected_11^0'=0, [], cost: 1 8: l8 -> l7 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l8 10: l3 -> l3 : Result_4^0'=Result_4^post_6, __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+maxRetries_9^0-retryCount_10^0 ], cost: 2 9: 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: 10: l3 -> l3 : Result_4^0'=Result_4^post_6, __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+maxRetries_9^0-retryCount_10^0 ], cost: 2 [test] deduced invariant -selected_11^0<=0 [test] deduced pseudo-invariant -x_5^0+selected_11^0<=0, also trying x_5^0-selected_11^0<=-1 Accelerated rule 10 with backward acceleration, yielding the new rule 11. [accelerate] Nesting with 1 inner and 1 outer candidates Accelerated all simple loops using metering functions (where possible): Start location: l8 10: l3 -> l3 : Result_4^0'=Result_4^post_6, __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+maxRetries_9^0-retryCount_10^0 ], cost: 2 11: l3 -> l3 : Result_4^0'=Result_4^post_6, __cil_tmp2_6^0'=x_5^0, retryCount_10^0'=maxRetries_9^0, selected_11^0'=x_5^0, [ -selected_11^0<=0 && -x_5^0+selected_11^0<=0 && maxRetries_9^0-retryCount_10^0>=1 && x_5^0==0 ], cost: 2*maxRetries_9^0-2*retryCount_10^0 9: 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 9: 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_6, __cil_tmp2_6^0'=x_5^0, maxRetries_9^0'=4, retryCount_10^0'=1, selected_11^0'=x_5^0, [], cost: 4 13: l8 -> l3 : Result_4^0'=Result_4^post_6, __cil_tmp2_6^0'=x_5^0, maxRetries_9^0'=4, retryCount_10^0'=4, selected_11^0'=x_5^0, [ x_5^0==0 ], cost: 10 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_9 && __cil_tmp2_6^0==__cil_tmp2_6^post_9 && __cil_tmp6_12^0==__cil_tmp6_12^post_9 && __disjvr_0^0==__disjvr_0^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 ] WORST_CASE(Omega(1),?)