52.43/21.37 NO 52.43/21.37 52.43/21.37 Solver Timeout: 4 52.43/21.37 Global Timeout: 300 52.43/21.37 Maximum number of concurrent processes: 900 52.43/21.37 ******************************************************************************************* 52.43/21.37 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 52.43/21.37 ******************************************************************************************* 52.43/21.37 52.43/21.37 52.43/21.37 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 52.43/21.37 52.43/21.37 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 52.43/21.37 + + 52.43/21.37 Init Location: 0 52.43/21.37 Transitions: 52.43/21.37 0, main_i -> ¿functionCall(__VERIFIER_nondet_int), main_w -> 5}> 52.43/21.37 52.43/21.37 52.43/21.37 52.43/21.37 52.43/21.37 52.43/21.37 (main_i - 1), main_i -> (main_i * ~(1))}> 52.43/21.37 52.43/21.37 main_w)> 52.43/21.37 main_w))> 52.43/21.37 (main_i + 1), main_i -> (main_i * ~(1))}> 52.43/21.37 52.43/21.37 0}> 52.43/21.37 52.43/21.37 52.43/21.37 (main_w + 1)}> 52.43/21.37 52.43/21.37 0}> 52.43/21.37 52.43/21.37 Fresh variables: 52.43/21.37 52.43/21.37 Undef variables: 52.43/21.37 52.43/21.37 Abstraction variables: 52.43/21.37 52.43/21.37 Exit nodes: 52.43/21.37 52.43/21.37 Accepting locations: 52.43/21.37 52.43/21.37 Asserts: 52.43/21.37 52.43/21.37 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 52.43/21.37 52.43/21.37 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 52.43/21.37 52.43/21.37 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 52.43/21.37 52.43/21.37 Init Location: 0 52.43/21.37 Transitions: 52.43/21.37 0}> 52.43/21.37 ¿functionCall(__VERIFIER_nondet_int)}> 52.43/21.37 varCall_1, main_w -> 5}> 52.43/21.37 52.43/21.37 52.43/21.37 52.43/21.37 52.43/21.37 52.43/21.37 (main_i - 1), main_i -> (main_i * ~(1))}> 52.43/21.37 52.43/21.37 main_w)> 52.43/21.37 main_w))> 52.43/21.37 (main_i + 1), main_i -> (main_i * ~(1))}> 52.43/21.37 52.43/21.37 0}> 52.43/21.37 52.43/21.37 52.43/21.37 (main_w + 1)}> 52.43/21.37 52.43/21.37 0}> 52.43/21.37 52.43/21.37 Fresh variables: 52.43/21.37 52.43/21.37 Undef variables: 52.43/21.37 52.43/21.37 Abstraction variables: 52.43/21.37 52.43/21.37 Exit nodes: 52.43/21.37 15, 52.43/21.37 Accepting locations: 52.43/21.37 52.43/21.37 Asserts: 52.43/21.37 52.43/21.37 + + 52.43/21.37 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 52.43/21.37 52.43/21.37 52.43/21.37 Function Return and Parameters Information [2 functions]: 52.43/21.37 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 52.43/21.37 __VERIFIER_nondet_int__func_return_ [function result] : int 52.43/21.37 function name: main [1 return + 0 parameters] demangled: main 52.43/21.37 main__func_return_ [function result] : int 52.43/21.37 52.43/21.37 52.43/21.37 AST Ident Scanner Information [4 idents]: 52.43/21.37 __VERIFIER_nondet_int | function | [integer, ()] | | 52.43/21.37 main | function | [integer, ()] | 52.43/21.37 i | local variable | integer | | 52.43/21.37 w | local variable | integer | | 52.43/21.37 52.43/21.37 Main function: main 52.43/21.37 Preprocessed LLVMGraph 52.43/21.37 Init Location: 0 52.43/21.37 Transitions: 52.43/21.37 52.43/21.37 52.43/21.37 ((main_i - 1) * ~(1)), main_w -> (main_w + 1)}> 52.43/21.37 main_w)), par{main_i -> 0, main_w -> (main_w + 1)}> 52.43/21.37 0) /\ (main_i < ~(main_w)), par{main_i -> ((main_i - 1) * ~(1)), main_w -> (main_w + 1)}> 52.43/21.37 0) /\ not((main_i < ~(main_w))) /\ (main_i > main_w), par{main_i -> ((main_i + 1) * ~(1)), main_w -> (main_w + 1)}> 52.43/21.37 0) /\ not((main_i < ~(main_w))) /\ not((main_i > main_w)), par{main_i -> 0, main_w -> (main_w + 1)}> 52.43/21.37 52.43/21.37 Fresh variables: 52.43/21.37 undef2, 52.43/21.37 52.43/21.37 Undef variables: 52.43/21.37 undef2, 52.43/21.37 52.43/21.37 Abstraction variables: 52.43/21.37 52.43/21.37 Exit nodes: 52.43/21.37 15, 52.43/21.37 Accepting locations: 52.43/21.37 52.43/21.37 Asserts: 52.43/21.37 52.43/21.37 ************************************************************* 52.43/21.37 ******************************************************************************************* 52.43/21.37 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 52.43/21.37 ******************************************************************************************* 52.43/21.37 52.43/21.37 Init Location: 0 52.43/21.37 Graph 0: 52.43/21.37 Transitions: 52.43/21.37 Variables: 52.43/21.37 52.43/21.37 Graph 1: 52.43/21.37 Transitions: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Variables: 52.43/21.37 main_i, main_w 52.43/21.37 52.43/21.37 Graph 2: 52.43/21.37 Transitions: 52.43/21.37 Variables: 52.43/21.37 52.43/21.37 Precedence: 52.43/21.37 Graph 0 52.43/21.37 52.43/21.37 Graph 1 52.43/21.37 52.43/21.37 52.43/21.37 Graph 2 52.43/21.37 52.43/21.37 52.43/21.37 Map Locations to Subgraph: 52.43/21.37 ( 0 , 0 ) 52.43/21.37 ( 2 , 1 ) 52.43/21.37 ( 15 , 2 ) 52.43/21.37 52.43/21.37 ******************************************************************************************* 52.43/21.37 ******************************** CHECKING ASSERTIONS ******************************** 52.43/21.37 ******************************************************************************************* 52.43/21.37 52.43/21.37 Proving termination of subgraph 0 52.43/21.37 Proving termination of subgraph 1 52.43/21.37 Checking unfeasibility... 52.43/21.37 Time used: 0.013032 52.43/21.37 Some transition disabled by a set of invariant(s): 52.43/21.37 Invariant at l2: 1 <= main_w 52.43/21.37 52.43/21.37 Strengthening and disabling transitions... 52.43/21.37 > It's unfeasible. Removing transition: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Checking unfeasibility... 52.43/21.37 Time used: 0.008635 52.43/21.37 52.43/21.37 Checking conditional termination of SCC {l2}... 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.002518s 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.308067s 52.43/21.37 [5615 : 5617] 52.43/21.37 [5615 : 5618] 52.43/21.37 Successful child: 5617 52.43/21.37 [ Invariant Graph ] 52.43/21.37 Strengthening and disabling transitions... 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 It's unfeasible. Removing transition: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 It's unfeasible. Removing transition: 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 [ Termination Graph ] 52.43/21.37 Strengthening and disabling transitions... 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 It's unfeasible. Removing transition: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 It's unfeasible. Removing transition: 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: CALL solverLinear in Graph for feasibility 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear in Graph for feasibility 52.43/21.37 Strengthening transition (result): 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 New Graphs: 52.43/21.37 Transitions: 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Variables: 52.43/21.37 main_i, main_w 52.43/21.37 Checking conditional termination of SCC {l2}... 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.001187s 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.017819s 52.43/21.37 [5615 : 5622] 52.43/21.37 [5615 : 5623] 52.43/21.37 Successful child: 5623 52.43/21.37 Ranking function: main_i 52.43/21.37 Ranking function and negation of Quasi-Invariant applied 52.43/21.37 New Graphs: 52.43/21.37 Transitions: 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Variables: 52.43/21.37 main_i, main_w 52.43/21.37 Checking conditional termination of SCC {l2}... 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.001220s 52.43/21.37 Ranking function: -1 - main_i 52.43/21.37 New Graphs: 52.43/21.37 [5615 : 5627] 52.43/21.37 [5615 : 5628] 52.43/21.37 INVARIANTS: 52.43/21.37 2: 0 <= 7 + main_w , 52.43/21.37 Quasi-INVARIANTS to narrow Graph: 52.43/21.37 2: main_i <= main_w , 0 <= main_i + main_w , 52.43/21.37 Narrowing transition: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: Narrow transition size 2 52.43/21.37 It's unfeasible. Removing transition: 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Narrowing transition: 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 52.43/21.37 LOG: Narrow transition size 2 52.43/21.37 It's unfeasible. Removing transition: 52.43/21.37 0, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 invGraph after Narrowing: 52.43/21.37 Transitions: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Variables: 52.43/21.37 main_i, main_w 52.43/21.37 Checking conditional termination of SCC {l2}... 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.001323s 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.051780s 52.43/21.37 [5615 : 5629] 52.43/21.37 [5615 : 5630] 52.43/21.37 Solving with 1 template(s). 52.43/21.37 52.43/21.37 LOG: CALL solveNonLinearGetFirstSolution 52.43/21.37 52.43/21.37 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.020205s 52.43/21.37 Time used: 0.01932 52.43/21.37 Improving Solution with cost 1 ... 52.43/21.37 52.43/21.37 LOG: CALL solveNonLinearGetNextSolution 52.43/21.37 52.43/21.37 LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.000917s 52.43/21.37 Time used: 1.00084 52.43/21.37 52.43/21.37 LOG: SAT solveNonLinear - Elapsed time: 1.021122s 52.43/21.37 Cost: 1; Total time: 1.02016 52.43/21.37 Quasi-ranking function: 50000 - main_w 52.43/21.37 New Graphs: 52.43/21.37 Transitions: 52.43/21.37 1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 -1 - main_i, main_w -> 1 + main_w, rest remain the same}> 52.43/21.37 Variables: 52.43/21.37 main_i, main_w 52.43/21.37 Checking conditional termination of SCC {l2}... 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.001407s 52.43/21.37 52.43/21.37 LOG: CALL solveLinear 52.43/21.37 52.43/21.37 LOG: RETURN solveLinear - Elapsed time: 0.117700s 52.43/21.37 [5615 : 5634] 52.43/21.37 [5615 : 5635] 52.43/21.37 Solving with 1 template(s). 52.43/21.37 52.43/21.37 LOG: CALL solveNonLinearGetFirstSolution 52.43/21.37 52.43/21.37 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.102609s 52.43/21.37 Time used: 4.10111 52.43/21.37 52.43/21.37 [5615 : 5639] 52.43/21.37 [5615 : 5643] 52.43/21.37 Successful child: 5639 52.43/21.37 52.43/21.37 Program does NOT terminate 52.43/21.37 EOF