NO Solver Timeout: 4 Global Timeout: 60 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.037506 Checking conditional termination of SCC {l4}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.012288s Ranking function: -1 - arg2 + arg3 New Graphs: Proving termination of subgraph 2 Checking unfeasibility... Time used: 0.00876 Checking conditional termination of SCC {l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002439s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.015883s Trying to remove transition: undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.020687s Time used: 0.019984 Trying to remove transition: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.023865s Time used: 0.022599 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.129319s Time used: 0.127692 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.087017s Time used: 0.087007 LOG: SAT solveNonLinear - Elapsed time: 0.216336s Cost: 1; Total time: 0.214699 Failed at location 7: arg1 <= 2 Before Improving: Quasi-invariant at l7: arg1 <= 2 Optimizing invariants... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.011107s Remaining time after improvement: 0.996007 Termination implied by a set of quasi-invariant(s): Quasi-invariant at l7: arg1 <= 2 [ 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: Calling Safety with literal arg1 <= 2 and entry undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84, rest remain the same}> 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.001226s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.001392s 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.002226s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.016116s Trying to remove transition: undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.021066s Time used: 0.020208 Trying to remove transition: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.024254s Time used: 0.022808 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.142951s Time used: 0.141519 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.004763s Time used: 4.00105 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.009993s Time used: 1.0007 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.076092s Time used: 0.037484 Proving non-termination of subgraph 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 Checking that every undef value has an assignment... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002482s Checking conditional non-termination of SCC {l7}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.079843s Time used: 0.07915 Improving Solution with cost 3 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.129614s Time used: 0.129603 LOG: SAT solveNonLinear - Elapsed time: 0.209457s Cost: 3; Total time: 0.208753 Minimizing number of undef constraints... LOG: CALL solveNonLinear LOG: RETURN solveNonLinear - Elapsed time: 0.013941s Number of undef constraints reduced! Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l7: 0 <= arg3 Strengthening and disabling EXIT transitions... Closed exits from l7: 2 Strengthening exit transition (result): Strengthening exit transition (result): Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 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 Strengthening transition (result): undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Checking conditional non-termination of SCC {l7}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.191835s Time used: 0.191234 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.097313s Time used: 0.097303 LOG: SAT solveNonLinear - Elapsed time: 0.289147s Cost: 1; Total time: 0.288537 Minimizing number of undef constraints... LOG: CALL solveNonLinear LOG: RETURN solveNonLinear - Elapsed time: 0.014575s Number of undef constraints reduced! Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l7: 2 <= arg2 Strengthening and disabling EXIT transitions... Closed exits from l7: 1 Strengthening exit transition (result): Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 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 Strengthening transition (result): undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Checking conditional non-termination of SCC {l7}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.683443s Time used: 0.682771 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.091746s Time used: 0.091735 LOG: SAT solveNonLinear - Elapsed time: 0.775189s Cost: 1; Total time: 0.774506 Failed at location 7: 3 <= arg1 Before Improving: Quasi-invariant at l7: 3 <= arg1 Optimizing invariants... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.009142s Remaining time after improvement: 0.995641 Minimizing number of undef constraints... LOG: CALL solveNonLinear LOG: RETURN solveNonLinear - Elapsed time: 0.008639s Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l7: 3 <= arg1 Constraint over undef '3 <= undef86' in transition: undef86, arg2 -> undef87, arg3 -> undef88, arg4 -> undef89, arg5 -> undef90, rest remain the same}> Constraint over undef '3 <= undef92' in transition: undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Strengthening and disabling EXIT transitions... Closed exits from l7: 1 Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 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 Strengthening transition (result): undef92, arg2 -> undef93, arg3 -> undef94, arg4 -> undef95, arg5 -> undef96, rest remain the same}> Calling reachability with... Transition: Conditions: 0 <= arg3, 2 <= arg2, 3 <= arg1, OPEN EXITS: --- Reachability graph --- > Graph without transitions. Calling reachability with... Transition: undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84, rest remain the same}> Conditions: 0 <= arg3, 2 <= arg2, 3 <= arg1, OPEN EXITS: undef80, arg2 -> undef81, arg3 -> undef82, arg4 -> undef83, arg5 -> undef84, rest remain the same}> > Conditions are reachable! Program does NOT terminate