0.00/0.32 YES 0.00/0.32 0.00/0.32 Solver Timeout: 4 0.00/0.32 Global Timeout: 300 0.00/0.32 No parsing errors! 0.00/0.32 Init Location: 0 0.00/0.32 Transitions: 0.00/0.32 0.00/0.32 ~(1)) /\ (arg2 > 0) /\ (arg1 > 0), par{arg1 -> undef1, arg3 -> 1, arg4 -> undef4, arg5 -> undef5, arg6 -> undef6}> 0.00/0.32 ~(1)) /\ (arg2 > 0) /\ (undef7 <= arg1) /\ (arg1 > 0) /\ (undef7 > 0) /\ (undef8 > ~(1)), par{arg1 -> undef7, arg2 -> undef8, arg3 -> undef9, arg4 -> undef10, arg5 -> undef11, arg6 -> undef12}> 0.00/0.32 0) /\ (undef14 > 0) /\ (undef15 > ~(1)), par{arg1 -> undef14, arg2 -> undef15, arg3 -> arg2, arg4 -> undef17, arg5 -> undef18, arg6 -> undef19}> 0.00/0.32 0) /\ (arg3 > 1) /\ (undef20 <= arg2) /\ (arg1 > 0) /\ (arg2 > ~(1)) /\ (undef20 > ~(1)), par{arg1 -> undef20, arg2 -> arg3, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25}> 0.00/0.32 ~(1)) /\ (arg1 > 0) /\ (arg3 > 0) /\ (arg3 < arg2) /\ (undef30 > ~(1)), par{arg2 -> (arg1 - 1), arg3 -> 0, arg4 -> undef30, arg5 -> arg2, arg6 -> (arg3 + 1)}> 0.00/0.32 0) /\ (arg4 > arg3) /\ (arg1 > 0) /\ (arg6 > 1) /\ (arg2 < arg1) /\ ((arg2 - 1) < arg1) /\ (arg2 > ~(1)) /\ ((arg2 - 1) < arg2), par{arg1 -> (arg2 - 1), arg2 -> arg5, arg3 -> arg6, arg4 -> undef36, arg5 -> undef37, arg6 -> undef38}> 0.00/0.32 0) /\ (arg4 > arg3) /\ (arg1 > 0) /\ (arg6 > 1) /\ (arg2 < arg1) /\ ((arg2 - 1) < arg1) /\ (arg2 > ~(1)) /\ ((arg2 - 1) < arg2), par{arg3 -> (arg3 + 1)}> 0.00/0.32 0) /\ (arg4 > arg3) /\ (arg1 > 0) /\ (arg6 > 1) /\ (arg2 < arg1) /\ ((arg2 - 1) < arg1) /\ (arg2 > ~(1)) /\ ((arg2 - 1) < arg2), par{arg3 -> (arg3 + 1), arg6 -> undef50}> 0.00/0.32 1) /\ (arg1 > 2) /\ (undef51 > 0), par{arg1 -> undef51, arg3 -> undef53, arg4 -> undef54, arg5 -> undef55, arg6 -> undef56}> 0.00/0.32 1) /\ (arg1 > 3) /\ (undef57 > ~(1)), par{arg1 -> undef57, arg3 -> undef59, arg4 -> undef60, arg5 -> undef61, arg6 -> undef62}> 0.00/0.32 1) /\ ((undef65 + 2) <= arg1) /\ (arg1 > 2) /\ (undef63 > 1) /\ (undef64 > 2) /\ (undef65 > ~(1)), par{arg1 -> undef63, arg2 -> undef64, arg3 -> undef65, arg4 -> undef66, arg5 -> arg2, arg6 -> undef68}> 0.00/0.32 1) /\ ((undef71 + 2) <= arg1) /\ (arg1 > 2) /\ (undef69 > 1) /\ (undef70 > 5) /\ (undef71 > ~(1)), par{arg1 -> undef69, arg2 -> undef70, arg3 -> undef71, arg4 -> undef72, arg5 -> arg2, arg6 -> undef74}> 0.00/0.32 1) /\ ((undef75 + 1) <= arg3) /\ (arg1 > 2) /\ (arg2 > 0) /\ (arg3 > 0) /\ (undef75 > ~(1)), par{arg1 -> undef75, arg2 -> arg5, arg3 -> undef77, arg4 -> undef78, arg5 -> undef79, arg6 -> undef80}> 0.00/0.32 1) /\ (undef82 <= arg1) /\ ((undef82 - 3) <= arg2) /\ ((undef82 - 2) <= arg3) /\ (arg1 > 3) /\ (arg2 > 0) /\ (arg3 > 1) /\ (undef81 > 0) /\ (undef82 > 3), par{arg1 -> undef81, arg2 -> undef82, arg3 -> undef83, arg4 -> undef84, arg5 -> undef85, arg6 -> undef86}> 0.00/0.32 1) /\ (undef88 <= arg1) /\ ((undef88 - 2) <= arg3) /\ (arg1 > 5) /\ (arg2 > 0) /\ (arg3 > 3) /\ (undef87 > 0) /\ (undef88 > 5), par{arg1 -> undef87, arg2 -> undef88, arg3 -> undef89, arg4 -> undef90, arg5 -> undef91, arg6 -> undef92}> 0.00/0.32 1) /\ (arg1 > 2) /\ (arg2 > 0) /\ (arg3 > 0) /\ (undef93 > 0) /\ (undef94 > 5), par{arg1 -> undef93, arg2 -> undef94, arg3 -> undef95, arg4 -> undef96, arg5 -> undef97, arg6 -> undef98}> 0.00/0.32 undef99, arg2 -> undef100, arg3 -> undef101, arg4 -> undef102, arg5 -> undef103, arg6 -> undef104}> 0.00/0.32 0.00/0.32 Fresh variables: 0.00/0.32 undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef14, undef15, undef17, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef30, undef36, undef37, undef38, undef50, undef51, undef53, undef54, undef55, undef56, undef57, undef59, undef60, undef61, undef62, undef63, undef64, undef65, undef66, undef68, undef69, undef70, undef71, undef72, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef85, undef86, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, undef100, undef101, undef102, undef103, undef104, 0.00/0.32 0.00/0.32 Undef variables: 0.00/0.32 undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef14, undef15, undef17, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef30, undef36, undef37, undef38, undef50, undef51, undef53, undef54, undef55, undef56, undef57, undef59, undef60, undef61, undef62, undef63, undef64, undef65, undef66, undef68, undef69, undef70, undef71, undef72, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef85, undef86, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, undef100, undef101, undef102, undef103, undef104, 0.00/0.32 0.00/0.32 Abstraction variables: 0.00/0.32 0.00/0.32 Exit nodes: 0.00/0.32 0.00/0.32 Accepting locations: 0.00/0.32 0.00/0.32 Asserts: 0.00/0.32 0.00/0.32 Preprocessed LLVMGraph 0.00/0.32 Init Location: 0 0.00/0.32 Transitions: 0.00/0.32 ~(1)) /\ (undef100 > 0) /\ (undef99 > 0) /\ (undef100 > ~(1)) /\ (undef1 > 0) /\ (1 > 0) /\ (1 < undef100) /\ (undef30 > ~(1)), par{arg1 -> undef1, arg2 -> (undef1 - 1), arg3 -> 0, arg4 -> undef30, arg5 -> undef100, arg6 -> (1 + 1)}> 0.00/0.32 ~(1)) /\ (undef100 > 0) /\ (undef7 <= undef99) /\ (undef99 > 0) /\ (undef7 > 0) /\ (undef8 > ~(1)) /\ (undef26 > 0) /\ (undef9 > 1) /\ (undef20 <= undef8) /\ (undef7 > 0) /\ (undef8 > ~(1)) /\ (undef20 > ~(1)), par{arg1 -> undef20, arg2 -> undef9, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25}> 0.00/0.32 1) /\ (arg1 > 2) /\ (undef51 > 0), par{arg1 -> undef51, arg3 -> undef53, arg4 -> undef54, arg5 -> undef55, arg6 -> undef56}> 0.00/0.32 1) /\ (arg1 > 3) /\ (undef57 > ~(1)), par{arg1 -> undef57, arg3 -> undef59, arg4 -> undef60, arg5 -> undef61, arg6 -> undef62}> 0.00/0.32 1) /\ ((undef65 + 2) <= arg1) /\ (arg1 > 2) /\ (undef63 > 1) /\ (undef64 > 2) /\ (undef65 > ~(1)) /\ ((undef75 + 3) <= undef63) /\ (arg2 > 1) /\ ((undef75 + 1) <= undef65) /\ (undef63 > 2) /\ (undef64 > 0) /\ (undef65 > 0) /\ (undef75 > ~(1)), par{arg1 -> undef75, arg2 -> arg2, arg3 -> undef77, arg4 -> undef78, arg5 -> undef79, arg6 -> undef80}> 0.00/0.32 1) /\ ((undef65 + 2) <= arg1) /\ (arg1 > 2) /\ (undef63 > 1) /\ (undef64 > 2) /\ (undef65 > ~(1)) /\ (undef81 <= undef64) /\ (arg2 > 1) /\ (undef82 <= undef63) /\ ((undef82 - 3) <= undef64) /\ ((undef82 - 2) <= undef65) /\ (undef63 > 3) /\ (undef64 > 0) /\ (undef65 > 1) /\ (undef81 > 0) /\ (undef82 > 3), par{arg1 -> undef81, arg2 -> undef82, arg3 -> undef83, arg4 -> undef84, arg5 -> undef85, arg6 -> undef86}> 0.00/0.32 1) /\ ((undef65 + 2) <= arg1) /\ (arg1 > 2) /\ (undef63 > 1) /\ (undef64 > 2) /\ (undef65 > ~(1)) /\ (undef87 <= undef64) /\ (arg2 > 1) /\ (undef88 <= undef63) /\ ((undef88 - 2) <= undef65) /\ (undef63 > 5) /\ (undef64 > 0) /\ (undef65 > 3) /\ (undef87 > 0) /\ (undef88 > 5), par{arg1 -> undef87, arg2 -> undef88, arg3 -> undef89, arg4 -> undef90, arg5 -> undef91, arg6 -> undef92}> 0.00/0.32 1) /\ ((undef65 + 2) <= arg1) /\ (arg1 > 2) /\ (undef63 > 1) /\ (undef64 > 2) /\ (undef65 > ~(1)) /\ (undef93 <= undef64) /\ (arg2 > 1) /\ (undef63 > 2) /\ (undef64 > 0) /\ (undef65 > 0) /\ (undef93 > 0) /\ (undef94 > 5), par{arg1 -> undef93, arg2 -> undef94, arg3 -> undef95, arg4 -> undef96, arg5 -> undef97, arg6 -> undef98}> 0.00/0.32 1) /\ ((undef71 + 2) <= arg1) /\ (arg1 > 2) /\ (undef69 > 1) /\ (undef70 > 5) /\ (undef71 > ~(1)) /\ ((undef75 + 3) <= undef69) /\ (arg2 > 1) /\ ((undef75 + 1) <= undef71) /\ (undef69 > 2) /\ (undef70 > 0) /\ (undef71 > 0) /\ (undef75 > ~(1)), par{arg1 -> undef75, arg2 -> arg2, arg3 -> undef77, arg4 -> undef78, arg5 -> undef79, arg6 -> undef80}> 0.00/0.32 1) /\ ((undef71 + 2) <= arg1) /\ (arg1 > 2) /\ (undef69 > 1) /\ (undef70 > 5) /\ (undef71 > ~(1)) /\ (undef81 <= undef70) /\ (arg2 > 1) /\ (undef82 <= undef69) /\ ((undef82 - 3) <= undef70) /\ ((undef82 - 2) <= undef71) /\ (undef69 > 3) /\ (undef70 > 0) /\ (undef71 > 1) /\ (undef81 > 0) /\ (undef82 > 3), par{arg1 -> undef81, arg2 -> undef82, arg3 -> undef83, arg4 -> undef84, arg5 -> undef85, arg6 -> undef86}> 0.00/0.32 1) /\ ((undef71 + 2) <= arg1) /\ (arg1 > 2) /\ (undef69 > 1) /\ (undef70 > 5) /\ (undef71 > ~(1)) /\ (undef87 <= undef70) /\ (arg2 > 1) /\ (undef88 <= undef69) /\ ((undef88 - 2) <= undef71) /\ (undef69 > 5) /\ (undef70 > 0) /\ (undef71 > 3) /\ (undef87 > 0) /\ (undef88 > 5), par{arg1 -> undef87, arg2 -> undef88, arg3 -> undef89, arg4 -> undef90, arg5 -> undef91, arg6 -> undef92}> 0.00/0.32 1) /\ ((undef71 + 2) <= arg1) /\ (arg1 > 2) /\ (undef69 > 1) /\ (undef70 > 5) /\ (undef71 > ~(1)) /\ (undef93 <= undef70) /\ (arg2 > 1) /\ (undef69 > 2) /\ (undef70 > 0) /\ (undef71 > 0) /\ (undef93 > 0) /\ (undef94 > 5), par{arg1 -> undef93, arg2 -> undef94, arg3 -> undef95, arg4 -> undef96, arg5 -> undef97, arg6 -> undef98}> 0.00/0.32 0) /\ (arg4 > arg3) /\ (arg1 > 0) /\ (arg6 > 1) /\ (arg2 < arg1) /\ ((arg2 - 1) < arg1) /\ (arg2 > ~(1)) /\ ((arg2 - 1) < arg2) /\ (arg5 > ~(1)) /\ ((arg2 - 1) > 0) /\ (arg6 > 0) /\ (arg6 < arg5) /\ (undef30 > ~(1)), par{arg1 -> (arg2 - 1), arg2 -> ((arg2 - 1) - 1), arg3 -> 0, arg4 -> undef30, arg5 -> arg5, arg6 -> (arg6 + 1)}> 0.00/0.32 0) /\ (arg4 > arg3) /\ (arg1 > 0) /\ (arg6 > 1) /\ (arg2 < arg1) /\ ((arg2 - 1) < arg1) /\ (arg2 > ~(1)) /\ ((arg2 - 1) < arg2), par{arg3 -> (arg3 + 1)}> 0.00/0.32 0) /\ (arg4 > arg3) /\ (arg1 > 0) /\ (arg6 > 1) /\ (arg2 < arg1) /\ ((arg2 - 1) < arg1) /\ (arg2 > ~(1)) /\ ((arg2 - 1) < arg2), par{arg3 -> (arg3 + 1), arg6 -> undef50}> 0.00/0.32 0.00/0.32 Fresh variables: 0.00/0.32 undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef14, undef15, undef17, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef30, undef36, undef37, undef38, undef50, undef51, undef53, undef54, undef55, undef56, undef57, undef59, undef60, undef61, undef62, undef63, undef64, undef65, undef66, undef68, undef69, undef70, undef71, undef72, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef85, undef86, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, undef100, undef101, undef102, undef103, undef104, 0.00/0.32 0.00/0.32 Undef variables: 0.00/0.32 undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef14, undef15, undef17, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef30, undef36, undef37, undef38, undef50, undef51, undef53, undef54, undef55, undef56, undef57, undef59, undef60, undef61, undef62, undef63, undef64, undef65, undef66, undef68, undef69, undef70, undef71, undef72, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef85, undef86, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, undef100, undef101, undef102, undef103, undef104, 0.00/0.32 0.00/0.32 Abstraction variables: 0.00/0.32 0.00/0.32 Exit nodes: 0.00/0.32 0.00/0.32 Accepting locations: 0.00/0.32 0.00/0.32 Asserts: 0.00/0.32 0.00/0.32 ************************************************************* 0.00/0.32 ******************************************************************************************* 0.00/0.32 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 0.00/0.32 ******************************************************************************************* 0.00/0.32 0.00/0.32 Init Location: 0 0.00/0.32 Graph 0: 0.00/0.32 Transitions: 0.00/0.32 Variables: 0.00/0.32 0.00/0.32 Graph 1: 0.00/0.32 Transitions: 0.00/0.32 undef51, arg3 -> undef53, arg4 -> undef54, arg5 -> undef55, arg6 -> undef56, rest remain the same}> 0.00/0.32 undef57, arg3 -> undef59, arg4 -> undef60, arg5 -> undef61, arg6 -> undef62, rest remain the same}> 0.00/0.32 undef75, arg3 -> undef77, arg4 -> undef78, arg5 -> undef79, arg6 -> undef80, rest remain the same}> 0.00/0.32 undef75, arg3 -> undef77, arg4 -> undef78, arg5 -> undef79, arg6 -> undef80, rest remain the same}> 0.00/0.32 Variables: 0.00/0.32 arg1, arg2, arg3, arg4, arg5, arg6 0.00/0.32 0.00/0.32 Graph 2: 0.00/0.32 Transitions: 0.00/0.32 Variables: 0.00/0.32 0.00/0.32 Graph 3: 0.00/0.32 Transitions: 0.00/0.32 -1 + arg2, arg2 -> -2 + arg2, arg3 -> 0, arg4 -> undef30, arg6 -> 1 + arg6, rest remain the same}> 0.00/0.32 1 + arg3, rest remain the same}> 0.00/0.32 1 + arg3, arg6 -> undef50, rest remain the same}> 0.00/0.32 Variables: 0.00/0.32 arg1, arg2, arg3, arg4, arg5, arg6 0.00/0.32 0.00/0.32 Precedence: 0.00/0.32 Graph 0 0.00/0.32 0.00/0.32 Graph 1 0.00/0.32 undef20, arg2 -> undef9, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> 0.00/0.32 0.00/0.32 Graph 2 0.00/0.32 undef81, arg2 -> undef82, arg3 -> undef83, arg4 -> undef84, arg5 -> undef85, arg6 -> undef86, rest remain the same}> 0.00/0.32 undef87, arg2 -> undef88, arg3 -> undef89, arg4 -> undef90, arg5 -> undef91, arg6 -> undef92, rest remain the same}> 0.00/0.32 undef93, arg2 -> undef94, arg3 -> undef95, arg4 -> undef96, arg5 -> undef97, arg6 -> undef98, rest remain the same}> 0.00/0.32 undef81, arg2 -> undef82, arg3 -> undef83, arg4 -> undef84, arg5 -> undef85, arg6 -> undef86, rest remain the same}> 0.00/0.32 undef87, arg2 -> undef88, arg3 -> undef89, arg4 -> undef90, arg5 -> undef91, arg6 -> undef92, rest remain the same}> 0.00/0.32 undef93, arg2 -> undef94, arg3 -> undef95, arg4 -> undef96, arg5 -> undef97, arg6 -> undef98, rest remain the same}> 0.00/0.32 0.00/0.32 Graph 3 0.00/0.32 undef1, arg2 -> -1 + undef1, arg3 -> 0, arg4 -> undef30, arg5 -> undef100, arg6 -> 2, rest remain the same}> 0.00/0.32 0.00/0.32 Map Locations to Subgraph: 0.00/0.32 ( 0 , 0 ) 0.00/0.32 ( 5 , 1 ) 0.00/0.32 ( 6 , 3 ) 0.00/0.32 ( 8 , 2 ) 0.00/0.32 0.00/0.32 ******************************************************************************************* 0.00/0.32 ******************************** CHECKING ASSERTIONS ******************************** 0.00/0.32 ******************************************************************************************* 0.00/0.32 0.00/0.32 Proving termination of subgraph 0 0.00/0.32 Proving termination of subgraph 1 0.00/0.32 Checking unfeasibility... 0.00/0.32 Time used: 0.022586 0.00/0.32 0.00/0.32 Checking conditional termination of SCC {l5}... 0.00/0.32 0.00/0.32 LOG: CALL solveLinear 0.00/0.32 0.00/0.32 LOG: RETURN solveLinear - Elapsed time: 0.005559s 0.00/0.32 Ranking function: (~(3) / 2) + (1 / 2)*arg1 0.00/0.32 New Graphs: 0.00/0.32 Proving termination of subgraph 2 0.00/0.32 Analyzing SCC {l8}... 0.00/0.32 No cycles found. 0.00/0.32 0.00/0.32 Proving termination of subgraph 3 0.00/0.32 Checking unfeasibility... 0.00/0.32 Time used: 0.219806 0.00/0.32 0.00/0.32 Checking conditional termination of SCC {l6}... 0.00/0.32 0.00/0.32 LOG: CALL solveLinear 0.00/0.32 0.00/0.32 LOG: RETURN solveLinear - Elapsed time: 0.005956s 0.00/0.32 Ranking function: (~(13) / 2) + (3 / 2)*arg1 - arg2 + (5 / 3)*arg5 0.00/0.32 New Graphs: 0.00/0.32 Transitions: 0.00/0.32 1 + arg3, rest remain the same}> 0.00/0.32 1 + arg3, arg6 -> undef50, rest remain the same}> 0.00/0.32 Variables: 0.00/0.32 arg1, arg2, arg3, arg4, arg6 0.00/0.32 Checking conditional termination of SCC {l6}... 0.00/0.32 0.00/0.32 LOG: CALL solveLinear 0.00/0.32 0.00/0.32 LOG: RETURN solveLinear - Elapsed time: 0.002254s 0.00/0.32 Ranking function: -1 - arg3 + arg4 0.00/0.32 New Graphs: 0.00/0.32 Program Terminates 0.00/0.32 /export/starexec/sandbox2/solver/bin/starexec_run_termcomp2019_ITS: line 26: delete: command not found 0.00/0.33 /export/starexec/sandbox2/solver/bin/starexec_run_termcomp2019_ITS: line 27: edit: command not found 0.00/0.33 EOF