/export/starexec/sandbox2/solver/bin/starexec_run_termcomp17 /export/starexec/sandbox2/benchmark/theBenchmark.smt2 /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Solver Timeout: 4 Global Timeout: 300 Maximum number of concurrent processes: 900 No parsing errors! Init Location: 0 Transitions: 0) /\ (arg2 > ~(1)), par{arg3 -> undef3, arg4 -> undef4}> 0) /\ (arg2 > ~(1)) /\ ((arg2 - (5 * undef9)) >= 0) /\ ((arg2 - (5 * undef9)) < 5) /\ ((arg2 - (4 * undef10)) >= 0) /\ ((arg2 - (4 * undef10)) < 4) /\ ((arg2 - (5 * undef11)) >= 0) /\ ((arg2 - (5 * undef11)) < 5) /\ ((arg2 - (4 * undef12)) < 4) /\ ((arg2 - (4 * undef12)) >= 0), par{arg1 -> arg2, arg2 -> (arg2 - (5 * undef9)), arg3 -> (arg2 - (4 * undef10)), arg4 -> ((arg2 + (arg2 - (5 * undef11))) + ((3 * arg2) - (12 * undef12)))}> ~(1)) /\ (arg2 < arg1), par{arg1 -> (arg1 - 1), arg4 -> (((arg1 - 1) + arg2) + (3 * arg3))}> ~(1)) /\ (arg2 >= arg1), par{arg1 -> (arg1 + 1), arg2 -> (arg2 - 2), arg4 -> (((arg1 + 1) + (arg2 - 2)) + (3 * arg3))}> ~(1)) /\ (arg3 >= arg2) /\ (arg2 >= arg1), par{arg1 -> (arg1 + 1), arg2 -> (arg2 + 1), arg3 -> (arg3 - 1), arg4 -> (((arg1 + 1) + (arg2 + 1)) + ((3 * arg3) - 3))}> undef25, arg2 -> undef26, arg3 -> undef27, arg4 -> undef28}> Fresh variables: undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, Undef variables: undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: 0) /\ (undef26 > ~(1)) /\ (undef25 > 0) /\ (undef26 > ~(1)) /\ ((undef26 - (5 * undef9)) >= 0) /\ ((undef26 - (5 * undef9)) < 5) /\ ((undef26 - (4 * undef10)) >= 0) /\ ((undef26 - (4 * undef10)) < 4) /\ ((undef26 - (5 * undef11)) >= 0) /\ ((undef26 - (5 * undef11)) < 5) /\ ((undef26 - (4 * undef12)) < 4) /\ ((undef26 - (4 * undef12)) >= 0)> ~(1)) /\ (arg2 < arg1), par{arg1 -> (arg1 - 1), arg4 -> (((arg1 - 1) + arg2) + (3 * arg3))}> ~(1)) /\ (arg2 >= arg1), par{arg1 -> (arg1 + 1), arg2 -> (arg2 - 2), arg4 -> (((arg1 + 1) + (arg2 - 2)) + (3 * arg3))}> ~(1)) /\ (arg3 >= arg2) /\ (arg2 >= arg1), par{arg1 -> (arg1 + 1), arg2 -> (arg2 + 1), arg3 -> (arg3 - 1), arg4 -> (((arg1 + 1) + (arg2 + 1)) + ((3 * arg3) - 3))}> Fresh variables: undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, Undef variables: undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Precedence: Graph 0 Graph 1 Map Locations to Subgraph: ( 0 , 0 ) ( 3 , 1 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.042402 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002758s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.052722s [27989 : 27990] [27989 : 27991] Successful child: 27990 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Ranking function: 2 + arg3 New Graphs: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002375s Ranking function: (1 / 4) + (1 / 2)*arg2 + (~(1) / 4)*arg3 New Graphs: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001136s Ranking function: -1 + arg1 - arg2 New Graphs: [27989 : 27995] [27989 : 27996] INVARIANTS: 3: Quasi-INVARIANTS to narrow Graph: 3: arg3 <= 0 , arg3 + arg4 <= 1 + arg1 + arg2 , Narrowing transition: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: Narrow transition size 2 Narrowing transition: 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: Narrow transition size 2 Narrowing transition: 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> LOG: Narrow transition size 2 invGraph after Narrowing: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.006452s Ranking function: 1 + arg3 New Graphs: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.006124s Ranking function: 3 + 2*arg2 + 3*arg3 New Graphs: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> 1 + arg2, arg3 -> -1 + arg3, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003315s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.245926s Piecewise ranking function: min(5 + 6*arg4,0) New Graphs: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 1 + arg1, arg2 -> -2 + arg2, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003115s Ranking function: 4 + 2*arg2 - 2*arg3 New Graphs: Transitions: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001983s Ranking function: -1 + arg1 - arg2 New Graphs: Program Terminates