1.58/1.64 YES 1.58/1.64 1.58/1.64 Solver Timeout: 4 1.58/1.64 Global Timeout: 300 1.58/1.64 Maximum number of concurrent processes: 900 1.58/1.64 ******************************************************************************************* 1.58/1.64 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 1.58/1.64 ******************************************************************************************* 1.58/1.64 1.58/1.64 1.58/1.64 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 1.58/1.64 1.58/1.64 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 1.58/1.64 + + 1.58/1.64 Init Location: 0 1.58/1.64 Transitions: 1.58/1.64 0, main_a -> ¿functionCall(__VERIFIER_nondet_int), main_b -> ¿functionCall(__VERIFIER_nondet_int)}> 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 5)> 1.58/1.64 5))> 1.58/1.64 (main_b + 7)}> 1.58/1.64 1.58/1.64 (main_b + 2)}> 1.58/1.64 1.58/1.64 = 10))> 1.58/1.64 = 10)> 1.58/1.64 1.58/1.64 1.58/1.64 (main_a + 10)}> 1.58/1.64 1.58/1.64 (main_a + 1)}> 1.58/1.64 1.58/1.64 1.58/1.64 (main_a + 2), main_b -> (main_b - 10)}> 1.58/1.64 1.58/1.64 0}> 1.58/1.64 1.58/1.64 Fresh variables: 1.58/1.64 1.58/1.64 Undef variables: 1.58/1.64 1.58/1.64 Abstraction variables: 1.58/1.64 1.58/1.64 Exit nodes: 1.58/1.64 1.58/1.64 Accepting locations: 1.58/1.64 1.58/1.64 Asserts: 1.58/1.64 1.58/1.64 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 1.58/1.64 1.58/1.64 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 1.58/1.64 1.58/1.64 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 1.58/1.64 1.58/1.64 Init Location: 0 1.58/1.64 Transitions: 1.58/1.64 0}> 1.58/1.64 ¿functionCall(__VERIFIER_nondet_int)}> 1.58/1.64 varCall_1}> 1.58/1.64 ¿functionCall(__VERIFIER_nondet_int)}> 1.58/1.64 varCall_2}> 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 1.58/1.64 5)> 1.58/1.64 5))> 1.58/1.64 (main_b + 7)}> 1.58/1.64 1.58/1.64 (main_b + 2)}> 1.58/1.64 1.58/1.64 = 10)> 1.58/1.64 = 10))> 1.58/1.64 1.58/1.64 1.58/1.64 (main_a + 10)}> 1.58/1.64 1.58/1.64 (main_a + 1)}> 1.58/1.64 1.58/1.64 1.58/1.64 (main_a + 2), main_b -> (main_b - 10)}> 1.58/1.64 1.58/1.64 0}> 1.58/1.64 1.58/1.64 Fresh variables: 1.58/1.64 1.58/1.64 Undef variables: 1.58/1.64 1.58/1.64 Abstraction variables: 1.58/1.64 1.58/1.64 Exit nodes: 1.58/1.64 20, 1.58/1.64 Accepting locations: 1.58/1.64 1.58/1.64 Asserts: 1.58/1.64 1.58/1.64 + + 1.58/1.64 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 1.58/1.64 1.58/1.64 1.58/1.64 Function Return and Parameters Information [2 functions]: 1.58/1.64 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 1.58/1.64 __VERIFIER_nondet_int__func_return_ [function result] : int 1.58/1.64 function name: main [1 return + 0 parameters] demangled: main 1.58/1.64 main__func_return_ [function result] : int 1.58/1.64 1.58/1.64 1.58/1.64 AST Ident Scanner Information [4 idents]: 1.58/1.64 __VERIFIER_nondet_int | function | [integer, ()] | | 1.58/1.64 main | function | [integer, ()] | 1.58/1.64 a | local variable | integer | | 1.58/1.64 b | local variable | integer | | 1.58/1.64 1.58/1.64 Main function: main 1.58/1.64 Preprocessed LLVMGraph 1.58/1.64 Init Location: 0 1.58/1.64 Transitions: 1.58/1.64 1.58/1.64 1.58/1.64 5) /\ ((main_b + 7) >= 10) /\ not(((main_b + 7) <= 12)), par{main_a -> (main_a + 1), main_b -> (main_b + 7)}> 1.58/1.64 5)) /\ not(((main_b + 2) >= 10)), par{main_a -> (main_a + 1), main_b -> (main_b + 2)}> 1.58/1.64 (main_a + 2), main_b -> (main_b - 10)}> 1.58/1.64 (main_a + 2), main_b -> (main_b - 10)}> 1.58/1.64 1.58/1.64 Fresh variables: 1.58/1.64 undef3, undef4, 1.58/1.64 1.58/1.64 Undef variables: 1.58/1.64 undef3, undef4, 1.58/1.64 1.58/1.64 Abstraction variables: 1.58/1.64 1.58/1.64 Exit nodes: 1.58/1.64 20, 1.58/1.64 Accepting locations: 1.58/1.64 1.58/1.64 Asserts: 1.58/1.64 1.58/1.64 ************************************************************* 1.58/1.64 ******************************************************************************************* 1.58/1.64 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 1.58/1.64 ******************************************************************************************* 1.58/1.64 1.58/1.64 Init Location: 0 1.58/1.64 Graph 0: 1.58/1.64 Transitions: 1.58/1.64 Variables: 1.58/1.64 1.58/1.64 Graph 1: 1.58/1.64 Transitions: 1.58/1.64 1 + main_a, main_b -> 7 + main_b, rest remain the same}> 1.58/1.64 1 + main_a, main_b -> 2 + main_b, rest remain the same}> 1.58/1.64 2 + main_a, main_b -> -10 + main_b, rest remain the same}> 1.58/1.64 Variables: 1.58/1.64 main_a, main_b 1.58/1.64 1.58/1.64 Graph 2: 1.58/1.64 Transitions: 1.58/1.64 Variables: 1.58/1.64 1.58/1.64 Precedence: 1.58/1.64 Graph 0 1.58/1.64 1.58/1.64 Graph 1 1.58/1.64 1.58/1.64 1.58/1.64 Graph 2 1.58/1.64 1.58/1.64 2 + main_a, main_b -> -10 + main_b, rest remain the same}> 1.58/1.64 1.58/1.64 Map Locations to Subgraph: 1.58/1.64 ( 0 , 0 ) 1.58/1.64 ( 4 , 1 ) 1.58/1.64 ( 20 , 2 ) 1.58/1.64 1.58/1.64 ******************************************************************************************* 1.58/1.64 ******************************** CHECKING ASSERTIONS ******************************** 1.58/1.64 ******************************************************************************************* 1.58/1.64 1.58/1.64 Proving termination of subgraph 0 1.58/1.64 Proving termination of subgraph 1 1.58/1.64 Checking unfeasibility... 1.58/1.64 Time used: 1.54263 1.58/1.64 1.58/1.64 Checking conditional termination of SCC {l4}... 1.58/1.64 1.58/1.64 LOG: CALL solveLinear 1.58/1.64 1.58/1.64 LOG: RETURN solveLinear - Elapsed time: 0.037561s 1.58/1.64 Ranking function: 27 - main_a 1.58/1.64 New Graphs: 1.58/1.64 Transitions: 1.58/1.64 1 + main_a, main_b -> 7 + main_b, rest remain the same}> 1.58/1.64 1 + main_a, main_b -> 2 + main_b, rest remain the same}> 1.58/1.64 Variables: 1.58/1.64 main_a, main_b 1.58/1.64 Checking conditional termination of SCC {l4}... 1.58/1.64 1.58/1.64 LOG: CALL solveLinear 1.58/1.64 1.58/1.64 LOG: RETURN solveLinear - Elapsed time: 0.001118s 1.58/1.64 Ranking function: -96 + 24*main_a - 12*main_b 1.58/1.64 New Graphs: 1.58/1.64 Transitions: 1.58/1.64 1 + main_a, main_b -> 2 + main_b, rest remain the same}> 1.58/1.64 Variables: 1.58/1.64 main_a, main_b 1.58/1.64 Checking conditional termination of SCC {l4}... 1.58/1.64 1.58/1.64 LOG: CALL solveLinear 1.58/1.64 1.58/1.64 LOG: RETURN solveLinear - Elapsed time: 0.000682s 1.58/1.64 Ranking function: -1 + main_a - main_b 1.58/1.64 New Graphs: 1.58/1.64 Proving termination of subgraph 2 1.58/1.64 Analyzing SCC {l20}... 1.58/1.64 No cycles found. 1.58/1.64 1.58/1.64 Program Terminates 1.58/1.65 EOF