/export/starexec/sandbox/solver/bin/starexec_run_termcomp17 /export/starexec/sandbox/benchmark/theBenchmark.smt2 /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- NO Solver Timeout: 4 Global Timeout: 300 Maximum number of concurrent processes: 900 No parsing errors! Init Location: 0 Transitions: 0) /\ (undef1 > 0) /\ (undef2 > ~(1)), par{arg1 -> undef1, arg2 -> undef2, arg3 -> undef3, arg4 -> undef4, arg5 -> undef5, arg6 -> undef6}> 0) /\ (undef7 > 0) /\ (undef8 > ~(1)), par{arg1 -> undef7, arg2 -> undef8, arg3 -> undef9, arg4 -> undef10, arg5 -> undef11, arg6 -> undef12}> 0) /\ (undef13 > ~(1)) /\ (0 = arg2), par{arg1 -> undef13, arg2 -> 0, arg3 -> 0, arg4 -> 0, arg5 -> 0, arg6 -> undef18}> 0) /\ (arg1 > 0) /\ (undef19 > ~(1)), par{arg1 -> undef19, arg2 -> 0, arg3 -> 0, arg4 -> arg2, arg5 -> 1, arg6 -> undef24}> ~(1)) /\ (arg2 > 0) /\ ((undef25 + 1) <= arg1) /\ (arg1 > 0) /\ (undef25 > ~(1)), par{arg1 -> undef25, arg2 -> 0, arg3 -> undef27, arg4 -> arg2, arg5 -> 1, arg6 -> undef30}> = arg4) /\ (arg3 > arg2) /\ (arg4 > ~(1)) /\ ((undef31 - 2) <= arg1) /\ (arg1 > ~(1)) /\ (undef31 > 1), par{arg1 -> undef31, arg2 -> (arg2 + 1), arg6 -> undef36}> = arg4) /\ (arg3 > arg2) /\ (arg4 > ~(1)) /\ (arg1 > 0) /\ (undef37 > 4), par{arg1 -> undef37, arg2 -> (arg2 + 1), arg6 -> undef42}> ~(1)) /\ (arg3 > arg2) /\ (arg5 < arg4) /\ (arg5 > ~(1)) /\ (undef46 <= arg1) /\ (arg1 > ~(1)) /\ (undef44 > 1) /\ (undef46 > ~(1)), par{arg1 -> arg3, arg2 -> undef44, arg3 -> arg2, arg4 -> undef46, arg5 -> arg4, arg6 -> (arg5 + 1)}> ~(1)) /\ (arg3 > arg2) /\ (arg5 < arg4) /\ (undef55 > ~(1)) /\ (arg5 > ~(1)) /\ (undef52 <= arg1) /\ (arg1 > ~(1)) /\ (undef50 > 1) /\ (undef52 > ~(1)), par{arg1 -> arg3, arg2 -> undef50, arg3 -> arg2, arg4 -> undef52, arg5 -> arg4, arg6 -> (arg5 + 1)}> 1) /\ (arg4 > ~(1)) /\ (undef56 > 1), par{arg1 -> undef56, arg2 -> (arg3 + 1), arg3 -> arg1, arg4 -> arg5, arg5 -> arg6, arg6 -> undef61}> 2) /\ (arg4 > 0) /\ (undef62 > 4), par{arg1 -> undef62, arg2 -> (arg3 + 1), arg3 -> arg1, arg4 -> arg5, arg5 -> arg6, arg6 -> undef67}> 0) /\ (arg2 > 0) /\ (undef68 > 0) /\ (undef69 > ~(1)) /\ ((undef70 + 2) <= arg2), par{arg1 -> undef68, arg2 -> undef69, arg3 -> undef70, arg4 -> undef71, arg5 -> undef72, arg6 -> undef73}> 2) /\ (arg2 > 0) /\ (undef74 > 0) /\ (undef75 > ~(1)) /\ ((arg3 + 2) <= arg1), par{arg1 -> undef74, arg2 -> undef75, arg3 -> undef76, arg4 -> undef77, arg5 -> undef78, arg6 -> undef79}> 0) /\ (arg2 > 0) /\ (undef80 > 1) /\ (undef81 > 1) /\ (undef82 > ~(1)), par{arg1 -> undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84, arg6 -> undef85}> 2) /\ (arg2 > 1) /\ (arg3 > ~(1)) /\ (undef86 > 0) /\ (undef87 > 1) /\ (undef88 > 1), par{arg1 -> undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, arg6 -> undef91}> 2) /\ (arg2 > 2) /\ (arg3 > 0) /\ (undef92 > 0) /\ (undef93 > 1) /\ (undef94 > 4), par{arg1 -> undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, arg6 -> undef97}> undef98, arg2 -> undef99, arg3 -> undef100, arg4 -> undef101, arg5 -> undef102, arg6 -> undef103}> Fresh variables: undef1, undef2, undef3, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef18, undef19, undef24, undef25, undef27, undef30, undef31, undef36, undef37, undef42, undef44, undef46, undef50, undef52, undef55, undef56, undef61, undef62, undef67, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef76, 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, Undef variables: undef1, undef2, undef3, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef18, undef19, undef24, undef25, undef27, undef30, undef31, undef36, undef37, undef42, undef44, undef46, undef50, undef52, undef55, undef56, undef61, undef62, undef67, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef76, 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, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: 0) /\ (undef1 > 0) /\ (undef2 > ~(1)) /\ (undef68 <= undef2) /\ (undef1 > 0) /\ (undef2 > 0) /\ (undef68 > 0) /\ (undef69 > ~(1)) /\ ((undef70 + 2) <= undef2), par{arg1 -> undef68, arg2 -> undef69, arg3 -> undef70, arg4 -> undef71, arg5 -> undef72}> 0) /\ (undef1 > 0) /\ (undef2 > ~(1)) /\ ((undef82 + 1) <= undef1) /\ ((undef82 + 1) <= undef2) /\ (undef1 > 0) /\ (undef2 > 0) /\ (undef80 > 1) /\ (undef81 > 1) /\ (undef82 > ~(1)), par{arg1 -> undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84}> 0) /\ (undef13 > ~(1)) /\ (0 = undef99), par{arg1 -> undef13, arg2 -> 0, arg3 -> 0, arg4 -> 0, arg5 -> 0}> 0) /\ (undef98 > 0) /\ (undef19 > ~(1)), par{arg1 -> undef19, arg2 -> 0, arg3 -> 0, arg4 -> undef99, arg5 -> 1}> ~(1)) /\ (undef99 > 0) /\ ((undef25 + 1) <= undef98) /\ (undef98 > 0) /\ (undef25 > ~(1)), par{arg1 -> undef25, arg2 -> 0, arg3 -> undef27, arg4 -> undef99, arg5 -> 1}> = arg4) /\ (arg3 > arg2) /\ (arg4 > ~(1)) /\ ((undef31 - 2) <= arg1) /\ (arg1 > ~(1)) /\ (undef31 > 1), par{arg1 -> undef31, arg2 -> (arg2 + 1)}> = arg4) /\ (arg3 > arg2) /\ (arg4 > ~(1)) /\ (arg1 > 0) /\ (undef37 > 4), par{arg1 -> undef37, arg2 -> (arg2 + 1)}> ~(1)) /\ (arg3 > arg2) /\ (arg5 < arg4) /\ (arg5 > ~(1)) /\ (undef46 <= arg1) /\ (arg1 > ~(1)) /\ (undef44 > 1) /\ (undef46 > ~(1)) /\ (undef56 <= undef44) /\ ((undef56 - 2) <= undef46) /\ (undef44 > 1) /\ (undef46 > ~(1)) /\ (undef56 > 1), par{arg1 -> undef56, arg2 -> (arg2 + 1), arg3 -> arg3, arg4 -> arg4, arg5 -> (arg5 + 1)}> ~(1)) /\ (arg3 > arg2) /\ (arg5 < arg4) /\ (arg5 > ~(1)) /\ (undef46 <= arg1) /\ (arg1 > ~(1)) /\ (undef44 > 1) /\ (undef46 > ~(1)) /\ (undef44 > 2) /\ (undef46 > 0) /\ (undef62 > 4), par{arg1 -> undef62, arg2 -> (arg2 + 1), arg3 -> arg3, arg4 -> arg4, arg5 -> (arg5 + 1)}> ~(1)) /\ (arg3 > arg2) /\ (arg5 < arg4) /\ (undef55 > ~(1)) /\ (arg5 > ~(1)) /\ (undef52 <= arg1) /\ (arg1 > ~(1)) /\ (undef50 > 1) /\ (undef52 > ~(1)) /\ (undef56 <= undef50) /\ ((undef56 - 2) <= undef52) /\ (undef50 > 1) /\ (undef52 > ~(1)) /\ (undef56 > 1), par{arg1 -> undef56, arg2 -> (arg2 + 1), arg3 -> arg3, arg4 -> arg4, arg5 -> (arg5 + 1)}> ~(1)) /\ (arg3 > arg2) /\ (arg5 < arg4) /\ (undef55 > ~(1)) /\ (arg5 > ~(1)) /\ (undef52 <= arg1) /\ (arg1 > ~(1)) /\ (undef50 > 1) /\ (undef52 > ~(1)) /\ (undef50 > 2) /\ (undef52 > 0) /\ (undef62 > 4), par{arg1 -> undef62, arg2 -> (arg2 + 1), arg3 -> arg3, arg4 -> arg4, arg5 -> (arg5 + 1)}> 2) /\ (arg2 > 0) /\ (undef74 > 0) /\ (undef75 > ~(1)) /\ ((arg3 + 2) <= arg1), par{arg1 -> undef74, arg2 -> undef75, arg3 -> undef76, arg4 -> undef77, arg5 -> undef78}> 2) /\ (arg2 > 1) /\ (arg3 > ~(1)) /\ (undef86 > 0) /\ (undef87 > 1) /\ (undef88 > 1), par{arg1 -> undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90}> 2) /\ (arg2 > 2) /\ (arg3 > 0) /\ (undef92 > 0) /\ (undef93 > 1) /\ (undef94 > 4), par{arg1 -> undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96}> Fresh variables: undef1, undef2, undef3, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef18, undef19, undef24, undef25, undef27, undef30, undef31, undef36, undef37, undef42, undef44, undef46, undef50, undef52, undef55, undef56, undef61, undef62, undef67, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef76, 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, Undef variables: undef1, undef2, undef3, undef4, undef5, undef6, undef7, undef8, undef9, undef10, undef11, undef12, undef13, undef18, undef19, undef24, undef25, undef27, undef30, undef31, undef36, undef37, undef42, undef44, undef46, undef50, undef52, undef55, undef56, undef61, undef62, undef67, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef76, 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, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef31, arg2 -> 1 + arg2, rest remain the same}> undef37, arg2 -> 1 + arg2, rest remain the same}> undef56, arg2 -> 1 + arg2, arg5 -> 1 + arg5, rest remain the same}> undef62, arg2 -> 1 + arg2, arg5 -> 1 + arg5, rest remain the same}> undef56, arg2 -> 1 + arg2, arg5 -> 1 + arg5, rest remain the same}> undef62, arg2 -> 1 + arg2, arg5 -> 1 + arg5, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5 Graph 2: Transitions: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5 Graph 3: Transitions: undef74, arg2 -> undef75, arg3 -> undef76, arg4 -> undef77, arg5 -> undef78, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5 Precedence: Graph 0 Graph 1 undef13, arg2 -> 0, arg3 -> 0, arg4 -> 0, arg5 -> 0, rest remain the same}> undef19, arg2 -> 0, arg3 -> 0, arg4 -> undef99, arg5 -> 1, rest remain the same}> undef25, arg2 -> 0, arg3 -> undef27, arg4 -> undef99, arg5 -> 1, rest remain the same}> Graph 2 undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84, rest remain the same}> Graph 3 undef68, arg2 -> undef69, arg3 -> undef70, arg4 -> undef71, arg5 -> undef72, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 4 , 1 ) ( 6 , 3 ) ( 7 , 2 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.032521 Checking conditional termination of SCC {l4}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.011907s Ranking function: -1 - arg2 + arg3 New Graphs: Proving termination of subgraph 2 Checking unfeasibility... Time used: 0.008497 Checking conditional termination of SCC {l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002424s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.015608s [6507 : 6508] [6507 : 6509] Successful child: 6508 [ 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: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> New Graphs: LOG: CALL check - Post:arg1 <= 2 - Process 1 * Exit transition: undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84, rest remain the same}> * Postcondition : arg1 <= 2 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001049s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.001231s INVARIANTS: 7: Quasi-INVARIANTS to narrow Graph: 7: arg1 <= 2 , Narrowing transition: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> LOG: Narrow transition size 1 invGraph after Narrowing: Transitions: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5 Checking conditional termination of SCC {l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002309s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.016001s [6507 : 6513] [6507 : 6514] Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.038557s Time used: 0.037041 [6507 : 6518] [6507 : 6522] Successful child: 6522 Program does NOT terminate