5.26/4.24 NO 5.26/4.24 5.26/4.24 Solver Timeout: 4 5.26/4.24 Global Timeout: 300 5.26/4.24 Maximum number of concurrent processes: 900 5.26/4.24 ******************************************************************************************* 5.26/4.24 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 5.26/4.24 ******************************************************************************************* 5.26/4.24 5.26/4.24 5.26/4.24 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 5.26/4.24 5.26/4.24 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 5.26/4.24 + + 5.26/4.24 Init Location: 0 5.26/4.24 Transitions: 5.26/4.24 0, main_a -> ¿functionCall(__VERIFIER_nondet_int), main_b -> ¿functionCall(__VERIFIER_nondet_int)}> 5.26/4.24 5.26/4.24 0))> 5.26/4.24 0)> 5.26/4.24 ¿functionCall(__VERIFIER_nondet_int), main_b -> ((main_a - 1) - main_r), main_a -> ((main_a - 1) - main_r)}> 5.26/4.24 5.26/4.24 0}> 5.26/4.24 5.26/4.24 Fresh variables: 5.26/4.24 5.26/4.24 Undef variables: 5.26/4.24 5.26/4.24 Abstraction variables: 5.26/4.24 5.26/4.24 Exit nodes: 5.26/4.24 5.26/4.24 Accepting locations: 5.26/4.24 5.26/4.24 Asserts: 5.26/4.24 5.26/4.24 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 5.26/4.24 5.26/4.24 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 5.26/4.24 5.26/4.24 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 5.26/4.24 5.26/4.24 Init Location: 0 5.26/4.24 Transitions: 5.26/4.24 0}> 5.26/4.24 ¿functionCall(__VERIFIER_nondet_int)}> 5.26/4.24 varCall_1}> 5.26/4.24 ¿functionCall(__VERIFIER_nondet_int)}> 5.26/4.24 varCall_2}> 5.26/4.24 5.26/4.24 0)> 5.26/4.24 0))> 5.26/4.24 ¿functionCall(__VERIFIER_nondet_int)}> 5.26/4.24 varCall_3, main_b -> ((main_a - 1) - main_r), main_a -> ((main_a - 1) - main_r)}> 5.26/4.24 5.26/4.24 0}> 5.26/4.24 5.26/4.24 Fresh variables: 5.26/4.24 5.26/4.24 Undef variables: 5.26/4.24 5.26/4.24 Abstraction variables: 5.26/4.24 5.26/4.24 Exit nodes: 5.26/4.24 6, 5.26/4.24 Accepting locations: 5.26/4.24 5.26/4.24 Asserts: 5.26/4.24 5.26/4.24 + + 5.26/4.24 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 5.26/4.24 5.26/4.24 5.26/4.24 Function Return and Parameters Information [2 functions]: 5.26/4.24 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 5.26/4.24 __VERIFIER_nondet_int__func_return_ [function result] : int 5.26/4.24 function name: main [1 return + 0 parameters] demangled: main 5.26/4.24 main__func_return_ [function result] : int 5.26/4.24 5.26/4.24 5.26/4.24 AST Ident Scanner Information [5 idents]: 5.26/4.24 __VERIFIER_nondet_int | function | [integer, ()] | | 5.26/4.24 main | function | [integer, ()] | 5.26/4.24 a | local variable | integer | | 5.26/4.24 b | local variable | integer | | 5.26/4.24 r | local variable | integer | | 5.26/4.24 5.26/4.24 Main function: main 5.26/4.24 Preprocessed LLVMGraph 5.26/4.24 Init Location: 0 5.26/4.24 Transitions: 5.26/4.24 5.26/4.24 0), par{main_a -> ((main_a - 1) - undef6), main_b -> ((main_a - 1) - undef6)}> 5.26/4.24 0))> 5.26/4.24 5.26/4.24 Fresh variables: 5.26/4.24 undef4, undef5, undef6, 5.26/4.24 5.26/4.24 Undef variables: 5.26/4.24 undef4, undef5, undef6, 5.26/4.24 5.26/4.24 Abstraction variables: 5.26/4.24 5.26/4.24 Exit nodes: 5.26/4.24 6, 5.26/4.24 Accepting locations: 5.26/4.24 5.26/4.24 Asserts: 5.26/4.24 5.26/4.24 ************************************************************* 5.26/4.24 ******************************************************************************************* 5.26/4.24 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 5.26/4.24 ******************************************************************************************* 5.26/4.24 5.26/4.24 Init Location: 0 5.26/4.24 Graph 0: 5.26/4.24 Transitions: 5.26/4.24 Variables: 5.26/4.24 5.26/4.24 Graph 1: 5.26/4.24 Transitions: 5.26/4.24 -1 + main_a - undef6, main_b -> -1 + main_a - undef6, rest remain the same}> 5.26/4.24 Variables: 5.26/4.24 main_a, main_b 5.26/4.24 5.26/4.24 Graph 2: 5.26/4.24 Transitions: 5.26/4.24 Variables: 5.26/4.24 5.26/4.24 Precedence: 5.26/4.24 Graph 0 5.26/4.24 5.26/4.24 Graph 1 5.26/4.24 5.26/4.24 5.26/4.24 Graph 2 5.26/4.24 5.26/4.24 5.26/4.24 Map Locations to Subgraph: 5.26/4.24 ( 0 , 0 ) 5.26/4.24 ( 2 , 1 ) 5.26/4.24 ( 6 , 2 ) 5.26/4.24 5.26/4.24 ******************************************************************************************* 5.26/4.24 ******************************** CHECKING ASSERTIONS ******************************** 5.26/4.24 ******************************************************************************************* 5.26/4.24 5.26/4.24 Proving termination of subgraph 0 5.26/4.24 Proving termination of subgraph 1 5.26/4.24 Checking unfeasibility... 5.26/4.24 Time used: 0.001904 5.26/4.24 5.26/4.24 Checking conditional termination of SCC {l2}... 5.26/4.24 5.26/4.24 LOG: CALL solveLinear 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear - Elapsed time: 0.000539s 5.26/4.24 5.26/4.24 LOG: CALL solveLinear 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear - Elapsed time: 0.001588s 5.26/4.24 [64058 : 64060] 5.26/4.24 [64058 : 64061] 5.26/4.24 Successful child: 64060 5.26/4.24 [ Invariant Graph ] 5.26/4.24 Strengthening and disabling transitions... 5.26/4.24 5.26/4.24 LOG: CALL solverLinear in Graph for feasibility 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear in Graph for feasibility 5.26/4.24 It's unfeasible. Removing transition: 5.26/4.24 -1 + main_a - undef6, main_b -> -1 + main_a - undef6, rest remain the same}> 5.26/4.24 [ Termination Graph ] 5.26/4.24 Strengthening and disabling transitions... 5.26/4.24 5.26/4.24 LOG: CALL solverLinear in Graph for feasibility 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear in Graph for feasibility 5.26/4.24 It's unfeasible. Removing transition: 5.26/4.24 -1 + main_a - undef6, main_b -> -1 + main_a - undef6, rest remain the same}> 5.26/4.24 New Graphs: 5.26/4.24 5.26/4.24 LOG: CALL check - Post:main_b <= 0 - Process 1 5.26/4.24 * Exit transition: 5.26/4.24 * Postcondition : main_b <= 0 5.26/4.24 5.26/4.24 LOG: CALL solveLinear 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear - Elapsed time: 0.000449s 5.26/4.24 > Postcondition is not implied! 5.26/4.24 5.26/4.24 LOG: RETURN check - Elapsed time: 0.000539s 5.26/4.24 INVARIANTS: 5.26/4.24 2: 5.26/4.24 Quasi-INVARIANTS to narrow Graph: 5.26/4.24 2: main_b <= 0 , 5.26/4.24 Narrowing transition: 5.26/4.24 -1 + main_a - undef6, main_b -> -1 + main_a - undef6, rest remain the same}> 5.26/4.24 5.26/4.24 LOG: Narrow transition size 1 5.26/4.24 invGraph after Narrowing: 5.26/4.24 Transitions: 5.26/4.24 -1 + main_a - undef6, main_b -> -1 + main_a - undef6, rest remain the same}> 5.26/4.24 Variables: 5.26/4.24 main_a, main_b 5.26/4.24 Checking conditional termination of SCC {l2}... 5.26/4.24 5.26/4.24 LOG: CALL solveLinear 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear - Elapsed time: 0.000521s 5.26/4.24 5.26/4.24 LOG: CALL solveLinear 5.26/4.24 5.26/4.24 LOG: RETURN solveLinear - Elapsed time: 0.001713s 5.26/4.24 [64058 : 64065] 5.26/4.24 [64058 : 64066] 5.26/4.24 Solving with 1 template(s). 5.26/4.24 5.26/4.24 LOG: CALL solveNonLinearGetFirstSolution 5.26/4.24 5.26/4.24 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.006175s 5.26/4.24 Time used: 0.005916 5.26/4.24 5.26/4.24 [64058 : 64070] 5.26/4.24 [64058 : 64074] 5.26/4.24 Successful child: 64074 5.26/4.24 5.26/4.24 Program does NOT terminate 5.26/4.24 EOF