0.00/0.05 YES 0.00/0.05 0.00/0.05 Solver Timeout: 4 0.00/0.05 Global Timeout: 300 0.00/0.05 Maximum number of concurrent processes: 900 0.00/0.05 ******************************************************************************************* 0.00/0.05 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 0.00/0.05 ******************************************************************************************* 0.00/0.05 0.00/0.05 0.00/0.05 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 0.00/0.05 0.00/0.05 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.05 + + 0.00/0.05 Init Location: 0 0.00/0.05 Transitions: 0.00/0.05 0, main_flag -> 1, main_c -> 0, main_x -> ¿functionCall(__VERIFIER_nondet_int), main_y -> ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.05 0.00/0.05 0.00/0.05 0.00/0.05 = main_y)> 0.00/0.05 = main_y))> 0.00/0.05 0}> 0.00/0.05 0.00/0.05 (main_x + 1), main_c -> (main_c + 1)}> 0.00/0.05 0.00/0.05 0}> 0.00/0.05 0.00/0.05 Fresh variables: 0.00/0.05 0.00/0.05 Undef variables: 0.00/0.05 0.00/0.05 Abstraction variables: 0.00/0.05 0.00/0.05 Exit nodes: 0.00/0.05 0.00/0.05 Accepting locations: 0.00/0.05 0.00/0.05 Asserts: 0.00/0.05 0.00/0.05 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 0.00/0.05 0.00/0.05 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 0.00/0.05 0.00/0.05 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 0.00/0.05 0.00/0.05 Init Location: 0 0.00/0.05 Transitions: 0.00/0.05 0, main_flag -> 1, main_c -> 0}> 0.00/0.05 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.05 varCall_1}> 0.00/0.05 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.05 varCall_2}> 0.00/0.05 0.00/0.05 0.00/0.05 0.00/0.05 = main_y)> 0.00/0.05 = main_y))> 0.00/0.05 0}> 0.00/0.05 0.00/0.05 (main_x + 1), main_c -> (main_c + 1)}> 0.00/0.05 0.00/0.05 0}> 0.00/0.05 0.00/0.05 Fresh variables: 0.00/0.05 0.00/0.05 Undef variables: 0.00/0.05 0.00/0.05 Abstraction variables: 0.00/0.05 0.00/0.05 Exit nodes: 0.00/0.05 9, 0.00/0.05 Accepting locations: 0.00/0.05 0.00/0.05 Asserts: 0.00/0.05 0.00/0.05 + + 0.00/0.05 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.05 0.00/0.05 0.00/0.05 Function Return and Parameters Information [2 functions]: 0.00/0.05 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 0.00/0.05 __VERIFIER_nondet_int__func_return_ [function result] : int 0.00/0.05 function name: main [1 return + 0 parameters] demangled: main 0.00/0.05 main__func_return_ [function result] : int 0.00/0.05 0.00/0.05 0.00/0.05 AST Ident Scanner Information [6 idents]: 0.00/0.05 __VERIFIER_nondet_int | function | [integer, ()] | | 0.00/0.05 main | function | [integer, ()] | 0.00/0.05 flag | local variable | integer | | 0.00/0.05 c | local variable | integer | | 0.00/0.05 x | local variable | integer | | 0.00/0.05 y | local variable | integer | | 0.00/0.05 0.00/0.05 Main function: main 0.00/0.05 Preprocessed LLVMGraph 0.00/0.05 Init Location: 0 0.00/0.05 Transitions: 0.00/0.05 0.00/0.05 0.00/0.05 = main_y), par{main_flag -> 0, main_c -> (main_c + 1), main_x -> (main_x + 1)}> 0.00/0.05 = main_y)), par{main_c -> (main_c + 1), main_x -> (main_x + 1)}> 0.00/0.05 0) /\ (main_x >= main_y), par{main_flag -> 0, main_c -> (main_c + 1), main_x -> (main_x + 1)}> 0.00/0.05 0) /\ not((main_x >= main_y)), par{main_c -> (main_c + 1), main_x -> (main_x + 1)}> 0.00/0.05 0.00/0.05 Fresh variables: 0.00/0.05 undef3, undef4, 0.00/0.05 0.00/0.05 Undef variables: 0.00/0.05 undef3, undef4, 0.00/0.05 0.00/0.05 Abstraction variables: 0.00/0.05 0.00/0.05 Exit nodes: 0.00/0.05 9, 0.00/0.05 Accepting locations: 0.00/0.05 0.00/0.05 Asserts: 0.00/0.05 0.00/0.05 ************************************************************* 0.00/0.05 ******************************************************************************************* 0.00/0.05 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 0.00/0.05 ******************************************************************************************* 0.00/0.05 0.00/0.05 Init Location: 0 0.00/0.05 Graph 0: 0.00/0.05 Transitions: 0.00/0.05 Variables: 0.00/0.05 0.00/0.05 Graph 1: 0.00/0.05 Transitions: 0.00/0.05 0, main_c -> 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 0, main_c -> 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 Variables: 0.00/0.05 main_flag, main_c, main_x, main_y 0.00/0.05 0.00/0.05 Graph 2: 0.00/0.05 Transitions: 0.00/0.05 Variables: 0.00/0.05 0.00/0.05 Precedence: 0.00/0.05 Graph 0 0.00/0.05 0.00/0.05 Graph 1 0.00/0.05 0.00/0.05 0.00/0.05 Graph 2 0.00/0.05 0.00/0.05 0.00/0.05 Map Locations to Subgraph: 0.00/0.05 ( 0 , 0 ) 0.00/0.05 ( 2 , 1 ) 0.00/0.05 ( 9 , 2 ) 0.00/0.05 0.00/0.05 ******************************************************************************************* 0.00/0.05 ******************************** CHECKING ASSERTIONS ******************************** 0.00/0.05 ******************************************************************************************* 0.00/0.05 0.00/0.05 Proving termination of subgraph 0 0.00/0.05 Proving termination of subgraph 1 0.00/0.05 Checking unfeasibility... 0.00/0.05 Time used: 0.015166 0.00/0.05 Some transition disabled by a set of invariant(s): 0.00/0.05 Invariant at l2: 0 <= main_flag 0.00/0.05 0.00/0.05 Strengthening and disabling transitions... 0.00/0.05 > It's unfeasible. Removing transition: 0.00/0.05 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 0.00/0.05 LOG: CALL solverLinear in Graph for feasibility 0.00/0.05 0.00/0.05 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.05 It's unfeasible. Removing transition: 0.00/0.05 0, main_c -> 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 0.00/0.05 LOG: CALL solverLinear in Graph for feasibility 0.00/0.05 0.00/0.05 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.05 Strengthening transition (result): 0.00/0.05 0, main_c -> 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 0.00/0.05 LOG: CALL solverLinear in Graph for feasibility 0.00/0.05 0.00/0.05 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.05 Strengthening transition (result): 0.00/0.05 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 Checking unfeasibility... 0.00/0.05 Time used: 0.005583 0.00/0.05 0.00/0.05 Checking conditional termination of SCC {l2}... 0.00/0.05 0.00/0.05 LOG: CALL solveLinear 0.00/0.05 0.00/0.05 LOG: RETURN solveLinear - Elapsed time: 0.001506s 0.00/0.05 Ranking function: -1 + main_flag 0.00/0.05 New Graphs: 0.00/0.05 Transitions: 0.00/0.05 1 + main_c, main_x -> 1 + main_x, rest remain the same}> 0.00/0.05 Variables: 0.00/0.05 main_flag, main_c, main_x, main_y 0.00/0.05 Checking conditional termination of SCC {l2}... 0.00/0.05 0.00/0.05 LOG: CALL solveLinear 0.00/0.05 0.00/0.05 LOG: RETURN solveLinear - Elapsed time: 0.000729s 0.00/0.05 Ranking function: -1 - main_x + main_y 0.00/0.05 New Graphs: 0.00/0.05 Proving termination of subgraph 2 0.00/0.05 Analyzing SCC {l9}... 0.00/0.05 No cycles found. 0.00/0.05 0.00/0.05 Program Terminates 0.00/0.05 EOF