30.20/30.21 YES 30.20/30.21 30.20/30.21 Solver Timeout: 4 30.20/30.21 Global Timeout: 300 30.20/30.21 No parsing errors! 30.20/30.21 Init Location: 0 30.20/30.21 Transitions: 30.20/30.21 30.20/30.21 0) /\ (arg2 > ~(1)), par{arg3 -> undef3, arg4 -> undef4}> 30.20/30.21 0) /\ (arg2 > ~(1)) /\ ((arg2 - (5 * undef9)) >= 0) /\ ((arg2 - (5 * undef9)) < 5) /\ ((arg2 - (4 * undef10)) >= 0) /\ ((arg2 - (4 * undef10)) < 4) /\ ((arg2 - (5 * undef11)) >= 0) /\ ((arg2 - (5 * undef11)) < 5) /\ ((arg2 - (4 * undef12)) < 4) /\ ((arg2 - (4 * undef12)) >= 0), par{arg1 -> arg2, arg2 -> (arg2 - (5 * undef9)), arg3 -> (arg2 - (4 * undef10)), arg4 -> ((arg2 + (arg2 - (5 * undef11))) + ((3 * arg2) - (12 * undef12)))}> 30.20/30.21 ~(1)) /\ ((arg1 - 1) < arg1), par{arg1 -> (arg1 - 1), arg4 -> (((arg1 - 1) + arg2) + (3 * arg3))}> 30.20/30.21 ~(1)) /\ (arg2 >= arg1) /\ ((arg3 - 1) < arg3) /\ (arg3 >= arg2), par{arg3 -> (arg3 - 1), arg4 -> ((arg1 + arg2) + ((3 * arg3) - 3))}> 30.20/30.21 ~(1)) /\ (arg2 >= arg1) /\ ((arg2 - 2) < arg2) /\ (arg3 < arg2), par{arg2 -> (arg2 - 2), arg4 -> ((arg1 + (arg2 - 2)) + (3 * arg3))}> 30.20/30.21 undef25, arg2 -> undef26, arg3 -> undef27, arg4 -> undef28}> 30.20/30.21 30.20/30.21 Fresh variables: 30.20/30.21 undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, 30.20/30.21 30.20/30.21 Undef variables: 30.20/30.21 undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, 30.20/30.21 30.20/30.21 Abstraction variables: 30.20/30.21 30.20/30.21 Exit nodes: 30.20/30.21 30.20/30.21 Accepting locations: 30.20/30.21 30.20/30.21 Asserts: 30.20/30.21 30.20/30.21 Preprocessed LLVMGraph 30.20/30.21 Init Location: 0 30.20/30.21 Transitions: 30.20/30.21 0) /\ (undef26 > ~(1)) /\ (undef25 > 0) /\ (undef26 > ~(1)) /\ ((undef26 - (5 * undef9)) >= 0) /\ ((undef26 - (5 * undef9)) < 5) /\ ((undef26 - (4 * undef10)) >= 0) /\ ((undef26 - (4 * undef10)) < 4) /\ ((undef26 - (5 * undef11)) >= 0) /\ ((undef26 - (5 * undef11)) < 5) /\ ((undef26 - (4 * undef12)) < 4) /\ ((undef26 - (4 * undef12)) >= 0)> 30.20/30.21 ~(1)) /\ ((arg1 - 1) < arg1), par{arg1 -> (arg1 - 1), arg4 -> (((arg1 - 1) + arg2) + (3 * arg3))}> 30.20/30.21 ~(1)) /\ (arg2 >= arg1) /\ ((arg3 - 1) < arg3) /\ (arg3 >= arg2), par{arg3 -> (arg3 - 1), arg4 -> ((arg1 + arg2) + ((3 * arg3) - 3))}> 30.20/30.21 ~(1)) /\ (arg2 >= arg1) /\ ((arg2 - 2) < arg2) /\ (arg3 < arg2), par{arg2 -> (arg2 - 2), arg4 -> ((arg1 + (arg2 - 2)) + (3 * arg3))}> 30.20/30.21 30.20/30.21 Fresh variables: 30.20/30.21 undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, 30.20/30.21 30.20/30.21 Undef variables: 30.20/30.21 undef3, undef4, undef9, undef10, undef11, undef12, undef25, undef26, undef27, undef28, 30.20/30.21 30.20/30.21 Abstraction variables: 30.20/30.21 30.20/30.21 Exit nodes: 30.20/30.21 30.20/30.21 Accepting locations: 30.20/30.21 30.20/30.21 Asserts: 30.20/30.21 30.20/30.21 ************************************************************* 30.20/30.21 ******************************************************************************************* 30.20/30.21 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 30.20/30.21 ******************************************************************************************* 30.20/30.21 30.20/30.21 Init Location: 0 30.20/30.21 Graph 0: 30.20/30.21 Transitions: 30.20/30.21 Variables: 30.20/30.21 30.20/30.21 Graph 1: 30.20/30.21 Transitions: 30.20/30.21 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 Variables: 30.20/30.21 arg1, arg2, arg3, arg4 30.20/30.21 30.20/30.21 Precedence: 30.20/30.21 Graph 0 30.20/30.21 30.20/30.21 Graph 1 30.20/30.21 30.20/30.21 30.20/30.21 Map Locations to Subgraph: 30.20/30.21 ( 0 , 0 ) 30.20/30.21 ( 3 , 1 ) 30.20/30.21 30.20/30.21 ******************************************************************************************* 30.20/30.21 ******************************** CHECKING ASSERTIONS ******************************** 30.20/30.21 ******************************************************************************************* 30.20/30.21 30.20/30.21 Proving termination of subgraph 0 30.20/30.21 Proving termination of subgraph 1 30.20/30.21 Checking unfeasibility... 30.20/30.21 Time used: 0.07099 30.20/30.21 30.20/30.21 Checking conditional termination of SCC {l3}... 30.20/30.21 30.20/30.21 LOG: CALL solveLinear 30.20/30.21 30.20/30.21 LOG: RETURN solveLinear - Elapsed time: 0.002938s 30.20/30.21 30.20/30.21 LOG: CALL solveLinear 30.20/30.21 30.20/30.21 LOG: RETURN solveLinear - Elapsed time: 0.050031s 30.20/30.21 Trying to remove transition: -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 Solving with 1 template(s). 30.20/30.21 30.20/30.21 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.21 30.20/30.21 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.318585s 30.20/30.21 Time used: 0.317884 30.20/30.21 Trying to remove transition: -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 Solving with 1 template(s). 30.20/30.21 30.20/30.21 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.21 30.20/30.21 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.637244s 30.20/30.21 Time used: 0.63333 30.20/30.21 Trying to remove transition: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 Solving with 1 template(s). 30.20/30.21 30.20/30.21 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.21 30.20/30.21 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.186483s 30.20/30.21 Time used: 0.182427 30.20/30.21 Solving with 1 template(s). 30.20/30.21 30.20/30.21 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.21 30.20/30.21 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.004605s 30.20/30.21 Time used: 4.00076 30.20/30.21 Solving with 2 template(s). 30.20/30.21 30.20/30.21 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.21 30.20/30.21 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.598985s 30.20/30.21 Time used: 1.58711 30.20/30.21 Improving Solution with cost 2 ... 30.20/30.21 30.20/30.21 LOG: CALL solveNonLinearGetNextSolution 30.20/30.21 30.20/30.21 LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.004679s 30.20/30.21 Time used: 1.00451 30.20/30.21 30.20/30.21 LOG: SAT solveNonLinear - Elapsed time: 2.603663s 30.20/30.21 Cost: 2; Total time: 2.59162 30.20/30.21 Failed at location 3: arg1 + arg3 <= 1 + arg2 30.20/30.21 Failed at location 3: arg2 + arg3 + arg4 <= 0 30.20/30.21 Before Improving: 30.20/30.21 Quasi-invariant at l3: arg1 + arg3 <= 1 + arg2 30.20/30.21 Quasi-invariant at l3: arg2 + arg3 + arg4 <= 0 30.20/30.21 Optimizing invariants... 30.20/30.21 30.20/30.21 LOG: CALL solveLinear 30.20/30.21 30.20/30.21 LOG: RETURN solveLinear - Elapsed time: 0.010262s 30.20/30.21 Remaining time after improvement: 0.995601 30.20/30.21 Termination implied by a set of quasi-invariant(s): 30.20/30.21 Quasi-invariant at l3: arg1 + arg3 <= 1 + arg2 30.20/30.21 Quasi-invariant at l3: arg2 + arg3 + arg4 <= 0 30.20/30.21 [ Invariant Graph ] 30.20/30.21 Strengthening and disabling transitions... 30.20/30.21 30.20/30.21 LOG: CALL solverLinear in Graph for feasibility 30.20/30.21 30.20/30.21 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.21 Strengthening transition (result): 30.20/30.21 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.21 30.20/30.21 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 [ Termination Graph ] 30.20/30.22 Strengthening and disabling transitions... 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Ranking function: 1 + arg1 - arg2 - arg3 + 3*arg4 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.002594s 30.20/30.22 Ranking function: (~(5) / 3)*arg2 + (~(5) / 3)*arg3 + (4 / 3)*arg4 30.20/30.22 New Graphs: 30.20/30.22 Calling Safety with literal arg1 + arg3 <= 1 + arg2 and entry 30.20/30.22 30.20/30.22 LOG: CALL check - Post:arg1 + arg3 <= 1 + arg2 - Process 1 30.20/30.22 * Exit transition: 30.20/30.22 * Postcondition : arg1 + arg3 <= 1 + arg2 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.000927s 30.20/30.22 > Postcondition is not implied! 30.20/30.22 30.20/30.22 LOG: RETURN check - Elapsed time: 0.001154s 30.20/30.22 Calling Safety with literal arg2 + arg3 + arg4 <= 0 and entry 30.20/30.22 30.20/30.22 LOG: CALL check - Post:arg2 + arg3 + arg4 <= 0 - Process 2 30.20/30.22 * Exit transition: 30.20/30.22 * Postcondition : arg2 + arg3 + arg4 <= 0 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.001022s 30.20/30.22 > Postcondition is not implied! 30.20/30.22 30.20/30.22 LOG: RETURN check - Elapsed time: 0.001240s 30.20/30.22 INVARIANTS: 30.20/30.22 3: 30.20/30.22 Quasi-INVARIANTS to narrow Graph: 30.20/30.22 3: arg2 + arg3 + arg4 <= 0 , arg1 + arg3 <= 1 + arg2 , 30.20/30.22 Narrowing transition: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: Narrow transition size 2 30.20/30.22 Narrowing transition: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: Narrow transition size 2 30.20/30.22 Narrowing transition: 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: Narrow transition size 2 30.20/30.22 invGraph after Narrowing: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.006119s 30.20/30.22 Ranking function: 2*arg3 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.003787s 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 1.063547s 30.20/30.22 Trying to remove transition: -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.002985s 30.20/30.22 Time used: 4.00101 30.20/30.22 Trying to remove transition: -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.936065s 30.20/30.22 Time used: 0.922715 30.20/30.22 Trying to remove transition: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.266183s 30.20/30.22 Time used: 0.259488 30.20/30.22 Trying to remove transition: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.463268s 30.20/30.22 Time used: 0.457851 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.199596s 30.20/30.22 Time used: 0.19363 30.20/30.22 Improving Solution with cost 1 ... 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetNextSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.916631s 30.20/30.22 Time used: 0.916573 30.20/30.22 30.20/30.22 LOG: SAT solveNonLinear - Elapsed time: 1.116227s 30.20/30.22 Cost: 0; Total time: 1.1102 30.20/30.22 Termination implied by a set of invariant(s): 30.20/30.22 Invariant at l3: arg3 <= 3 + arg2 30.20/30.22 [ Invariant Graph ] 30.20/30.22 Strengthening and disabling transitions... 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 It's unfeasible. Removing transition: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 [ Termination Graph ] 30.20/30.22 Strengthening and disabling transitions... 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Ranking function: 1 + arg1 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.003202s 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 1.384073s 30.20/30.22 Trying to remove transition: -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.003510s 30.20/30.22 Time used: 4.00119 30.20/30.22 Trying to remove transition: -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.106382s 30.20/30.22 Time used: 1.09982 30.20/30.22 Trying to remove transition: -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.331515s 30.20/30.22 Time used: 0.326408 30.20/30.22 Solving with 1 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.005196s 30.20/30.22 Time used: 4.00103 30.20/30.22 Solving with 2 template(s). 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetFirstSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 2.071920s 30.20/30.22 Time used: 2.05711 30.20/30.22 Improving Solution with cost 2 ... 30.20/30.22 30.20/30.22 LOG: CALL solveNonLinearGetNextSolution 30.20/30.22 30.20/30.22 LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.001229s 30.20/30.22 Time used: 1.00118 30.20/30.22 30.20/30.22 LOG: SAT solveNonLinear - Elapsed time: 3.073150s 30.20/30.22 Cost: 2; Total time: 3.05829 30.20/30.22 Failed at location 3: arg3 <= 0 30.20/30.22 Failed at location 3: arg3 + arg4 <= 1 + arg1 + arg2 30.20/30.22 Before Improving: 30.20/30.22 Quasi-invariant at l3: arg3 <= 0 30.20/30.22 Quasi-invariant at l3: arg3 + arg4 <= 1 + arg1 + arg2 30.20/30.22 Optimizing invariants... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.021616s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.015656s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.014849s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.014752s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.017763s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.014870s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.014721s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.012774s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.013633s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.016137s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.012963s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.013046s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.012921s 30.20/30.22 Quasi-invariant improved 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.007099s 30.20/30.22 Remaining time after improvement: 0.816425 30.20/30.22 Termination implied by a set of quasi-invariant(s): 30.20/30.22 Quasi-invariant at l3: arg3 <= 1 30.20/30.22 Quasi-invariant at l3: arg3 + arg4 <= 14 + arg1 + arg2 30.20/30.22 [ Invariant Graph ] 30.20/30.22 Strengthening and disabling transitions... 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 [ Termination Graph ] 30.20/30.22 Strengthening and disabling transitions... 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: CALL solverLinear in Graph for feasibility 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear in Graph for feasibility 30.20/30.22 Strengthening transition (result): 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Ranking function: 4 + arg2 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.003731s 30.20/30.22 Ranking function: -53 + 53*arg1 - 53*arg2 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.002185s 30.20/30.22 Ranking function: -arg2 + arg3 30.20/30.22 New Graphs: 30.20/30.22 INVARIANTS: 30.20/30.22 3: arg3 <= 3 + arg2 , 30.20/30.22 Quasi-INVARIANTS to narrow Graph: 30.20/30.22 3: 30.20/30.22 Calling Safety with literal arg3 <= 1 and entry 30.20/30.22 30.20/30.22 LOG: CALL check - Post:arg3 <= 1 - Process 3 30.20/30.22 * Exit transition: 30.20/30.22 * Postcondition : arg3 <= 1 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.001407s 30.20/30.22 > Postcondition is not implied! 30.20/30.22 30.20/30.22 LOG: RETURN check - Elapsed time: 0.001627s 30.20/30.22 Calling Safety with literal arg3 + arg4 <= 14 + arg1 + arg2 and entry 30.20/30.22 30.20/30.22 LOG: CALL check - Post:arg3 + arg4 <= 14 + arg1 + arg2 - Process 4 30.20/30.22 * Exit transition: 30.20/30.22 * Postcondition : arg3 + arg4 <= 14 + arg1 + arg2 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.001079s 30.20/30.22 > Postcondition implied! 30.20/30.22 30.20/30.22 LOG: RETURN check - Elapsed time: 0.001334s 30.20/30.22 INVARIANTS: 30.20/30.22 3: 30.20/30.22 Quasi-INVARIANTS to narrow Graph: 30.20/30.22 3: arg3 <= 1 , arg3 + arg4 <= 14 + arg1 + arg2 , 30.20/30.22 It's unfeasible. Removing transition: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Narrowing transition: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: Narrow transition size 2 30.20/30.22 It's unfeasible. Removing transition: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Narrowing transition: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: Narrow transition size 2 30.20/30.22 Narrowing transition: 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 30.20/30.22 LOG: Narrow transition size 2 30.20/30.22 invGraph after Narrowing: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.011481s 30.20/30.22 Ranking function: arg1 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.010761s 30.20/30.22 Ranking function: 55 + arg3 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.006519s 30.20/30.22 Ranking function: -1 + arg2 + arg3 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg1, arg4 -> -1 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.008103s 30.20/30.22 Ranking function: (284 / 39) + (5 / 13)*arg1 + (~(1) / 3)*arg2 + (2 / 39)*arg3 + (2 / 39)*arg4 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 -2 + arg2, arg4 -> -2 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.004703s 30.20/30.22 Ranking function: (~(30) / 41) + (~(1) / 41)*arg1 + (14 / 41)*arg2 + (~(14) / 41)*arg3 + (1 / 41)*arg4 30.20/30.22 New Graphs: 30.20/30.22 Transitions: 30.20/30.22 -1 + arg3, arg4 -> -3 + arg1 + arg2 + 3*arg3, rest remain the same}> 30.20/30.22 Variables: 30.20/30.22 arg1, arg2, arg3, arg4 30.20/30.22 Checking conditional termination of SCC {l3}... 30.20/30.22 30.20/30.22 LOG: CALL solveLinear 30.20/30.22 30.20/30.22 LOG: RETURN solveLinear - Elapsed time: 0.002428s 30.20/30.22 Ranking function: -arg2 + arg3 30.20/30.22 New Graphs: 30.20/30.22 Program Terminates 30.20/30.22 /export/starexec/sandbox/solver/bin/starexec_run_termcomp2019_ITS: line 26: delete: command not found 30.20/30.22 /export/starexec/sandbox/solver/bin/starexec_run_termcomp2019_ITS: line 27: edit: command not found 30.20/30.22 EOF