3.55/1.26 YES 3.55/1.26 3.55/1.27 Solver Timeout: 4 3.55/1.27 Global Timeout: 300 3.55/1.27 Maximum number of concurrent processes: 900 3.55/1.27 ******************************************************************************************* 3.55/1.27 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 3.55/1.27 ******************************************************************************************* 3.55/1.27 3.55/1.27 3.55/1.27 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 3.55/1.27 3.55/1.27 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 3.55/1.27 + + 3.55/1.27 Init Location: 0 3.55/1.27 Transitions: 3.55/1.27 0, main_x -> ¿functionCall(__VERIFIER_nondet_int), main_y -> ¿functionCall(__VERIFIER_nondet_int)}> 3.55/1.27 3.55/1.27 = 0))> 3.55/1.27 = 0)> 3.55/1.27 (main_x + main_y), main_y -> ((~(2) * main_y) - 1)}> 3.55/1.27 3.55/1.27 0}> 3.55/1.27 3.55/1.27 Fresh variables: 3.55/1.27 3.55/1.27 Undef variables: 3.55/1.27 3.55/1.27 Abstraction variables: 3.55/1.27 3.55/1.27 Exit nodes: 3.55/1.27 3.55/1.27 Accepting locations: 3.55/1.27 3.55/1.27 Asserts: 3.55/1.27 3.55/1.27 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 3.55/1.27 3.55/1.27 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 3.55/1.27 3.55/1.27 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 3.55/1.27 3.55/1.27 Init Location: 0 3.55/1.27 Transitions: 3.55/1.27 0}> 3.55/1.27 ¿functionCall(__VERIFIER_nondet_int)}> 3.55/1.27 varCall_1}> 3.55/1.27 ¿functionCall(__VERIFIER_nondet_int)}> 3.55/1.27 varCall_2}> 3.55/1.27 3.55/1.27 = 0)> 3.55/1.27 = 0))> 3.55/1.27 (main_x + main_y), main_y -> ((~(2) * main_y) - 1)}> 3.55/1.27 3.55/1.27 0}> 3.55/1.27 3.55/1.27 Fresh variables: 3.55/1.27 3.55/1.27 Undef variables: 3.55/1.27 3.55/1.27 Abstraction variables: 3.55/1.27 3.55/1.27 Exit nodes: 3.55/1.27 6, 3.55/1.27 Accepting locations: 3.55/1.27 3.55/1.27 Asserts: 3.55/1.27 3.55/1.27 + + 3.55/1.27 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 3.55/1.27 3.55/1.27 3.55/1.27 Function Return and Parameters Information [2 functions]: 3.55/1.27 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 3.55/1.27 __VERIFIER_nondet_int__func_return_ [function result] : int 3.55/1.27 function name: main [1 return + 0 parameters] demangled: main 3.55/1.27 main__func_return_ [function result] : int 3.55/1.27 3.55/1.27 3.55/1.27 AST Ident Scanner Information [4 idents]: 3.55/1.27 __VERIFIER_nondet_int | function | [integer, ()] | | 3.55/1.27 main | function | [integer, ()] | 3.55/1.27 x | local variable | integer | | 3.55/1.27 y | local variable | integer | | 3.55/1.27 3.55/1.27 Main function: main 3.55/1.27 Preprocessed LLVMGraph 3.55/1.27 Init Location: 0 3.55/1.27 Transitions: 3.55/1.27 3.55/1.27 = 0), par{main_x -> (main_x + main_y), main_y -> ((~(2) * main_y) - 1)}> 3.55/1.27 = 0))> 3.55/1.27 3.55/1.27 Fresh variables: 3.55/1.27 undef3, undef4, 3.55/1.27 3.55/1.27 Undef variables: 3.55/1.27 undef3, undef4, 3.55/1.27 3.55/1.27 Abstraction variables: 3.55/1.27 3.55/1.27 Exit nodes: 3.55/1.27 6, 3.55/1.27 Accepting locations: 3.55/1.27 3.55/1.27 Asserts: 3.55/1.27 3.55/1.27 ************************************************************* 3.55/1.27 ******************************************************************************************* 3.55/1.27 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 3.55/1.27 ******************************************************************************************* 3.55/1.27 3.55/1.27 Init Location: 0 3.55/1.27 Graph 0: 3.55/1.27 Transitions: 3.55/1.27 Variables: 3.55/1.27 3.55/1.27 Graph 1: 3.55/1.27 Transitions: 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 Variables: 3.55/1.27 main_x, main_y 3.55/1.27 3.55/1.27 Graph 2: 3.55/1.27 Transitions: 3.55/1.27 Variables: 3.55/1.27 3.55/1.27 Precedence: 3.55/1.27 Graph 0 3.55/1.27 3.55/1.27 Graph 1 3.55/1.27 3.55/1.27 3.55/1.27 Graph 2 3.55/1.27 3.55/1.27 3.55/1.27 Map Locations to Subgraph: 3.55/1.27 ( 0 , 0 ) 3.55/1.27 ( 2 , 1 ) 3.55/1.27 ( 6 , 2 ) 3.55/1.27 3.55/1.27 ******************************************************************************************* 3.55/1.27 ******************************** CHECKING ASSERTIONS ******************************** 3.55/1.27 ******************************************************************************************* 3.55/1.27 3.55/1.27 Proving termination of subgraph 0 3.55/1.27 Proving termination of subgraph 1 3.55/1.27 Checking unfeasibility... 3.55/1.27 Time used: 0.002225 3.55/1.27 3.55/1.27 Checking conditional termination of SCC {l2}... 3.55/1.27 3.55/1.27 LOG: CALL solveLinear 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear - Elapsed time: 0.000616s 3.55/1.27 3.55/1.27 LOG: CALL solveLinear 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear - Elapsed time: 0.001431s 3.55/1.27 [34960 : 34962] 3.55/1.27 [34960 : 34963] 3.55/1.27 Successful child: 34962 3.55/1.27 [ Invariant Graph ] 3.55/1.27 Strengthening and disabling transitions... 3.55/1.27 3.55/1.27 LOG: CALL solverLinear in Graph for feasibility 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear in Graph for feasibility 3.55/1.27 It's unfeasible. Removing transition: 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 [ Termination Graph ] 3.55/1.27 Strengthening and disabling transitions... 3.55/1.27 3.55/1.27 LOG: CALL solverLinear in Graph for feasibility 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear in Graph for feasibility 3.55/1.27 It's unfeasible. Removing transition: 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 New Graphs: 3.55/1.27 3.55/1.27 LOG: CALL check - Post:1 + main_x <= 0 - Process 1 3.55/1.27 * Exit transition: 3.55/1.27 * Postcondition : 1 + main_x <= 0 3.55/1.27 3.55/1.27 LOG: CALL solveLinear 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear - Elapsed time: 0.000483s 3.55/1.27 > Postcondition is not implied! 3.55/1.27 3.55/1.27 LOG: RETURN check - Elapsed time: 0.000574s 3.55/1.27 INVARIANTS: 3.55/1.27 2: 3.55/1.27 Quasi-INVARIANTS to narrow Graph: 3.55/1.27 2: 1 + main_x <= 0 , 3.55/1.27 Narrowing transition: 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 3.55/1.27 LOG: Narrow transition size 1 3.55/1.27 invGraph after Narrowing: 3.55/1.27 Transitions: 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 Variables: 3.55/1.27 main_x, main_y 3.55/1.27 Checking conditional termination of SCC {l2}... 3.55/1.27 3.55/1.27 LOG: CALL solveLinear 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear - Elapsed time: 0.000596s 3.55/1.27 3.55/1.27 LOG: CALL solveLinear 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear - Elapsed time: 0.001576s 3.55/1.27 [34960 : 34967] 3.55/1.27 [34960 : 34968] 3.55/1.27 Successful child: 34967 3.55/1.27 [ Invariant Graph ] 3.55/1.27 Strengthening and disabling transitions... 3.55/1.27 3.55/1.27 LOG: CALL solverLinear in Graph for feasibility 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear in Graph for feasibility 3.55/1.27 Strengthening transition (result): 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 [ Termination Graph ] 3.55/1.27 Strengthening and disabling transitions... 3.55/1.27 3.55/1.27 LOG: CALL solverLinear in Graph for feasibility 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear in Graph for feasibility 3.55/1.27 Strengthening transition (result): 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 Ranking function: 583 + 3*main_x + main_y 3.55/1.27 New Graphs: 3.55/1.27 3.55/1.27 LOG: CALL check - Post:0 <= 583 + 2*main_x + main_y - Process 2 3.55/1.27 * Exit transition: 3.55/1.27 * Postcondition : 0 <= 583 + 2*main_x + main_y 3.55/1.27 3.55/1.27 LOG: CALL solveLinear 3.55/1.27 3.55/1.27 LOG: RETURN solveLinear - Elapsed time: 0.000559s 3.55/1.27 > Postcondition is not implied! 3.55/1.27 3.55/1.27 LOG: RETURN check - Elapsed time: 0.000667s 3.55/1.27 INVARIANTS: 3.55/1.27 2: 3.55/1.27 Quasi-INVARIANTS to narrow Graph: 3.55/1.27 2: 0 <= 583 + 2*main_x + main_y , 3.55/1.27 It's unfeasible. Removing transition: 3.55/1.27 main_x + main_y, main_y -> -1 - 2*main_y, rest remain the same}> 3.55/1.27 invGraph after Narrowing: 3.55/1.27 Transitions: 3.55/1.27 Variables: 3.55/1.27 main_x, main_y 3.55/1.27 Analyzing SCC {l2}... 3.55/1.27 No cycles found. 3.55/1.27 3.55/1.27 Proving termination of subgraph 2 3.55/1.27 Analyzing SCC {l6}... 3.55/1.27 No cycles found. 3.55/1.27 3.55/1.27 Program Terminates 3.55/1.27 EOF