0.00/0.16 YES 0.00/0.16 0.00/0.16 Solver Timeout: 4 0.00/0.16 Global Timeout: 300 0.00/0.16 Maximum number of concurrent processes: 900 0.00/0.16 ******************************************************************************************* 0.00/0.16 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 0.00/0.16 ******************************************************************************************* 0.00/0.16 0.00/0.16 0.00/0.16 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 0.00/0.16 0.00/0.16 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.16 + + 0.00/0.16 Init Location: 0 0.00/0.16 Transitions: 0.00/0.16 0, main_a -> ¿functionCall(__VERIFIER_nondet_int), main_b -> ¿functionCall(__VERIFIER_nondet_int), main_x -> ¿functionCall(__VERIFIER_nondet_int), main_y -> ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 = 0))> 0.00/0.16 = 0)> 0.00/0.16 = 0))> 0.00/0.16 = 0)> 0.00/0.16 (((main_x + main_a) - main_b) - 1), main_y -> (((main_y + main_b) - main_a) - 1)}> 0.00/0.16 0.00/0.16 0.00/0.16 0}> 0.00/0.16 0.00/0.16 Fresh variables: 0.00/0.16 0.00/0.16 Undef variables: 0.00/0.16 0.00/0.16 Abstraction variables: 0.00/0.16 0.00/0.16 Exit nodes: 0.00/0.16 0.00/0.16 Accepting locations: 0.00/0.16 0.00/0.16 Asserts: 0.00/0.16 0.00/0.16 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 0.00/0.16 0.00/0.16 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 0.00/0.16 0.00/0.16 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 0.00/0.16 0.00/0.16 Init Location: 0 0.00/0.16 Transitions: 0.00/0.16 0}> 0.00/0.16 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.16 varCall_1}> 0.00/0.16 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.16 varCall_2}> 0.00/0.16 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.16 varCall_3}> 0.00/0.16 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.16 varCall_4}> 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 = 0)> 0.00/0.16 = 0))> 0.00/0.16 = 0)> 0.00/0.16 = 0))> 0.00/0.16 (((main_x + main_a) - main_b) - 1), main_y -> (((main_y + main_b) - main_a) - 1)}> 0.00/0.16 0.00/0.16 0.00/0.16 0}> 0.00/0.16 0.00/0.16 Fresh variables: 0.00/0.16 0.00/0.16 Undef variables: 0.00/0.16 0.00/0.16 Abstraction variables: 0.00/0.16 0.00/0.16 Exit nodes: 0.00/0.16 10, 0.00/0.16 Accepting locations: 0.00/0.16 0.00/0.16 Asserts: 0.00/0.16 0.00/0.16 + + 0.00/0.16 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.16 0.00/0.16 0.00/0.16 Function Return and Parameters Information [2 functions]: 0.00/0.16 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 0.00/0.16 __VERIFIER_nondet_int__func_return_ [function result] : int 0.00/0.16 function name: main [1 return + 0 parameters] demangled: main 0.00/0.16 main__func_return_ [function result] : int 0.00/0.16 0.00/0.16 0.00/0.16 AST Ident Scanner Information [6 idents]: 0.00/0.16 __VERIFIER_nondet_int | function | [integer, ()] | | 0.00/0.16 main | function | [integer, ()] | 0.00/0.16 x | local variable | integer | | 0.00/0.16 y | local variable | integer | | 0.00/0.16 a | local variable | integer | | 0.00/0.16 b | local variable | integer | | 0.00/0.16 0.00/0.16 Main function: main 0.00/0.16 Preprocessed LLVMGraph 0.00/0.16 Init Location: 0 0.00/0.16 Transitions: 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 (undef6 + 1))> 0.00/0.16 = 0), par{main_x -> (((main_x + main_a) - main_b) - 1), main_y -> (((main_y + main_b) - main_a) - 1)}> 0.00/0.16 = 0)) /\ (main_y >= 0), par{main_x -> (((main_x + main_a) - main_b) - 1), main_y -> (((main_y + main_b) - main_a) - 1)}> 0.00/0.16 = 0)) /\ not((main_y >= 0))> 0.00/0.16 0.00/0.16 Fresh variables: 0.00/0.16 undef5, undef6, undef7, undef8, 0.00/0.16 0.00/0.16 Undef variables: 0.00/0.16 undef5, undef6, undef7, undef8, 0.00/0.16 0.00/0.16 Abstraction variables: 0.00/0.16 0.00/0.16 Exit nodes: 0.00/0.16 10, 0.00/0.16 Accepting locations: 0.00/0.16 0.00/0.16 Asserts: 0.00/0.16 0.00/0.16 ************************************************************* 0.00/0.16 ******************************************************************************************* 0.00/0.16 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 0.00/0.16 ******************************************************************************************* 0.00/0.16 0.00/0.16 Init Location: 0 0.00/0.16 Graph 0: 0.00/0.16 Transitions: 0.00/0.16 Variables: 0.00/0.16 0.00/0.16 Graph 1: 0.00/0.16 Transitions: 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 Variables: 0.00/0.16 main_x, main_y, main_a, main_b 0.00/0.16 0.00/0.16 Graph 2: 0.00/0.16 Transitions: 0.00/0.16 Variables: 0.00/0.16 0.00/0.16 Precedence: 0.00/0.16 Graph 0 0.00/0.16 0.00/0.16 Graph 1 0.00/0.16 0.00/0.16 0.00/0.16 Graph 2 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 0.00/0.16 Map Locations to Subgraph: 0.00/0.16 ( 0 , 0 ) 0.00/0.16 ( 4 , 1 ) 0.00/0.16 ( 10 , 2 ) 0.00/0.16 0.00/0.16 ******************************************************************************************* 0.00/0.16 ******************************** CHECKING ASSERTIONS ******************************** 0.00/0.16 ******************************************************************************************* 0.00/0.16 0.00/0.16 Proving termination of subgraph 0 0.00/0.16 Proving termination of subgraph 1 0.00/0.16 Checking unfeasibility... 0.00/0.16 Time used: 0.007136 0.00/0.16 0.00/0.16 Checking conditional termination of SCC {l4}... 0.00/0.16 0.00/0.16 LOG: CALL solveLinear 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear - Elapsed time: 0.001072s 0.00/0.16 0.00/0.16 LOG: CALL solveLinear 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear - Elapsed time: 0.004135s 0.00/0.16 [19839 : 19841] 0.00/0.16 [19839 : 19842] 0.00/0.16 Successful child: 19841 0.00/0.16 [ Invariant Graph ] 0.00/0.16 Strengthening and disabling transitions... 0.00/0.16 0.00/0.16 LOG: CALL solverLinear in Graph for feasibility 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.16 Strengthening transition (result): 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 0.00/0.16 LOG: CALL solverLinear in Graph for feasibility 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.16 Strengthening transition (result): 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 [ Termination Graph ] 0.00/0.16 Strengthening and disabling transitions... 0.00/0.16 0.00/0.16 LOG: CALL solverLinear in Graph for feasibility 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.16 Strengthening transition (result): 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 0.00/0.16 LOG: CALL solverLinear in Graph for feasibility 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.16 Strengthening transition (result): 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 Ranking function: main_y 0.00/0.16 New Graphs: 0.00/0.16 Transitions: 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 Variables: 0.00/0.16 main_x, main_y, main_a, main_b 0.00/0.16 Checking conditional termination of SCC {l4}... 0.00/0.16 0.00/0.16 LOG: CALL solveLinear 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear - Elapsed time: 0.000657s 0.00/0.16 0.00/0.16 LOG: CALL solveLinear 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear - Elapsed time: 0.002341s 0.00/0.16 [19839 : 19846] 0.00/0.16 [19839 : 19847] 0.00/0.16 Successful child: 19846 0.00/0.16 [ Invariant Graph ] 0.00/0.16 Strengthening and disabling transitions... 0.00/0.16 0.00/0.16 LOG: CALL solverLinear in Graph for feasibility 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.16 It's unfeasible. Removing transition: 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 0.00/0.16 LOG: CALL solverLinear in Graph for feasibility 0.00/0.16 0.00/0.16 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.16 Strengthening transition (result): 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 [ Termination Graph ] 0.00/0.16 Strengthening and disabling transitions... 0.00/0.16 > It's unfeasible. Removing transition: 0.00/0.16 -1 + main_x + main_a - main_b, main_y -> -1 + main_y - main_a + main_b, rest remain the same}> 0.00/0.16 New Graphs: 0.00/0.16 INVARIANTS: 0.00/0.16 4: 1 + main_b <= main_a , 0.00/0.16 Quasi-INVARIANTS to narrow Graph: 0.00/0.16 4: 0.00/0.16 INVARIANTS: 0.00/0.16 4: 1 + main_x <= 0 , main_a <= 1 + main_b , 0.00/0.16 Quasi-INVARIANTS to narrow Graph: 0.00/0.16 4: 0.00/0.16 Proving termination of subgraph 2 0.00/0.16 Analyzing SCC {l10}... 0.00/0.16 No cycles found. 0.00/0.16 0.00/0.16 Program Terminates 0.00/0.16 EOF