/export/starexec/sandbox/solver/bin/starexec_run_termcomp17 /export/starexec/sandbox/benchmark/theBenchmark.smt2 /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Solver Timeout: 4 Global Timeout: 300 Maximum number of concurrent processes: 900 No parsing errors! Init Location: 0 Transitions: ~(1)) /\ (arg2 > 1) /\ (undef6 > ~(1)) /\ (undef1 <= arg1) /\ (arg1 > 0) /\ (undef1 > 0) /\ (undef2 > 1), par{arg1 -> undef1, arg2 -> undef2, arg3 -> 0, arg4 -> undef4, arg5 -> 2, arg6 -> undef6}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef13 > 1) /\ (undef14 > ~(1)) /\ (arg5 < undef13) /\ (arg1 >= undef7) /\ (arg2 >= undef7) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef7 > 0) /\ (undef8 > 3) /\ (arg2 >= (arg6 + 2)), par{arg1 -> undef7, arg2 -> undef8, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef12}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef21 > 1) /\ (undef22 > ~(1)) /\ (arg5 < undef21) /\ (undef15 <= arg1) /\ (undef15 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef15 > 0) /\ (undef16 > 3) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef15, arg2 -> undef16, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef20}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef29 > 1) /\ (undef30 > ~(1)) /\ (arg5 < undef29) /\ (undef23 <= arg1) /\ (undef23 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef23 > 0) /\ (undef24 > 2) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef23, arg2 -> undef24, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef28}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef37 > 1) /\ (undef38 > ~(1)) /\ (arg5 < undef37) /\ (undef31 <= arg1) /\ (undef31 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef31 > 0) /\ (undef32 > 2) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef31, arg2 -> undef32, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef36}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef45 > 1) /\ (undef40 > ~(1)) /\ (arg5 < undef45) /\ (undef39 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef39 > 0) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef39, arg2 -> undef40, arg3 -> arg6, arg4 -> undef42, arg5 -> undef43, arg6 -> undef44}> 2) /\ (undef46 > 0) /\ ((arg3 + 2) <= arg1) /\ ((undef48 + 4) <= arg1), par{arg1 -> undef46, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51}> = arg2) /\ (arg1 > 2) /\ (undef52 > 0) /\ ((arg3 + 2) <= arg1) /\ ((undef54 + 4) <= arg1), par{arg1 -> undef52, arg3 -> undef54, arg4 -> undef55, arg5 -> undef56, arg6 -> undef57}> undef58, arg2 -> undef59, arg3 -> undef60, arg4 -> undef61, arg5 -> undef62, arg6 -> undef63}> Fresh variables: undef1, undef2, undef4, undef6, undef7, undef8, undef12, undef13, undef14, undef15, undef16, undef20, undef21, undef22, undef23, undef24, undef28, undef29, undef30, undef31, undef32, undef36, undef37, undef38, undef39, undef40, undef42, undef43, undef44, undef45, undef46, undef48, undef49, undef50, undef51, undef52, undef54, undef55, undef56, undef57, undef58, undef59, undef60, undef61, undef62, undef63, Undef variables: undef1, undef2, undef4, undef6, undef7, undef8, undef12, undef13, undef14, undef15, undef16, undef20, undef21, undef22, undef23, undef24, undef28, undef29, undef30, undef31, undef32, undef36, undef37, undef38, undef39, undef40, undef42, undef43, undef44, undef45, undef46, undef48, undef49, undef50, undef51, undef52, undef54, undef55, undef56, undef57, undef58, undef59, undef60, undef61, undef62, undef63, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: ~(1)) /\ (undef59 > 1) /\ (undef6 > ~(1)) /\ (undef1 <= undef58) /\ (undef58 > 0) /\ (undef1 > 0) /\ (undef2 > 1)> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef13 > 1) /\ (undef14 > ~(1)) /\ (arg5 < undef13) /\ (arg1 >= undef7) /\ (arg2 >= undef7) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef7 > 0) /\ (undef8 > 3) /\ (arg2 >= (arg6 + 2)), par{arg1 -> undef7, arg2 -> undef8, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef12}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef21 > 1) /\ (undef22 > ~(1)) /\ (arg5 < undef21) /\ (undef15 <= arg1) /\ (undef15 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef15 > 0) /\ (undef16 > 3) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef15, arg2 -> undef16, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef20}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef29 > 1) /\ (undef30 > ~(1)) /\ (arg5 < undef29) /\ (undef23 <= arg1) /\ (undef23 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef23 > 0) /\ (undef24 > 2) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef23, arg2 -> undef24, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef28}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef37 > 1) /\ (undef38 > ~(1)) /\ (arg5 < undef37) /\ (undef31 <= arg1) /\ (undef31 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef31 > 0) /\ (undef32 > 2) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef31, arg2 -> undef32, arg3 -> (arg3 + 1), arg5 -> (arg5 + 1), arg6 -> undef36}> ~(1)) /\ (arg4 > arg3) /\ (arg4 > 0) /\ (undef45 > 1) /\ (undef40 > ~(1)) /\ (arg5 < undef45) /\ (undef39 <= arg2) /\ (arg1 > 0) /\ (arg2 > 0) /\ (undef39 > 0) /\ ((arg6 + 2) <= arg2), par{arg1 -> undef39, arg2 -> undef40, arg3 -> arg6, arg4 -> undef42, arg5 -> undef43, arg6 -> undef44}> 2) /\ (undef46 > 0) /\ ((arg3 + 2) <= arg1) /\ ((undef48 + 4) <= arg1), par{arg1 -> undef46, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51}> = arg2) /\ (arg1 > 2) /\ (undef52 > 0) /\ ((arg3 + 2) <= arg1) /\ ((undef54 + 4) <= arg1), par{arg1 -> undef52, arg3 -> undef54, arg4 -> undef55, arg5 -> undef56, arg6 -> undef57}> Fresh variables: undef1, undef2, undef4, undef6, undef7, undef8, undef12, undef13, undef14, undef15, undef16, undef20, undef21, undef22, undef23, undef24, undef28, undef29, undef30, undef31, undef32, undef36, undef37, undef38, undef39, undef40, undef42, undef43, undef44, undef45, undef46, undef48, undef49, undef50, undef51, undef52, undef54, undef55, undef56, undef57, undef58, undef59, undef60, undef61, undef62, undef63, Undef variables: undef1, undef2, undef4, undef6, undef7, undef8, undef12, undef13, undef14, undef15, undef16, undef20, undef21, undef22, undef23, undef24, undef28, undef29, undef30, undef31, undef32, undef36, undef37, undef38, undef39, undef40, undef42, undef43, undef44, undef45, undef46, undef48, undef49, undef50, undef51, undef52, undef54, undef55, undef56, undef57, undef58, undef59, undef60, undef61, undef62, undef63, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef7, arg2 -> undef8, arg3 -> 1 + arg3, arg5 -> 1 + arg5, arg6 -> undef12, rest remain the same}> undef15, arg2 -> undef16, arg3 -> 1 + arg3, arg5 -> 1 + arg5, arg6 -> undef20, rest remain the same}> undef23, arg2 -> undef24, arg3 -> 1 + arg3, arg5 -> 1 + arg5, arg6 -> undef28, rest remain the same}> undef31, arg2 -> undef32, arg3 -> 1 + arg3, arg5 -> 1 + arg5, arg6 -> undef36, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6 Graph 2: Transitions: undef46, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51, rest remain the same}> undef52, arg3 -> undef54, arg4 -> undef55, arg5 -> undef56, arg6 -> undef57, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6 Precedence: Graph 0 Graph 1 Graph 2 undef39, arg2 -> undef40, arg3 -> arg6, arg4 -> undef42, arg5 -> undef43, arg6 -> undef44, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 1 ) ( 3 , 2 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.033557 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.011874s Ranking function: -1 - arg3 + arg4 New Graphs: Proving termination of subgraph 2 Checking unfeasibility... Time used: 0.009172 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003209s Ranking function: -26 + 13*arg1 - 13*arg2 New Graphs: Transitions: undef46, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001571s Ranking function: (~(3) / 2) + (1 / 2)*arg1 New Graphs: Program Terminates