/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: ~(1)) /\ (arg1 > 0) /\ (undef1 > 0), par{arg1 -> undef1, arg2 -> 0, arg3 -> arg2, arg4 -> undef4, arg5 -> undef5, arg6 -> undef6, arg7 -> undef7, arg8 -> undef8, arg9 -> undef9}> arg2) /\ (arg1 > 0) /\ (undef10 > 0), par{arg1 -> undef10, arg3 -> 0, arg4 -> (2 * arg2), arg5 -> arg3, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18}> = arg4) /\ (arg5 > ~(1)) /\ (arg1 >= undef19) /\ (arg1 > 0) /\ (undef19 > 0), par{arg1 -> undef19, arg2 -> (arg2 + 1), arg3 -> arg5, arg4 -> undef22, arg5 -> undef23, arg6 -> undef24, arg7 -> undef25, arg8 -> undef26, arg9 -> undef27}> arg3) /\ (arg3 > ~(1)) /\ (arg2 > ~(1)) /\ (undef28 <= arg1) /\ (arg1 > 0) /\ (undef28 > 0), par{arg1 -> undef28, arg3 -> arg4, arg4 -> arg3, arg5 -> (arg2 + arg3), arg6 -> arg5, arg7 -> undef34, arg8 -> undef35, arg9 -> undef36}> 0) /\ (undef37 > 0), par{arg1 -> undef37, arg3 -> (arg4 + 1), arg4 -> arg3, arg5 -> arg6, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45}> = 0) /\ (arg5 > ~(1)) /\ ((2 * arg2) >= 0) /\ (((2 * arg2) + (3 * arg4)) >= 0) /\ ((4 * arg5) >= 0) /\ (undef46 <= arg1) /\ (arg1 > 0) /\ (undef46 > 0), par{arg1 -> undef46, arg6 -> 0, arg7 -> (((2 * arg2) + (3 * arg4)) + (4 * arg5)), arg8 -> arg6, arg9 -> undef54}> 0) /\ (undef55 > 0), par{arg1 -> undef55, arg5 -> (arg5 - 1), arg6 -> arg8, arg7 -> undef61, arg8 -> undef62, arg9 -> undef63}> = 0) /\ (arg7 > arg6) /\ ((1000 * arg2) >= 0) /\ ((10 * arg5) >= 0) /\ (((1000 * arg2) + (100 * arg4)) >= 0) /\ ((((1000 * arg2) + (100 * arg4)) + (10 * arg5)) >= 0) /\ (arg6 > ~(1)) /\ (undef64 <= arg1) /\ (arg1 > 0) /\ (undef64 > 0), par{arg1 -> undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> ((((1000 * arg2) + (100 * arg4)) + (10 * arg5)) + arg6), arg9 -> arg8}> 0) /\ (undef73 > 0), par{arg1 -> undef73, arg6 -> (arg7 + 1), arg7 -> arg6, arg8 -> arg9, arg9 -> undef81}> ~(1)) /\ (arg1 > 0) /\ (undef82 > 0), par{arg1 -> undef82, arg8 -> (arg8 - 1)}> undef91, arg2 -> undef92, arg3 -> undef93, arg4 -> undef94, arg5 -> undef95, arg6 -> undef96, arg7 -> undef97, arg8 -> undef98, arg9 -> undef99}> Fresh variables: undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef25, undef26, undef27, undef28, undef34, undef35, undef36, undef37, undef42, undef43, undef44, undef45, undef46, undef54, undef55, undef61, undef62, undef63, undef64, undef73, undef81, undef82, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, Undef variables: undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef25, undef26, undef27, undef28, undef34, undef35, undef36, undef37, undef42, undef43, undef44, undef45, undef46, undef54, undef55, undef61, undef62, undef63, undef64, undef73, undef81, undef82, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: ~(1)) /\ (undef91 > 0) /\ (undef1 > 0) /\ (undef10 <= undef1) /\ (undef92 > 0) /\ (undef1 > 0) /\ (undef10 > 0)> = arg4) /\ (arg5 > ~(1)) /\ (arg1 >= undef19) /\ (arg1 > 0) /\ (undef19 > 0) /\ (undef10 <= undef19) /\ (arg5 > (arg2 + 1)) /\ (undef19 > 0) /\ (undef10 > 0), par{arg1 -> undef10, arg2 -> (arg2 + 1), arg3 -> 0, arg4 -> (2 * (arg2 + 1)), arg5 -> arg5, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18}> arg3) /\ (arg3 > ~(1)) /\ (arg2 > ~(1)) /\ (undef28 <= arg1) /\ (arg1 > 0) /\ (undef28 > 0) /\ ((3 * arg3) >= 0) /\ ((arg2 + arg3) > ~(1)) /\ ((2 * arg2) >= 0) /\ (((2 * arg2) + (3 * arg3)) >= 0) /\ ((4 * (arg2 + arg3)) >= 0) /\ (undef46 <= undef28) /\ (undef28 > 0) /\ (undef46 > 0), par{arg1 -> undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> (arg2 + arg3), arg6 -> 0, arg7 -> (((2 * arg2) + (3 * arg3)) + (4 * (arg2 + arg3))), arg8 -> arg5, arg9 -> undef54}> 0) /\ (undef55 > 0) /\ (undef37 <= undef55) /\ ((arg5 - 1) < 0) /\ (undef55 > 0) /\ (undef37 > 0), par{arg1 -> undef37, arg3 -> (arg4 + 1), arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45}> 0) /\ (undef55 > 0) /\ ((3 * arg4) >= 0) /\ ((arg5 - 1) > ~(1)) /\ ((2 * arg2) >= 0) /\ (((2 * arg2) + (3 * arg4)) >= 0) /\ ((4 * (arg5 - 1)) >= 0) /\ (undef46 <= undef55) /\ (undef55 > 0) /\ (undef46 > 0), par{arg1 -> undef46, arg5 -> (arg5 - 1), arg6 -> 0, arg7 -> (((2 * arg2) + (3 * arg4)) + (4 * (arg5 - 1))), arg8 -> arg8, arg9 -> undef54}> = 0) /\ (arg7 > arg6) /\ ((1000 * arg2) >= 0) /\ ((10 * arg5) >= 0) /\ (((1000 * arg2) + (100 * arg4)) >= 0) /\ ((((1000 * arg2) + (100 * arg4)) + (10 * arg5)) >= 0) /\ (arg6 > ~(1)) /\ (undef64 <= arg1) /\ (arg1 > 0) /\ (undef64 > 0), par{arg1 -> undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> ((((1000 * arg2) + (100 * arg4)) + (10 * arg5)) + arg6), arg9 -> arg8}> 0) /\ (undef73 > 0), par{arg1 -> undef73, arg6 -> (arg7 + 1), arg7 -> arg6, arg8 -> arg9, arg9 -> undef81}> ~(1)) /\ (arg1 > 0) /\ (undef82 > 0), par{arg1 -> undef82, arg8 -> (arg8 - 1)}> Fresh variables: undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef25, undef26, undef27, undef28, undef34, undef35, undef36, undef37, undef42, undef43, undef44, undef45, undef46, undef54, undef55, undef61, undef62, undef63, undef64, undef73, undef81, undef82, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, Undef variables: undef1, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef25, undef26, undef27, undef28, undef34, undef35, undef36, undef37, undef42, undef43, undef44, undef45, undef46, undef54, undef55, undef61, undef62, undef63, undef64, undef73, undef81, undef82, undef91, undef92, undef93, undef94, undef95, undef96, undef97, undef98, undef99, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef10, arg2 -> 1 + arg2, arg3 -> 0, arg4 -> 2 + 2*arg2, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18, rest remain the same}> undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> undef82, arg8 -> -1 + arg8, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 Precedence: Graph 0 Graph 1 Map Locations to Subgraph: ( 0 , 0 ) ( 3 , 1 ) ( 5 , 1 ) ( 6 , 1 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 4.15557 Checking conditional termination of SCC {l3, l5, l6}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.017322s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.093189s [40159 : 40187] [40159 : 40188] Successful child: 40187 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef10, arg2 -> 1 + arg2, arg3 -> 0, arg4 -> 2 + 2*arg2, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef82, arg8 -> -1 + arg8, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef10, arg2 -> 1 + arg2, arg3 -> 0, arg4 -> 2 + 2*arg2, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef82, arg8 -> -1 + arg8, rest remain the same}> New Graphs: Transitions: undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> undef82, arg8 -> -1 + arg8, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 Checking conditional termination of SCC {l3, l5, l6}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.009124s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.078048s [40159 : 40219] [40159 : 40220] Successful child: 40219 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef82, arg8 -> -1 + arg8, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef82, arg8 -> -1 + arg8, rest remain the same}> New Graphs: LOG: CALL check - Post:arg5 <= 1 + arg2 - Process 1 * Exit transition: * Postcondition : arg5 <= 1 + arg2 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003775s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.003989s INVARIANTS: 3: 5: 6: Quasi-INVARIANTS to narrow Graph: 3: arg5 <= 1 + arg2 , 5: arg8 <= 1 + arg2 , 6: arg9 <= 1 + arg2 , INVARIANTS: 3: 1 + arg2 + arg4 <= arg5 , 5: 1 <= 0 , 6: 1 + arg1 <= 0 , Quasi-INVARIANTS to narrow Graph: 3: 5: 6: Narrowing transition: undef10, arg2 -> 1 + arg2, arg3 -> 0, arg4 -> 2 + 2*arg2, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18, rest remain the same}> LOG: Narrow transition size 1 It's unfeasible. Removing transition: undef46, arg3 -> arg4, arg4 -> arg3, arg5 -> arg2 + arg3, arg6 -> 0, arg7 -> 6*arg2 + 7*arg3, arg8 -> arg5, arg9 -> undef54, rest remain the same}> It's unfeasible. Removing transition: undef37, arg3 -> 1 + arg4, arg4 -> arg3, arg5 -> arg8, arg6 -> undef42, arg7 -> undef43, arg8 -> undef44, arg9 -> undef45, rest remain the same}> It's unfeasible. Removing transition: undef46, arg5 -> -1 + arg5, arg6 -> 0, arg7 -> -4 + 2*arg2 + 3*arg4 + 4*arg5, arg9 -> undef54, rest remain the same}> It's unfeasible. Removing transition: undef64, arg6 -> arg7, arg7 -> arg6, arg8 -> 1000*arg2 + 100*arg4 + 10*arg5 + arg6, arg9 -> arg8, rest remain the same}> It's unfeasible. Removing transition: undef73, arg6 -> 1 + arg7, arg7 -> arg6, arg8 -> arg9, arg9 -> undef81, rest remain the same}> It's unfeasible. Removing transition: undef82, arg8 -> -1 + arg8, rest remain the same}> invGraph after Narrowing: Transitions: undef10, arg2 -> 1 + arg2, arg3 -> 0, arg4 -> 2 + 2*arg2, arg6 -> undef15, arg7 -> undef16, arg8 -> undef17, arg9 -> undef18, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.004068s Ranking function: -2 - arg2 + arg5 New Graphs: Program Terminates