4.96/2.66 NO 4.96/2.66 4.96/2.66 Solver Timeout: 4 4.96/2.66 Global Timeout: 300 4.96/2.66 Maximum number of concurrent processes: 900 4.96/2.66 ******************************************************************************************* 4.96/2.66 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 4.96/2.66 ******************************************************************************************* 4.96/2.66 4.96/2.66 4.96/2.66 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 4.96/2.66 4.96/2.66 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 4.96/2.66 + + 4.96/2.66 Init Location: 0 4.96/2.66 Transitions: 4.96/2.66 0, main_i -> ¿functionCall(__VERIFIER_nondet_int)}> 4.96/2.66 4.96/2.66 0))> 4.96/2.66 0)> 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 (main_i - 1)}> 4.96/2.66 4.96/2.66 10)> 4.96/2.66 10))> 4.96/2.66 (main_i + 1)}> 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 (main_i - 1)}> 4.96/2.66 4.96/2.66 4.96/2.66 0}> 4.96/2.66 4.96/2.66 Fresh variables: 4.96/2.66 4.96/2.66 Undef variables: 4.96/2.66 4.96/2.66 Abstraction variables: 4.96/2.66 4.96/2.66 Exit nodes: 4.96/2.66 4.96/2.66 Accepting locations: 4.96/2.66 4.96/2.66 Asserts: 4.96/2.66 4.96/2.66 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 4.96/2.66 4.96/2.66 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 4.96/2.66 4.96/2.66 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 4.96/2.66 4.96/2.66 Init Location: 0 4.96/2.66 Transitions: 4.96/2.66 0}> 4.96/2.66 ¿functionCall(__VERIFIER_nondet_int)}> 4.96/2.66 varCall_1}> 4.96/2.66 4.96/2.66 0)> 4.96/2.66 0))> 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 (main_i - 1)}> 4.96/2.66 4.96/2.66 10)> 4.96/2.66 10))> 4.96/2.66 (main_i + 1)}> 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 (main_i - 1)}> 4.96/2.66 4.96/2.66 4.96/2.66 0}> 4.96/2.66 4.96/2.66 Fresh variables: 4.96/2.66 4.96/2.66 Undef variables: 4.96/2.66 4.96/2.66 Abstraction variables: 4.96/2.66 4.96/2.66 Exit nodes: 4.96/2.66 16, 4.96/2.66 Accepting locations: 4.96/2.66 4.96/2.66 Asserts: 4.96/2.66 4.96/2.66 + + 4.96/2.66 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 4.96/2.66 4.96/2.66 4.96/2.66 Function Return and Parameters Information [2 functions]: 4.96/2.66 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 4.96/2.66 __VERIFIER_nondet_int__func_return_ [function result] : int 4.96/2.66 function name: main [1 return + 0 parameters] demangled: main 4.96/2.66 main__func_return_ [function result] : int 4.96/2.66 4.96/2.66 4.96/2.66 AST Ident Scanner Information [3 idents]: 4.96/2.66 __VERIFIER_nondet_int | function | [integer, ()] | | 4.96/2.66 main | function | [integer, ()] | 4.96/2.66 i | local variable | integer | | 4.96/2.66 4.96/2.66 Main function: main 4.96/2.66 Preprocessed LLVMGraph 4.96/2.66 Init Location: 0 4.96/2.66 Transitions: 4.96/2.66 4.96/2.66 0) /\ (main_i < 50) /\ (main_i < 20) /\ ((main_i - 1) > 10) /\ not((30 <= ((main_i - 1) + 1))), par{main_i -> ((main_i - 1) + 1)}> 4.96/2.66 0) /\ (main_i < 50) /\ (main_i < 20) /\ not(((main_i - 1) > 10)) /\ not((30 <= (main_i - 1))), par{main_i -> (main_i - 1)}> 4.96/2.66 0) /\ (main_i < 50) /\ not((main_i < 20)) /\ (main_i > 10) /\ (30 <= (main_i + 1)) /\ ((main_i + 1) <= 40), par{main_i -> ((main_i + 1) - 1)}> 4.96/2.66 0) /\ (main_i < 50) /\ not((main_i < 20)) /\ (main_i > 10) /\ (30 <= (main_i + 1)) /\ not(((main_i + 1) <= 40)), par{main_i -> (main_i + 1)}> 4.96/2.66 0) /\ (main_i < 50) /\ not((main_i < 20)) /\ (main_i > 10) /\ not((30 <= (main_i + 1))), par{main_i -> (main_i + 1)}> 4.96/2.66 0) /\ not((main_i < 50))> 4.96/2.66 0))> 4.96/2.66 4.96/2.66 Fresh variables: 4.96/2.66 undef2, 4.96/2.66 4.96/2.66 Undef variables: 4.96/2.66 undef2, 4.96/2.66 4.96/2.66 Abstraction variables: 4.96/2.66 4.96/2.66 Exit nodes: 4.96/2.66 16, 4.96/2.66 Accepting locations: 4.96/2.66 4.96/2.66 Asserts: 4.96/2.66 4.96/2.66 ************************************************************* 4.96/2.66 ******************************************************************************************* 4.96/2.66 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 4.96/2.66 ******************************************************************************************* 4.96/2.66 4.96/2.66 Init Location: 0 4.96/2.66 Graph 0: 4.96/2.66 Transitions: 4.96/2.66 Variables: 4.96/2.66 4.96/2.66 Graph 1: 4.96/2.66 Transitions: 4.96/2.66 4.96/2.66 -1 + main_i, rest remain the same}> 4.96/2.66 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 Variables: 4.96/2.66 main_i 4.96/2.66 4.96/2.66 Graph 2: 4.96/2.66 Transitions: 4.96/2.66 Variables: 4.96/2.66 4.96/2.66 Precedence: 4.96/2.66 Graph 0 4.96/2.66 4.96/2.66 Graph 1 4.96/2.66 4.96/2.66 4.96/2.66 Graph 2 4.96/2.66 4.96/2.66 4.96/2.66 4.96/2.66 Map Locations to Subgraph: 4.96/2.66 ( 0 , 0 ) 4.96/2.66 ( 2 , 1 ) 4.96/2.66 ( 16 , 2 ) 4.96/2.66 4.96/2.66 ******************************************************************************************* 4.96/2.66 ******************************** CHECKING ASSERTIONS ******************************** 4.96/2.66 ******************************************************************************************* 4.96/2.66 4.96/2.66 Proving termination of subgraph 0 4.96/2.66 Proving termination of subgraph 1 4.96/2.66 Checking unfeasibility... 4.96/2.66 Time used: 0.00704 4.96/2.66 4.96/2.66 Checking conditional termination of SCC {l2}... 4.96/2.66 4.96/2.66 LOG: CALL solveLinear 4.96/2.66 4.96/2.66 LOG: RETURN solveLinear - Elapsed time: 0.001227s 4.96/2.66 4.96/2.66 LOG: CALL solveLinear 4.96/2.66 4.96/2.66 LOG: RETURN solveLinear - Elapsed time: 0.025546s 4.96/2.66 Piecewise ranking function: min(-12 + 12*main_i,131 - main_i) 4.96/2.66 New Graphs: 4.96/2.66 Transitions: 4.96/2.66 4.96/2.66 4.96/2.66 Variables: 4.96/2.66 main_i 4.96/2.66 > No variable changes in termination graph. 4.96/2.66 Checking conditional unfeasibility... 4.96/2.66 Calling Safety with literal 20 <= main_i and entry 4.96/2.66 4.96/2.66 LOG: CALL check - Post:20 <= main_i - Process 1 4.96/2.66 * Exit transition: 4.96/2.66 * Postcondition : 20 <= main_i 4.96/2.66 Quasi-invariants: 4.96/2.66 Location 2: 20 <= main_i ; 4.96/2.66 4.96/2.66 LOG: CALL check - Post:20 <= main_i - Process 2 4.96/2.66 * Exit transition: 4.96/2.66 * Postcondition : 20 <= main_i 4.96/2.66 4.96/2.66 LOG: CALL solveLinear 4.96/2.66 4.96/2.66 LOG: RETURN solveLinear - Elapsed time: 0.000411s 4.96/2.66 > Postcondition is not implied! 4.96/2.66 4.96/2.66 LOG: RETURN check - Elapsed time: 0.000486s 4.96/2.66 4.96/2.66 LOG: NarrowEntry size 1 4.96/2.66 Narrowing transition: 4.96/2.66 4.96/2.66 4.96/2.66 LOG: Narrow transition size 1 4.96/2.66 Narrowing transition: 4.96/2.66 -1 + main_i, rest remain the same}> 4.96/2.66 4.96/2.66 LOG: Narrow transition size 1 4.96/2.66 It's unfeasible. Removing transition: 4.96/2.66 4.96/2.66 It's unfeasible. Removing transition: 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 It's unfeasible. Removing transition: 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 ENTRIES: 4.96/2.66 4.96/2.66 END ENTRIES: 4.96/2.66 GRAPH: 4.96/2.66 4.96/2.66 -1 + main_i, rest remain the same}> 4.96/2.66 END GRAPH: 4.96/2.66 EXIT: 4.96/2.66 POST: 20 <= main_i 4.96/2.66 4.96/2.66 4.96/2.66 LOG: Try proving POST 4.96/2.66 [38346 : 38348] 4.96/2.66 [38346 : 38349] 4.96/2.66 [38346 : 38350] 4.96/2.66 4.96/2.66 LOG: Postcondition is not implied - no solution 4.96/2.66 > Postcondition is not implied! 4.96/2.66 4.96/2.66 LOG: RETURN check - Elapsed time: 1.054108s 4.96/2.66 Calling Safety with literal main_i <= 11 and entry 4.96/2.66 4.96/2.66 LOG: CALL check - Post:main_i <= 11 - Process 3 4.96/2.66 * Exit transition: 4.96/2.66 * Postcondition : main_i <= 11 4.96/2.66 Quasi-invariants: 4.96/2.66 Location 2: main_i <= 11 ; 4.96/2.66 4.96/2.66 LOG: CALL check - Post:main_i <= 11 - Process 4 4.96/2.66 * Exit transition: 4.96/2.66 * Postcondition : main_i <= 11 4.96/2.66 4.96/2.66 LOG: CALL solveLinear 4.96/2.66 4.96/2.66 LOG: RETURN solveLinear - Elapsed time: 0.000416s 4.96/2.66 > Postcondition is not implied! 4.96/2.66 4.96/2.66 LOG: RETURN check - Elapsed time: 0.000488s 4.96/2.66 4.96/2.66 LOG: NarrowEntry size 1 4.96/2.66 Narrowing transition: 4.96/2.66 4.96/2.66 4.96/2.66 LOG: Narrow transition size 1 4.96/2.66 It's unfeasible. Removing transition: 4.96/2.66 -1 + main_i, rest remain the same}> 4.96/2.66 Narrowing transition: 4.96/2.66 4.96/2.66 4.96/2.66 LOG: Narrow transition size 1 4.96/2.66 Narrowing transition: 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 4.96/2.66 LOG: Narrow transition size 1 4.96/2.66 Narrowing transition: 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 4.96/2.66 LOG: Narrow transition size 1 4.96/2.66 ENTRIES: 4.96/2.66 4.96/2.66 END ENTRIES: 4.96/2.66 GRAPH: 4.96/2.66 4.96/2.66 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 1 + main_i, rest remain the same}> 4.96/2.66 END GRAPH: 4.96/2.66 EXIT: 4.96/2.66 POST: main_i <= 11 4.96/2.66 4.96/2.66 4.96/2.66 LOG: Try proving POST 4.96/2.66 [38346 : 38351] 4.96/2.66 [38346 : 38352] 4.96/2.66 [38346 : 38353] 4.96/2.66 4.96/2.66 LOG: Postcondition is not implied - no solution 4.96/2.66 > Postcondition is not implied! 4.96/2.66 4.96/2.66 LOG: RETURN check - Elapsed time: 1.362904s 4.96/2.66 4.96/2.66 [38346 : 38354] 4.96/2.66 [38346 : 38358] 4.96/2.66 Successful child: 38354 4.96/2.66 4.96/2.66 Program does NOT terminate 4.96/2.66 EOF