0.00/0.23 YES 0.00/0.23 0.00/0.23 Solver Timeout: 4 0.00/0.23 Global Timeout: 300 0.00/0.23 Maximum number of concurrent processes: 900 0.00/0.23 ******************************************************************************************* 0.00/0.23 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 0.00/0.23 ******************************************************************************************* 0.00/0.23 0.00/0.23 0.00/0.23 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 0.00/0.23 0.00/0.23 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.23 + + 0.00/0.23 Init Location: 0 0.00/0.23 Transitions: 0.00/0.23 0, main_n -> ¿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.23 0.00/0.23 = 0))> 0.00/0.23 = 0)> 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 (main_y + 1)}> 0.00/0.23 0.00/0.23 0.00/0.23 1}> 0.00/0.23 0.00/0.23 0.00/0.23 (main_y - 1)}> 0.00/0.23 0.00/0.23 0.00/0.23 (main_x - 1), main_b -> 0}> 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0}> 0.00/0.23 0.00/0.23 Fresh variables: 0.00/0.23 0.00/0.23 Undef variables: 0.00/0.23 0.00/0.23 Abstraction variables: 0.00/0.23 0.00/0.23 Exit nodes: 0.00/0.23 0.00/0.23 Accepting locations: 0.00/0.23 0.00/0.23 Asserts: 0.00/0.23 0.00/0.23 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 0.00/0.23 0.00/0.23 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 0.00/0.23 0.00/0.23 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 0.00/0.23 0.00/0.23 Init Location: 0 0.00/0.23 Transitions: 0.00/0.23 0}> 0.00/0.23 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.23 varCall_1}> 0.00/0.23 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.23 varCall_2}> 0.00/0.23 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.23 varCall_3}> 0.00/0.23 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.23 varCall_4}> 0.00/0.23 0.00/0.23 = 0)> 0.00/0.23 = 0))> 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 (main_y + 1)}> 0.00/0.23 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.23 0.00/0.23 0.00/0.23 1}> 0.00/0.23 0.00/0.23 0.00/0.23 (main_y - 1)}> 0.00/0.23 ¿functionCall(__VERIFIER_nondet_int)}> 0.00/0.23 0.00/0.23 0.00/0.23 (main_x - 1), main_b -> 0}> 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0}> 0.00/0.23 0.00/0.23 Fresh variables: 0.00/0.23 0.00/0.23 Undef variables: 0.00/0.23 0.00/0.23 Abstraction variables: 0.00/0.23 0.00/0.23 Exit nodes: 0.00/0.23 18, 0.00/0.23 Accepting locations: 0.00/0.23 0.00/0.23 Asserts: 0.00/0.23 0.00/0.23 + + 0.00/0.23 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 0.00/0.23 0.00/0.23 0.00/0.23 Function Return and Parameters Information [2 functions]: 0.00/0.23 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 0.00/0.23 __VERIFIER_nondet_int__func_return_ [function result] : int 0.00/0.23 function name: main [1 return + 0 parameters] demangled: main 0.00/0.23 main__func_return_ [function result] : int 0.00/0.23 0.00/0.23 0.00/0.23 AST Ident Scanner Information [6 idents]: 0.00/0.23 __VERIFIER_nondet_int | function | [integer, ()] | | 0.00/0.23 main | function | [integer, ()] | 0.00/0.23 x | local variable | integer | | 0.00/0.23 y | local variable | integer | | 0.00/0.23 n | local variable | integer | | 0.00/0.23 b | local variable | integer | | 0.00/0.23 0.00/0.23 Main function: main 0.00/0.23 Preprocessed LLVMGraph 0.00/0.23 Init Location: 0 0.00/0.23 Transitions: 0.00/0.23 0.00/0.23 = 0) /\ (0 <= main_y) /\ (main_y <= main_n) /\ (main_b = 0) /\ (undef11 = 0), par{main_y -> (main_y + 1), varCall_5 -> undef11}> 0.00/0.23 = 0) /\ (0 <= main_y) /\ (main_y <= main_n) /\ (main_b = 0) /\ (undef11 = 1), par{main_y -> (main_y + 1), main_b -> 1, varCall_5 -> undef11}> 0.00/0.23 = 0) /\ (0 <= main_y) /\ (main_y <= main_n) /\ (main_b < 0) /\ (undef12 = 0), par{main_y -> (main_y - 1), varCall_6 -> undef12}> 0.00/0.23 = 0) /\ (0 <= main_y) /\ (main_y <= main_n) /\ (main_b < 0) /\ (undef12 = 1), par{main_x -> (main_x - 1), main_y -> (main_y - 1), main_b -> 0, varCall_6 -> undef12}> 0.00/0.23 = 0) /\ (0 <= main_y) /\ (main_y <= main_n) /\ (main_b > 0) /\ (undef12 = 0), par{main_y -> (main_y - 1), varCall_6 -> undef12}> 0.00/0.23 = 0) /\ (0 <= main_y) /\ (main_y <= main_n) /\ (main_b > 0) /\ (undef12 = 1), par{main_x -> (main_x - 1), main_y -> (main_y - 1), main_b -> 0, varCall_6 -> undef12}> 0.00/0.23 = 0) /\ (0 <= main_y) /\ not((main_y <= main_n))> 0.00/0.23 = 0) /\ not((0 <= main_y))> 0.00/0.23 = 0))> 0.00/0.23 0.00/0.23 Fresh variables: 0.00/0.23 undef7, undef8, undef9, undef10, undef11, undef12, 0.00/0.23 0.00/0.23 Undef variables: 0.00/0.23 undef7, undef8, undef9, undef10, undef11, undef12, 0.00/0.23 0.00/0.23 Abstraction variables: 0.00/0.23 0.00/0.23 Exit nodes: 0.00/0.23 18, 0.00/0.23 Accepting locations: 0.00/0.23 0.00/0.23 Asserts: 0.00/0.23 0.00/0.23 ************************************************************* 0.00/0.23 ******************************************************************************************* 0.00/0.23 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 0.00/0.23 ******************************************************************************************* 0.00/0.23 0.00/0.23 Init Location: 0 0.00/0.23 Graph 0: 0.00/0.23 Transitions: 0.00/0.23 Variables: 0.00/0.23 0.00/0.23 Graph 1: 0.00/0.23 Transitions: 0.00/0.23 1 + main_y, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 1 + main_y, main_b -> 1, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 -1 + main_x, main_y -> -1 + main_y, main_b -> 0, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 -1 + main_x, main_y -> -1 + main_y, main_b -> 0, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 Variables: 0.00/0.23 main_x, main_y, main_n, main_b, varCall_5, varCall_6 0.00/0.23 0.00/0.23 Graph 2: 0.00/0.23 Transitions: 0.00/0.23 Variables: 0.00/0.23 0.00/0.23 Precedence: 0.00/0.23 Graph 0 0.00/0.23 0.00/0.23 Graph 1 0.00/0.23 0.00/0.23 0.00/0.23 Graph 2 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 0.00/0.23 Map Locations to Subgraph: 0.00/0.23 ( 0 , 0 ) 0.00/0.23 ( 2 , 1 ) 0.00/0.23 ( 18 , 2 ) 0.00/0.23 0.00/0.23 ******************************************************************************************* 0.00/0.23 ******************************** CHECKING ASSERTIONS ******************************** 0.00/0.23 ******************************************************************************************* 0.00/0.23 0.00/0.23 Proving termination of subgraph 0 0.00/0.23 Proving termination of subgraph 1 0.00/0.23 Checking unfeasibility... 0.00/0.23 Time used: 0.032382 0.00/0.23 0.00/0.23 Checking conditional termination of SCC {l2}... 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.008087s 0.00/0.23 Ranking function: main_x 0.00/0.23 New Graphs: 0.00/0.23 Transitions: 0.00/0.23 1 + main_y, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 1 + main_y, main_b -> 1, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 Variables: 0.00/0.23 main_x, main_y, main_n, main_b, varCall_5, varCall_6 0.00/0.23 Checking conditional termination of SCC {l2}... 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.003602s 0.00/0.23 Ranking function: -2*main_b 0.00/0.23 New Graphs: 0.00/0.23 Transitions: 0.00/0.23 1 + main_y, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 Variables: 0.00/0.23 main_x, main_y, main_n, main_b, varCall_5, varCall_6 0.00/0.23 Checking conditional termination of SCC {l2}... 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.002403s 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.013261s 0.00/0.23 [37276 : 37279] 0.00/0.23 [37276 : 37280] 0.00/0.23 Successful child: 37280 0.00/0.23 Ranking function: main_y 0.00/0.23 Ranking function and negation of Quasi-Invariant applied 0.00/0.23 New Graphs: 0.00/0.23 Transitions: 0.00/0.23 1 + main_y, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 -1 + main_y, varCall_6 -> undef12, rest remain the same}> 0.00/0.23 Variables: 0.00/0.23 main_x, main_y, main_n, main_b, varCall_5, varCall_6 0.00/0.23 Checking conditional termination of SCC {l2}... 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.002074s 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.010005s 0.00/0.23 [37276 : 37286] 0.00/0.23 [37276 : 37287] 0.00/0.23 Successful child: 37287 0.00/0.23 Ranking function: main_y 0.00/0.23 Ranking function and negation of Quasi-Invariant applied 0.00/0.23 New Graphs: 0.00/0.23 Transitions: 0.00/0.23 1 + main_y, varCall_5 -> undef11, rest remain the same}> 0.00/0.23 Variables: 0.00/0.23 main_x, main_y, main_n, main_b, varCall_5 0.00/0.23 Checking conditional termination of SCC {l2}... 0.00/0.23 0.00/0.23 LOG: CALL solveLinear 0.00/0.23 0.00/0.23 LOG: RETURN solveLinear - Elapsed time: 0.001964s 0.00/0.23 Ranking function: -main_y + main_n 0.00/0.23 New Graphs: 0.00/0.23 Proving termination of subgraph 2 0.00/0.23 Analyzing SCC {l18}... 0.00/0.23 No cycles found. 0.00/0.23 0.00/0.23 Program Terminates 0.00/0.23 EOF