/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)) /\ (arg1 > 0) /\ (undef1 > 0), par{arg1 -> undef1, arg2 -> 0, arg3 -> arg2, arg4 -> undef4}> arg2) /\ (arg3 > 0) /\ (undef9 > ~(1)) /\ (undef5 <= arg1) /\ (arg1 > 0) /\ (undef5 > 0), par{arg1 -> undef5, arg3 -> undef7, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef11 > ~(1)) /\ (arg1 > 0), par{arg1 -> arg3, arg2 -> undef11, arg3 -> undef12, arg4 -> undef13}> arg2) /\ (arg3 > 0) /\ (undef14 <= arg1) /\ (arg1 > 0) /\ (undef14 > 0), par{arg1 -> undef14, arg3 -> 1, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef22 > ~(1)) /\ (undef18 <= arg1) /\ (arg1 > 0) /\ (undef18 > 0), par{arg1 -> undef18, arg4 -> arg3}> 0) /\ (arg3 > 0) /\ (undef23 <= arg1) /\ (arg1 > 0) /\ (undef23 > 0), par{arg1 -> undef23, arg3 -> arg4, arg4 -> undef26}> 0) /\ (undef28 > ~(1)) /\ (arg2 < arg3) /\ (arg1 > 0), par{arg1 -> arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30}> 0) /\ (undef35 > ~(1)) /\ (arg2 < arg3) /\ (undef31 <= arg1) /\ (arg1 > 0) /\ (undef31 > 0), par{arg1 -> undef31, arg3 -> undef33, arg4 -> arg3}> 0) /\ (undef36 <= arg1) /\ (arg1 > 0) /\ (undef36 > 0), par{arg1 -> undef36, arg3 -> 1, arg4 -> arg3}> 0) /\ (undef44 > ~(1)) /\ (arg2 < arg3) /\ (undef40 <= arg1) /\ (arg1 > 0) /\ (undef40 > 0), par{arg1 -> undef40, arg4 -> arg3}> 0) /\ (arg1 > 0) /\ (undef45 > 0) /\ (1 = arg3), par{arg1 -> undef45, arg2 -> (arg2 + 1), arg3 -> arg4, arg4 -> undef48}> 0) /\ (arg4 > 0) /\ (undef49 <= arg1) /\ (arg1 > 0) /\ (undef49 > 0), par{arg1 -> undef49, arg2 -> (arg2 + 1), arg3 -> arg4, arg4 -> undef52}> 0) /\ (arg2 > 1) /\ ((arg1 * arg1) >= 1) /\ (undef57 > 0) /\ (arg2 > undef57), par{arg3 -> undef55, arg4 -> undef56}> 0) /\ (arg2 > 1) /\ ((arg1 * arg1) >= 1) /\ (arg2 > undef59) /\ (undef59 > 0) /\ ((arg2 - (2 * undef59)) < 2) /\ ((arg2 - (2 * undef59)) >= 0), par{arg1 -> (arg1 * arg1), arg2 -> undef59, arg3 -> undef60, arg4 -> undef61}> 0) /\ (arg4 > 0) /\ (arg1 > 0), par{arg1 -> arg3, arg2 -> undef63, arg3 -> undef64, arg4 -> undef65}> 0) /\ (arg4 > 0) /\ (arg1 > 0), par{arg1 -> arg3, arg2 -> undef67, arg3 -> undef68, arg4 -> undef69}> 1) /\ ((arg1 - 1) < arg1), par{arg1 -> (arg1 - 1), arg2 -> undef71, arg3 -> undef72, arg4 -> undef73}> 1) /\ ((arg1 - 1) < arg1), par{arg1 -> (arg1 - 1), arg2 -> undef75, arg3 -> undef76, arg4 -> undef77}> undef78, arg2 -> undef79, arg3 -> undef80, arg4 -> undef81}> Fresh variables: undef1, undef4, undef5, undef7, undef9, undef11, undef12, undef13, undef14, undef18, undef22, undef23, undef26, undef28, undef29, undef30, undef31, undef33, undef35, undef36, undef40, undef44, undef45, undef48, undef49, undef52, undef55, undef56, undef57, undef59, undef60, undef61, undef63, undef64, undef65, undef67, undef68, undef69, undef71, undef72, undef73, undef75, undef76, undef77, undef78, undef79, undef80, undef81, Undef variables: undef1, undef4, undef5, undef7, undef9, undef11, undef12, undef13, undef14, undef18, undef22, undef23, undef26, undef28, undef29, undef30, undef31, undef33, undef35, undef36, undef40, undef44, undef45, undef48, undef49, undef52, undef55, undef56, undef57, undef59, undef60, undef61, undef63, undef64, undef65, undef67, undef68, undef69, undef71, undef72, undef73, undef75, undef76, undef77, undef78, undef79, undef80, undef81, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: ~(1)) /\ (undef78 > 0) /\ (undef1 > 0)> arg2) /\ (arg3 > 0) /\ (undef9 > ~(1)) /\ (undef5 <= arg1) /\ (arg1 > 0) /\ (undef5 > 0) /\ (arg3 > 0) /\ (undef7 > 0) /\ (undef23 <= undef5) /\ (undef5 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef28 > ~(1)) /\ (arg2 < arg3) /\ (undef23 > 0), par{arg1 -> arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30}> arg2) /\ (arg3 > 0) /\ (undef9 > ~(1)) /\ (undef5 <= arg1) /\ (arg1 > 0) /\ (undef5 > 0) /\ (arg3 > 0) /\ (undef7 > 0) /\ (undef23 <= undef5) /\ (undef5 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef35 > ~(1)) /\ (arg2 < arg3) /\ (undef31 <= undef23) /\ (undef23 > 0) /\ (undef31 > 0), par{arg1 -> undef31, arg3 -> undef33, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef9 > ~(1)) /\ (undef5 <= arg1) /\ (arg1 > 0) /\ (undef5 > 0) /\ (arg3 > 0) /\ (undef7 > 0) /\ (undef23 <= undef5) /\ (undef5 > 0) /\ (undef23 > 0) /\ (arg2 < arg3) /\ (arg3 > 0) /\ (undef36 <= undef23) /\ (undef23 > 0) /\ (undef36 > 0), par{arg1 -> undef36, arg3 -> 1, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef9 > ~(1)) /\ (undef5 <= arg1) /\ (arg1 > 0) /\ (undef5 > 0) /\ (arg3 > 0) /\ (undef7 > 0) /\ (undef23 <= undef5) /\ (undef5 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef44 > ~(1)) /\ (arg2 < arg3) /\ (undef40 <= undef23) /\ (undef23 > 0) /\ (undef40 > 0), par{arg1 -> undef40, arg3 -> arg3, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef9 > ~(1)) /\ (undef5 <= arg1) /\ (arg1 > 0) /\ (undef5 > 0) /\ (undef7 > 0) /\ (arg3 > 0) /\ (undef5 > 0) /\ (undef7 > 1) /\ ((undef7 - 1) < undef7), par{arg1 -> (undef7 - 1), arg2 -> undef71, arg3 -> undef72, arg4 -> undef73}> arg2) /\ (arg3 > 0) /\ (undef11 > ~(1)) /\ (arg1 > 0), par{arg1 -> arg3, arg2 -> undef11, arg3 -> undef12, arg4 -> undef13}> arg2) /\ (arg3 > 0) /\ (undef14 <= arg1) /\ (arg1 > 0) /\ (undef14 > 0) /\ (arg3 > 0) /\ (1 > 0) /\ (undef23 <= undef14) /\ (undef14 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef28 > ~(1)) /\ (arg2 < arg3) /\ (undef23 > 0), par{arg1 -> arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30}> arg2) /\ (arg3 > 0) /\ (undef14 <= arg1) /\ (arg1 > 0) /\ (undef14 > 0) /\ (arg3 > 0) /\ (1 > 0) /\ (undef23 <= undef14) /\ (undef14 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef35 > ~(1)) /\ (arg2 < arg3) /\ (undef31 <= undef23) /\ (undef23 > 0) /\ (undef31 > 0), par{arg1 -> undef31, arg3 -> undef33, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef14 <= arg1) /\ (arg1 > 0) /\ (undef14 > 0) /\ (arg3 > 0) /\ (1 > 0) /\ (undef23 <= undef14) /\ (undef14 > 0) /\ (undef23 > 0) /\ (arg2 < arg3) /\ (arg3 > 0) /\ (undef36 <= undef23) /\ (undef23 > 0) /\ (undef36 > 0), par{arg1 -> undef36, arg3 -> 1, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef14 <= arg1) /\ (arg1 > 0) /\ (undef14 > 0) /\ (arg3 > 0) /\ (1 > 0) /\ (undef23 <= undef14) /\ (undef14 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef44 > ~(1)) /\ (arg2 < arg3) /\ (undef40 <= undef23) /\ (undef23 > 0) /\ (undef40 > 0), par{arg1 -> undef40, arg3 -> arg3, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef22 > ~(1)) /\ (undef18 <= arg1) /\ (arg1 > 0) /\ (undef18 > 0) /\ (arg3 > 0) /\ (arg3 > 0) /\ (undef23 <= undef18) /\ (undef18 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef28 > ~(1)) /\ (arg2 < arg3) /\ (undef23 > 0), par{arg1 -> arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30}> arg2) /\ (arg3 > 0) /\ (undef22 > ~(1)) /\ (undef18 <= arg1) /\ (arg1 > 0) /\ (undef18 > 0) /\ (arg3 > 0) /\ (arg3 > 0) /\ (undef23 <= undef18) /\ (undef18 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef35 > ~(1)) /\ (arg2 < arg3) /\ (undef31 <= undef23) /\ (undef23 > 0) /\ (undef31 > 0), par{arg1 -> undef31, arg3 -> undef33, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef22 > ~(1)) /\ (undef18 <= arg1) /\ (arg1 > 0) /\ (undef18 > 0) /\ (arg3 > 0) /\ (arg3 > 0) /\ (undef23 <= undef18) /\ (undef18 > 0) /\ (undef23 > 0) /\ (arg2 < arg3) /\ (arg3 > 0) /\ (undef36 <= undef23) /\ (undef23 > 0) /\ (undef36 > 0), par{arg1 -> undef36, arg3 -> 1, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef22 > ~(1)) /\ (undef18 <= arg1) /\ (arg1 > 0) /\ (undef18 > 0) /\ (arg3 > 0) /\ (arg3 > 0) /\ (undef23 <= undef18) /\ (undef18 > 0) /\ (undef23 > 0) /\ (arg3 > 0) /\ (undef44 > ~(1)) /\ (arg2 < arg3) /\ (undef40 <= undef23) /\ (undef23 > 0) /\ (undef40 > 0), par{arg1 -> undef40, arg3 -> arg3, arg4 -> arg3}> arg2) /\ (arg3 > 0) /\ (undef22 > ~(1)) /\ (undef18 <= arg1) /\ (arg1 > 0) /\ (undef18 > 0) /\ (arg3 > 0) /\ (arg3 > 0) /\ (undef18 > 0) /\ (arg3 > 1) /\ ((arg3 - 1) < arg3), par{arg1 -> (arg3 - 1), arg2 -> undef71, arg3 -> undef72, arg4 -> undef73}> 0) /\ (arg2 > 1) /\ (undef57 > 0) /\ (arg2 > undef57) /\ (arg1 > 0) /\ (arg2 > 1) /\ (arg2 > undef59) /\ (undef59 > 0) /\ ((arg2 - (2 * undef59)) < 2) /\ ((arg2 - (2 * undef59)) >= 0), par{arg1 -> abstract_82, arg2 -> undef59, arg3 -> undef60, arg4 -> undef61}> 0) /\ (arg1 > 0) /\ (undef45 > 0) /\ (1 = arg3), par{arg1 -> undef45, arg2 -> (arg2 + 1), arg3 -> arg4, arg4 -> undef48}> 0) /\ (arg4 > 0) /\ (undef49 <= arg1) /\ (arg1 > 0) /\ (undef49 > 0), par{arg1 -> undef49, arg2 -> (arg2 + 1), arg3 -> arg4, arg4 -> undef52}> 0) /\ (arg4 > 0) /\ (arg1 > 0), par{arg1 -> arg3, arg2 -> undef67, arg3 -> undef68, arg4 -> undef69}> 1) /\ ((arg1 - 1) < arg1) /\ ((arg1 - 1) > 1) /\ (((arg1 - 1) - 1) < (arg1 - 1)), par{arg1 -> ((arg1 - 1) - 1), arg2 -> undef71, arg3 -> undef72, arg4 -> undef73}> Fresh variables: undef1, undef4, undef5, undef7, undef9, undef11, undef12, undef13, undef14, undef18, undef22, undef23, undef26, undef28, undef29, undef30, undef31, undef33, undef35, undef36, undef40, undef44, undef45, undef48, undef49, undef52, undef55, undef56, undef57, undef59, undef60, undef61, undef63, undef64, undef65, undef67, undef68, undef69, undef71, undef72, undef73, undef75, undef76, undef77, undef78, undef79, undef80, undef81, abstract_82, Undef variables: undef1, undef4, undef5, undef7, undef9, undef11, undef12, undef13, undef14, undef18, undef22, undef23, undef26, undef28, undef29, undef30, undef31, undef33, undef35, undef36, undef40, undef44, undef45, undef48, undef49, undef52, undef55, undef56, undef57, undef59, undef60, undef61, undef63, undef64, undef65, undef67, undef68, undef69, undef71, undef72, undef73, undef75, undef76, undef77, undef78, undef79, undef80, undef81, Abstraction variables: abstract_82 --> ( * arg1 arg1 ) Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Graph 2: Transitions: -2 + arg1, arg2 -> undef71, arg3 -> undef72, arg4 -> undef73, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Graph 3: Transitions: abstract_82, arg2 -> undef59, arg3 -> undef60, arg4 -> undef61, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Precedence: Graph 0 Graph 1 Graph 2 -1 + undef7, arg2 -> undef71, arg3 -> undef72, arg4 -> undef73, rest remain the same}> -1 + arg3, arg2 -> undef71, arg3 -> undef72, arg4 -> undef73, rest remain the same}> arg3, arg2 -> undef67, arg3 -> undef68, arg4 -> undef69, rest remain the same}> Graph 3 arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30, rest remain the same}> arg3, arg2 -> undef11, arg3 -> undef12, arg4 -> undef13, rest remain the same}> arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30, rest remain the same}> arg3, arg2 -> undef28, arg3 -> undef29, arg4 -> undef30, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 1 ) ( 4 , 3 ) ( 6 , 1 ) ( 9 , 2 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Detected abstraction incompatible with non-termination check. Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.088493 Checking conditional termination of SCC {l2, l6}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.019153s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.137284s [62588 : 62589] [62588 : 62590] Successful child: 62589 [ 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: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> New Graphs: LOG: CALL check - Post:arg1 + arg3 <= 1 - Process 1 * Exit transition: * Postcondition : arg1 + arg3 <= 1 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001918s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.002066s INVARIANTS: 2: 6: Quasi-INVARIANTS to narrow Graph: 2: arg1 + arg3 <= 1 , 6: 1 + arg1 + arg4 <= 0 , Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> LOG: Narrow transition size 1 invGraph after Narrowing: Transitions: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l2, l6}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.015856s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.163223s [62588 : 62603] [62588 : 62604] Successful child: 62603 [ 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: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> New Graphs: LOG: CALL check - Post:arg3 <= 0 - Process 2 * Exit transition: * Postcondition : arg3 <= 0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002842s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.002998s INVARIANTS: 2: 6: Quasi-INVARIANTS to narrow Graph: 2: arg3 <= 0 , 6: 1 <= 0 , Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> LOG: Narrow transition size 1 invGraph after Narrowing: Transitions: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l2, l6}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.016219s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.144480s [62588 : 62608] [62588 : 62609] Successful child: 62608 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, 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): undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef40, arg4 -> arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> Ranking function: 1 + 2*arg1 - arg2 New Graphs: LOG: CALL check - Post:arg3 <= 2 - Process 3 * Exit transition: * Postcondition : arg3 <= 2 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001799s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.001971s INVARIANTS: 2: 6: Quasi-INVARIANTS to narrow Graph: 2: arg3 <= 2 , 6: arg2 <= arg1 + arg4 , arg4 <= 2 , Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef40, arg4 -> arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: Narrow transition size 2 Narrowing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> LOG: Narrow transition size 2 invGraph after Narrowing: Transitions: undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef31, arg3 -> undef33, arg4 -> arg3, rest remain the same}> undef36, arg3 -> 1, arg4 -> arg3, rest remain the same}> undef40, arg4 -> arg3, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l2, l6}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.022799s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.430534s [62588 : 62622] [62588 : 62623] Successful child: 62622 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef45, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef48, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef49, arg2 -> 1 + arg2, arg3 -> arg4, arg4 -> undef52, rest remain the same}> It's unfeasible after collapsing. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> It's unfeasible after collapsing. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> It's unfeasible after collapsing. Removing transition: undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> New Graphs: Transitions: undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef45, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef48, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> undef49, arg2 -> 1 + arg2, arg3 -> arg3, arg4 -> undef52, rest remain the same}> Variables: arg1, arg2, arg3, arg4 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.044810s Ranking function: 3 - arg2 + arg3 New Graphs: INVARIANTS: 6: 1 + arg2 <= arg4 , Quasi-INVARIANTS to narrow Graph: 6: Proving termination of subgraph 2 Checking unfeasibility... Time used: 0.005363 Checking conditional termination of SCC {l9}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002735s Ranking function: (~(3) / 2) + (1 / 2)*arg1 New Graphs: Proving termination of subgraph 3 Checking unfeasibility... Time used: 0.005777 Checking conditional termination of SCC {l4}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003522s Ranking function: -2 + arg2 New Graphs: Program Terminates