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{arg2 -> (0 - arg1), arg3 -> (~(1) * arg3)}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) < 5), par{arg2 -> (0 - arg1), arg3 -> (~(1) * arg3)}> = arg3) /\ (arg2 <= arg3) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 < 1), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> = arg3) /\ (arg2 <= arg3) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 > 1), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> 5) /\ (arg2 < 2) /\ (1 = arg3), par{arg1 -> ~(1), arg2 -> 1, arg3 -> 0}> undef19, arg2 -> undef20, arg3 -> undef21}> Fresh variables: undef19, undef20, undef21, Undef variables: undef19, undef20, undef21, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: 0) /\ (undef20 > ~(1))> = arg2), par{arg2 -> (0 - arg1), arg3 -> (~(1) * arg3)}> = arg2) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) < 5), par{arg2 -> (0 - arg1), arg3 -> (~(1) * arg3)}> = arg3) /\ (arg2 <= arg3) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 < 1), par{arg1 -> (arg1 + 1), arg2 -> (0 - (arg1 + 1)), arg3 -> (arg3 - 1)}> = arg3) /\ (arg2 <= arg3) /\ ((arg1 - arg3) >= 5) /\ ((arg1 + arg3) >= 5) /\ (arg3 > 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: undef19, undef20, undef21, Undef variables: undef19, undef20, undef21, 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.088291 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.005275s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.041225s 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.002350s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.122317s 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.028059s Time used: 0.0272 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.022968s Time used: 0.021479 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.027406s Time used: 0.025962 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.014293s Time used: 0.012801 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.113392s Time used: 0.111726 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.000654s Time used: 1.0006 LOG: SAT solveNonLinear - Elapsed time: 1.114047s Cost: 1; Total time: 1.11233 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.025860s Remaining time after improvement: 0.99449 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.001098s > 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.002391s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.124306s 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.029196s Time used: 0.027915 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.023907s Time used: 0.022058 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.028569s Time used: 0.026729 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.014895s Time used: 0.013121 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.003032s Time used: 4.00114 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.021369s Time used: 4.00135 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.062613s Time used: 1.00354 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.086431s Time used: 0.082021 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.000875s Time used: 1.00081 LOG: SAT solveNonLinear - Elapsed time: 1.087306s Cost: 1; Total time: 1.08283 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.002871s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.211741s 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.043990s Time used: 0.042631 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.026785s Time used: 0.024844 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.037986s Time used: 0.03598 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.017072s Time used: 0.015088 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.067614s Time used: 4.06555 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.021642s Time used: 4.00115 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.025646s Time used: 1.00012 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.092561s Time used: 0.087634 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.001964s Time used: 1.00192 LOG: SAT solveNonLinear - Elapsed time: 1.094526s Cost: 1; Total time: 1.08955 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.003378s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.877834s 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.045884s Time used: 0.044146 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.034343s Time used: 0.032299 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.036197s Time used: 0.033988 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.018734s Time used: 0.016719 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.003782s Time used: 4.00159 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 2.352996s Time used: 2.32457 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.968128s Time used: 0.964645 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.098194s Time used: 0.09426 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.933552s Time used: 0.933502 LOG: SAT solveNonLinear - Elapsed time: 1.031746s Cost: 1; Total time: 1.02776 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.003361s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.200538s 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.047627s Time used: 0.046085 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.036144s Time used: 0.034233 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.043281s Time used: 0.041393 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.020308s Time used: 0.018137 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.681088s Time used: 0.67892 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.912082s Time used: 0.872048 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.965426s Time used: 0.952921 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.096714s Time used: 0.092188 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.890396s Time used: 0.89035 LOG: SAT solveNonLinear - Elapsed time: 0.987110s Cost: 1; Total time: 0.982538 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.003769s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.312780s 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.046517s Time used: 0.04489 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.033538s Time used: 0.031414 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.047550s Time used: 0.045176 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.021851s Time used: 0.020035 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.464747s Time used: 0.4629 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.999227s Time used: 0.993508 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.967825s Time used: 0.95541 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.096204s Time used: 0.091503 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.891104s Time used: 0.891055 LOG: SAT solveNonLinear - Elapsed time: 0.987307s Cost: 1; Total time: 0.982558 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.003985s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.452933s 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.053990s Time used: 0.052038 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.038914s Time used: 0.036581 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.049114s Time used: 0.046715 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.032083s Time used: 0.029839 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.284135s Time used: 0.28187 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.001751s Time used: 0.990797 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.994119s Time used: 0.981432 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.971876s Time used: 0.968154 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.101704s Time used: 0.101198 Improving Solution with cost 11 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.192567s Time used: 0.192546 LOG: SAT solveNonLinear - Elapsed time: 0.294270s Cost: 11; Total time: 0.293744 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.034870s Time used: 0.034526 Improving Solution with cost 5 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.091593s Time used: 0.091581 Improving Solution with cost 3 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.097761s Time used: 0.097751 LOG: SAT solveNonLinear - Elapsed time: 0.224224s Cost: 3; Total time: 0.223858 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.117215s Time used: 0.117102 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.153793s Time used: 0.149542 Improving Solution with cost 2 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.312686s Time used: 0.312656 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.127260s Time used: 1.12721 LOG: SAT solveNonLinear - Elapsed time: 1.593738s Cost: 1; Total time: 1.58941 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.055234s Remaining time after improvement: 0.995733 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