NO Solver Timeout: 4 Global Timeout: 60 No parsing errors! Init Location: 0 Transitions: 0) /\ (arg2 > ~(1)), par{arg1 -> 20, arg2 -> ~(20), arg3 -> arg2}> = arg2), par{arg1 -> arg3, arg2 -> (~(1) * arg3), arg3 -> arg1}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) < 5), par{arg1 -> arg3, arg2 -> (~(1) * arg3), arg3 -> arg1}> arg3, arg2 -> (0 - arg3), arg3 -> arg2}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 < 1) /\ (arg3 < (arg1 + 1)), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 > 1) /\ (arg3 < (arg1 + 1)), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> 5) /\ (arg2 < 2) /\ (1 = arg3), par{arg1 -> ~(1), arg2 -> 1, arg3 -> 0}> undef22, arg2 -> undef23, arg3 -> undef24}> Fresh variables: undef22, undef23, undef24, Undef variables: undef22, undef23, undef24, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: 0) /\ (undef23 > ~(1))> = arg2) /\ (arg3 <= arg1), par{arg1 -> arg1, arg2 -> (0 - arg1), arg3 -> (~(1) * arg3)}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) < 5) /\ (arg3 <= arg1), par{arg1 -> arg1, arg2 -> (0 - arg1), arg3 -> (~(1) * arg3)}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 < 1) /\ (arg3 < (arg1 + 1)), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 > 1) /\ (arg3 < (arg1 + 1)), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> 5) /\ (arg2 < 2) /\ (1 = arg3), par{arg1 -> ~(1), arg2 -> 1, arg3 -> 0}> Fresh variables: undef22, undef23, undef24, Undef variables: undef22, undef23, undef24, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> -1, arg2 -> 1, arg3 -> 0, rest remain the same}> Variables: arg1, arg2, arg3 Precedence: Graph 0 Graph 1 Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 1 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.088569 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.005261s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.041403s Piecewise ranking function: min(1 + 10*arg1 - 10*arg3,0) New Graphs: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002361s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.123203s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.028134s Time used: 0.027275 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.023072s Time used: 0.02157 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.027591s Time used: 0.026114 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.014157s Time used: 0.012659 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.113093s Time used: 0.111283 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.000711s Time used: 1.00065 LOG: SAT solveNonLinear - Elapsed time: 1.113804s Cost: 1; Total time: 1.11193 Failed at location 2: 1 + arg1 <= arg3 Before Improving: Quasi-invariant at l2: 1 + arg1 <= arg3 Optimizing invariants... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.026221s Remaining time after improvement: 0.994465 Termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: 1 + arg1 <= arg3 [ 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: -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: -1, arg2 -> 1, arg3 -> 0, 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: -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> New Graphs: Calling Safety with literal 1 + arg1 <= arg3 and entry LOG: CALL check - Post:1 + arg1 <= arg3 - Process 1 * Exit transition: * Postcondition : 1 + arg1 <= arg3 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001099s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.001220s INVARIANTS: 2: Quasi-INVARIANTS to narrow Graph: 2: 1 + arg1 <= arg3 , Narrowing transition: -arg1, arg3 -> -arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: -arg1, arg3 -> -arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: Narrow transition size 1 It's unfeasible. Removing transition: -1, arg2 -> 1, arg3 -> 0, rest remain the same}> invGraph after Narrowing: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002370s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.123618s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.028854s Time used: 0.027588 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.023828s Time used: 0.022017 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.028387s Time used: 0.026589 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.015002s Time used: 0.013207 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.003002s Time used: 4.0011 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.021685s Time used: 4.00147 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.058097s Time used: 1.00034 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.086015s Time used: 0.081608 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.002748s Time used: 1.00269 LOG: SAT solveNonLinear - Elapsed time: 1.088763s Cost: 1; Total time: 1.0843 Termination implied by a set of invariant(s): Invariant at l2: arg2 <= 1 + arg3 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - arg1 New Graphs: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002881s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.211608s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.043574s Time used: 0.042287 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.026726s Time used: 0.024739 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.038170s Time used: 0.036101 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.016950s Time used: 0.014958 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.049782s Time used: 4.04766 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.021357s Time used: 4.00097 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.025561s Time used: 1.00023 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.091212s Time used: 0.087603 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.001214s Time used: 1.0009 LOG: SAT solveNonLinear - Elapsed time: 1.092427s Cost: 1; Total time: 1.0885 Termination implied by a set of invariant(s): Invariant at l2: arg1 + arg2 <= 0 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - 99998*arg1 - arg2 New Graphs: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003365s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.874254s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.045898s Time used: 0.04422 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.034334s Time used: 0.032297 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.036098s Time used: 0.033868 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.018753s Time used: 0.017003 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.003323s Time used: 4.0013 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 2.388845s Time used: 2.36096 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.966625s Time used: 0.96316 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.097733s Time used: 0.092739 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.928648s Time used: 0.9286 LOG: SAT solveNonLinear - Elapsed time: 1.026381s Cost: 1; Total time: 1.02134 Termination implied by a set of invariant(s): Invariant at l2: 0 <= arg1 + arg2 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Quasi-ranking function: 50000 + arg2 New Graphs: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003436s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.199545s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.047089s Time used: 0.045778 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.035976s Time used: 0.034134 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.043125s Time used: 0.041185 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.020582s Time used: 0.018278 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.669913s Time used: 0.667789 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.933025s Time used: 0.892184 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.964573s Time used: 0.952188 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.095005s Time used: 0.091352 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.890243s Time used: 0.890202 LOG: SAT solveNonLinear - Elapsed time: 0.985248s Cost: 1; Total time: 0.981554 Termination implied by a set of invariant(s): Invariant at l2: 0 <= 1 + arg1 + arg2 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Quasi-ranking function: 50000 + 2*arg1 + 3*arg2 New Graphs: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003614s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.312366s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.046667s Time used: 0.044844 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.033514s Time used: 0.03133 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.047561s Time used: 0.045174 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.021667s Time used: 0.01986 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.468334s Time used: 0.466068 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.998058s Time used: 0.992484 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.999509s Time used: 0.987166 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.095700s Time used: 0.090733 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.868257s Time used: 0.867941 LOG: SAT solveNonLinear - Elapsed time: 0.963957s Cost: 1; Total time: 0.958674 Termination implied by a set of invariant(s): Invariant at l2: 1 + arg2 <= 0 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - arg1 + arg2 New Graphs: Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.003980s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.451944s Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.053975s Time used: 0.052089 Trying to remove transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.038868s Time used: 0.036591 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.048999s Time used: 0.047075 Trying to remove transition: -arg1, arg3 -> -arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.032430s Time used: 0.030411 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.284353s Time used: 0.282086 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.003505s Time used: 0.99126 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.992877s Time used: 0.980429 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.985639s Time used: 0.981526 Proving non-termination of subgraph 1 Transitions: -arg1, arg3 -> -arg3, rest remain the same}> -arg1, arg3 -> -arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional non-termination of SCC {l2}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.101566s Time used: 0.100909 Improving Solution with cost 11 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.191694s Time used: 0.191679 LOG: SAT solveNonLinear - Elapsed time: 0.293261s Cost: 11; Total time: 0.292588 Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: arg2 <= arg3 Strengthening and disabling EXIT transitions... Closed exits from l2: 6 Strengthening exit transition (result): Strengthening exit transition (result): 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): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Checking conditional non-termination of SCC {l2}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.034643s Time used: 0.034304 Improving Solution with cost 5 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.091021s Time used: 0.091009 Improving Solution with cost 3 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.097442s Time used: 0.097432 LOG: SAT solveNonLinear - Elapsed time: 0.223105s Cost: 3; Total time: 0.222745 Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: 7 <= arg1 Strengthening and disabling EXIT transitions... Closed exits from l2: 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): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Checking conditional non-termination of SCC {l2}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.117190s Time used: 0.117009 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.153074s Time used: 0.148833 Improving Solution with cost 2 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.312796s Time used: 0.312771 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.140897s Time used: 1.14082 LOG: SAT solveNonLinear - Elapsed time: 1.606766s Cost: 1; Total time: 1.60243 Failed at location 2: arg3 <= 0 Before Improving: Quasi-invariant at l2: arg3 <= 0 Quasi-invariant at l2: 5 <= arg1 + arg3 Optimizing invariants... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.106820s Remaining time after improvement: 0.995475 Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: arg3 <= 0 Quasi-invariant at l2: 5 <= arg1 + arg3 Strengthening and disabling EXIT transitions... Closed exits from l2: 2 Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: -arg1, arg3 -> -arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: 1 + arg1, arg2 -> -1 - arg1, arg3 -> -1 + arg3, rest remain the same}> Calling reachability with... Transition: Conditions: arg2 <= arg3, 7 <= arg1, arg3 <= 0, 5 <= arg1 + arg3, OPEN EXITS: --- Reachability graph --- > Graph without transitions. Calling reachability with... Transition: Conditions: arg2 <= arg3, arg3 <= 0, 5 <= arg1 + arg3, 7 <= arg1, OPEN EXITS: > Conditions are reachable! Program does NOT terminate