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_x -> ¿functionCall(__VERIFIER_nondet_int), main_y -> ¿functionCall(__VERIFIER_nondet_int), main_res -> 0}> 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)> 0.00/0.05 main_y}> 0.00/0.05 0.00/0.05 0.00/0.05 0.00/0.05 0)> 0.00/0.05 0))> 0.00/0.05 (main_ytmp - 1), main_x -> (main_x - 1)}> 0.00/0.05 0.00/0.05 (main_ytmp + 1), main_x -> (main_x + 1)}> 0.00/0.05 0.00/0.05 0.00/0.05 (main_res + 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}> 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, main_res -> 0}> 0.00/0.05 0.00/0.05 = main_y)> 0.00/0.06 = main_y))> 0.00/0.06 0)> 0.00/0.06 0))> 0.00/0.06 main_y}> 0.00/0.06 0.00/0.06 0.00/0.06 0.00/0.06 0)> 0.00/0.06 0))> 0.00/0.06 (main_ytmp - 1), main_x -> (main_x - 1)}> 0.00/0.06 0.00/0.06 (main_ytmp + 1), main_x -> (main_x + 1)}> 0.00/0.06 0.00/0.06 0.00/0.06 (main_res + 1)}> 0.00/0.06 0.00/0.06 0}> 0.00/0.06 0.00/0.06 Fresh variables: 0.00/0.06 0.00/0.06 Undef variables: 0.00/0.06 0.00/0.06 Abstraction variables: 0.00/0.06 0.00/0.06 Exit nodes: 0.00/0.06 16, 0.00/0.06 Accepting locations: 0.00/0.06 0.00/0.06 Asserts: 0.00/0.06 0.00/0.06 + + 0.00/0.06 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.06 0.00/0.06 0.00/0.06 Function Return and Parameters Information [2 functions]: 0.00/0.06 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 0.00/0.06 __VERIFIER_nondet_int__func_return_ [function result] : int 0.00/0.06 function name: main [1 return + 0 parameters] demangled: main 0.00/0.06 main__func_return_ [function result] : int 0.00/0.06 0.00/0.06 0.00/0.06 AST Ident Scanner Information [6 idents]: 0.00/0.06 __VERIFIER_nondet_int | function | [integer, ()] | | 0.00/0.06 main | function | [integer, ()] | 0.00/0.06 x | local variable | integer | | 0.00/0.06 y | local variable | integer | | 0.00/0.06 ytmp | local variable | integer | | 0.00/0.06 res | local variable | integer | | 0.00/0.06 0.00/0.06 Main function: main 0.00/0.06 Preprocessed LLVMGraph 0.00/0.06 Init Location: 0 0.00/0.06 Transitions: 0.00/0.06 = undef4) /\ (undef4 > 0), par{main_ytmp -> undef4}> 0.00/0.06 = undef4) /\ not((undef4 > 0))> 0.00/0.06 = undef4))> 0.00/0.06 = main_y) /\ (main_y > 0), par{main_ytmp -> main_y, main_res -> (main_res + 1)}> 0.00/0.06 = main_y) /\ not((main_y > 0)), par{main_res -> (main_res + 1)}> 0.00/0.06 = main_y)), par{main_res -> (main_res + 1)}> 0.00/0.06 0)), par{main_x -> (main_x + 1), main_ytmp -> (main_ytmp + 1)}> 0.00/0.06 0) /\ (main_ytmp > 0), par{main_x -> (main_x - 1), main_ytmp -> (main_ytmp - 1)}> 0.00/0.06 0.00/0.06 Fresh variables: 0.00/0.06 undef3, undef4, 0.00/0.06 0.00/0.06 Undef variables: 0.00/0.06 undef3, undef4, 0.00/0.06 0.00/0.06 Abstraction variables: 0.00/0.06 0.00/0.06 Exit nodes: 0.00/0.06 16, 0.00/0.06 Accepting locations: 0.00/0.06 0.00/0.06 Asserts: 0.00/0.06 0.00/0.06 ************************************************************* 0.00/0.06 ******************************************************************************************* 0.00/0.06 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 0.00/0.06 ******************************************************************************************* 0.00/0.06 0.00/0.06 Init Location: 0 0.00/0.06 Graph 0: 0.00/0.06 Transitions: 0.00/0.06 Variables: 0.00/0.06 0.00/0.06 Graph 1: 0.00/0.06 Transitions: 0.00/0.06 main_y, main_res -> 1 + main_res, rest remain the same}> 0.00/0.06 1 + main_x, main_ytmp -> 1 + main_ytmp, rest remain the same}> 0.00/0.06 -1 + main_x, main_ytmp -> -1 + main_ytmp, rest remain the same}> 0.00/0.06 Variables: 0.00/0.06 main_x, main_y, main_ytmp, main_res 0.00/0.06 0.00/0.06 Graph 2: 0.00/0.06 Transitions: 0.00/0.06 Variables: 0.00/0.06 0.00/0.06 Precedence: 0.00/0.06 Graph 0 0.00/0.06 0.00/0.06 Graph 1 0.00/0.06 undef4, rest remain the same}> 0.00/0.06 0.00/0.06 Graph 2 0.00/0.06 0.00/0.06 0.00/0.06 1 + main_res, rest remain the same}> 0.00/0.06 1 + main_res, rest remain the same}> 0.00/0.06 0.00/0.06 Map Locations to Subgraph: 0.00/0.06 ( 0 , 0 ) 0.00/0.06 ( 6 , 1 ) 0.00/0.06 ( 16 , 2 ) 0.00/0.06 0.00/0.06 ******************************************************************************************* 0.00/0.06 ******************************** CHECKING ASSERTIONS ******************************** 0.00/0.06 ******************************************************************************************* 0.00/0.06 0.00/0.06 Proving termination of subgraph 0 0.00/0.06 Proving termination of subgraph 1 0.00/0.06 Checking unfeasibility... 0.00/0.06 Time used: 0.013377 0.00/0.06 Some transition disabled by a set of invariant(s): 0.00/0.06 Invariant at l6: 0 <= main_ytmp 0.00/0.06 0.00/0.06 Strengthening and disabling transitions... 0.00/0.06 > It's unfeasible. Removing transition: 0.00/0.06 1 + main_x, main_ytmp -> 1 + main_ytmp, rest remain the same}> 0.00/0.06 0.00/0.06 LOG: CALL solverLinear in Graph for feasibility 0.00/0.06 0.00/0.06 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.06 Strengthening transition (result): 0.00/0.06 main_y, main_res -> 1 + main_res, rest remain the same}> 0.00/0.06 0.00/0.06 LOG: CALL solverLinear in Graph for feasibility 0.00/0.06 0.00/0.06 LOG: RETURN solveLinear in Graph for feasibility 0.00/0.06 Strengthening transition (result): 0.00/0.06 -1 + main_x, main_ytmp -> -1 + main_ytmp, rest remain the same}> 0.00/0.06 Checking unfeasibility... 0.00/0.06 Time used: 0.007961 0.00/0.06 0.00/0.06 Checking conditional termination of SCC {l6}... 0.00/0.06 0.00/0.06 LOG: CALL solveLinear 0.00/0.06 0.00/0.06 LOG: RETURN solveLinear - Elapsed time: 0.001510s 0.00/0.06 Ranking function: 2*main_x - 2*main_y - 2*main_ytmp 0.00/0.06 New Graphs: 0.00/0.06 Transitions: 0.00/0.06 -1 + main_x, main_ytmp -> -1 + main_ytmp, rest remain the same}> 0.00/0.06 Variables: 0.00/0.06 main_x, main_ytmp 0.00/0.06 Checking conditional termination of SCC {l6}... 0.00/0.06 0.00/0.06 LOG: CALL solveLinear 0.00/0.06 0.00/0.06 LOG: RETURN solveLinear - Elapsed time: 0.000546s 0.00/0.06 Ranking function: -1 + main_ytmp 0.00/0.06 New Graphs: 0.00/0.06 Proving termination of subgraph 2 0.00/0.06 Analyzing SCC {l16}... 0.00/0.06 No cycles found. 0.00/0.06 0.00/0.06 Program Terminates 0.00/0.06 EOF