12.68/4.27 YES 12.68/4.27 12.68/4.27 Solver Timeout: 4 12.68/4.27 Global Timeout: 300 12.68/4.27 Maximum number of concurrent processes: 900 12.68/4.27 ******************************************************************************************* 12.68/4.27 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 12.68/4.27 ******************************************************************************************* 12.68/4.27 12.68/4.27 12.68/4.27 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 12.68/4.27 12.68/4.27 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 12.68/4.27 + + 12.68/4.27 Init Location: 0 12.68/4.27 Transitions: 12.68/4.27 0, main_x -> ¿functionCall(__VERIFIER_nondet_int), main_y -> ¿functionCall(__VERIFIER_nondet_int), main_res -> 0}> 12.68/4.27 12.68/4.27 0))> 12.68/4.27 0)> 12.68/4.27 main_x, main_x -> (main_y - 1), main_y -> main_z, main_res -> (main_res + 1)}> 12.68/4.27 12.68/4.27 (main_res + main_x), main__func_return_ -> 0}> 12.68/4.27 12.68/4.27 Fresh variables: 12.68/4.27 12.68/4.27 Undef variables: 12.68/4.27 12.68/4.27 Abstraction variables: 12.68/4.27 12.68/4.27 Exit nodes: 12.68/4.27 12.68/4.27 Accepting locations: 12.68/4.27 12.68/4.27 Asserts: 12.68/4.27 12.68/4.27 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 12.68/4.27 12.68/4.27 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 12.68/4.27 12.68/4.27 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 12.68/4.27 12.68/4.27 Init Location: 0 12.68/4.27 Transitions: 12.68/4.27 0}> 12.68/4.27 ¿functionCall(__VERIFIER_nondet_int)}> 12.68/4.27 varCall_1}> 12.68/4.27 ¿functionCall(__VERIFIER_nondet_int)}> 12.68/4.27 varCall_2, main_res -> 0}> 12.68/4.27 12.68/4.27 0)> 12.68/4.27 0))> 12.68/4.27 main_x, main_x -> (main_y - 1), main_y -> main_z, main_res -> (main_res + 1)}> 12.68/4.27 12.68/4.27 (main_res + main_x), main__func_return_ -> 0}> 12.68/4.27 12.68/4.27 Fresh variables: 12.68/4.27 12.68/4.27 Undef variables: 12.68/4.27 12.68/4.27 Abstraction variables: 12.68/4.27 12.68/4.27 Exit nodes: 12.68/4.27 6, 12.68/4.27 Accepting locations: 12.68/4.27 12.68/4.27 Asserts: 12.68/4.27 12.68/4.27 + + 12.68/4.27 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 12.68/4.27 12.68/4.27 12.68/4.27 Function Return and Parameters Information [2 functions]: 12.68/4.27 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 12.68/4.27 __VERIFIER_nondet_int__func_return_ [function result] : int 12.68/4.27 function name: main [1 return + 0 parameters] demangled: main 12.68/4.27 main__func_return_ [function result] : int 12.68/4.27 12.68/4.27 12.68/4.27 AST Ident Scanner Information [6 idents]: 12.68/4.27 __VERIFIER_nondet_int | function | [integer, ()] | | 12.68/4.27 main | function | [integer, ()] | 12.68/4.27 x | local variable | integer | | 12.68/4.27 y | local variable | integer | | 12.68/4.27 z | local variable | integer | | 12.68/4.27 res | local variable | integer | | 12.68/4.27 12.68/4.27 Main function: main 12.68/4.27 Preprocessed LLVMGraph 12.68/4.27 Init Location: 0 12.68/4.27 Transitions: 12.68/4.27 12.68/4.27 0), par{main_x -> (main_y - 1), main_y -> main_x, main_res -> (main_res + 1)}> 12.68/4.27 0)), par{main_res -> (main_res + main_x)}> 12.68/4.27 12.68/4.27 Fresh variables: 12.68/4.27 undef3, undef4, 12.68/4.27 12.68/4.27 Undef variables: 12.68/4.27 undef3, undef4, 12.68/4.27 12.68/4.27 Abstraction variables: 12.68/4.27 12.68/4.27 Exit nodes: 12.68/4.27 6, 12.68/4.27 Accepting locations: 12.68/4.27 12.68/4.27 Asserts: 12.68/4.27 12.68/4.27 ************************************************************* 12.68/4.27 ******************************************************************************************* 12.68/4.27 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 12.68/4.27 ******************************************************************************************* 12.68/4.27 12.68/4.27 Init Location: 0 12.68/4.27 Graph 0: 12.68/4.27 Transitions: 12.68/4.27 Variables: 12.68/4.27 12.68/4.27 Graph 1: 12.68/4.27 Transitions: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 Variables: 12.68/4.27 main_x, main_y, main_res 12.68/4.27 12.68/4.27 Graph 2: 12.68/4.27 Transitions: 12.68/4.27 Variables: 12.68/4.27 12.68/4.27 Precedence: 12.68/4.27 Graph 0 12.68/4.27 12.68/4.27 Graph 1 12.68/4.27 12.68/4.27 12.68/4.27 Graph 2 12.68/4.27 main_x + main_res, rest remain the same}> 12.68/4.27 12.68/4.27 Map Locations to Subgraph: 12.68/4.27 ( 0 , 0 ) 12.68/4.27 ( 2 , 1 ) 12.68/4.27 ( 6 , 2 ) 12.68/4.27 12.68/4.27 ******************************************************************************************* 12.68/4.27 ******************************** CHECKING ASSERTIONS ******************************** 12.68/4.27 ******************************************************************************************* 12.68/4.27 12.68/4.27 Proving termination of subgraph 0 12.68/4.27 Proving termination of subgraph 1 12.68/4.27 Checking unfeasibility... 12.68/4.27 Time used: 0.002308 12.68/4.27 12.68/4.27 Checking conditional termination of SCC {l2}... 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.000590s 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.001778s 12.68/4.27 [15133 : 15135] 12.68/4.27 [15133 : 15136] 12.68/4.27 Successful child: 15135 12.68/4.27 [ Invariant Graph ] 12.68/4.27 Strengthening and disabling transitions... 12.68/4.27 12.68/4.27 LOG: CALL solverLinear in Graph for feasibility 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear in Graph for feasibility 12.68/4.27 It's unfeasible. Removing transition: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 [ Termination Graph ] 12.68/4.27 Strengthening and disabling transitions... 12.68/4.27 12.68/4.27 LOG: CALL solverLinear in Graph for feasibility 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear in Graph for feasibility 12.68/4.27 It's unfeasible. Removing transition: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 New Graphs: 12.68/4.27 12.68/4.27 LOG: CALL check - Post:main_y <= 0 - Process 1 12.68/4.27 * Exit transition: 12.68/4.27 * Postcondition : main_y <= 0 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.000512s 12.68/4.27 > Postcondition is not implied! 12.68/4.27 12.68/4.27 LOG: RETURN check - Elapsed time: 0.000613s 12.68/4.27 INVARIANTS: 12.68/4.27 2: 12.68/4.27 Quasi-INVARIANTS to narrow Graph: 12.68/4.27 2: main_y <= 0 , 12.68/4.27 Narrowing transition: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 12.68/4.27 LOG: Narrow transition size 1 12.68/4.27 invGraph after Narrowing: 12.68/4.27 Transitions: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 Variables: 12.68/4.27 main_x, main_y, main_res 12.68/4.27 Checking conditional termination of SCC {l2}... 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.000542s 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.001882s 12.68/4.27 [15133 : 15140] 12.68/4.27 [15133 : 15141] 12.68/4.27 Successful child: 15140 12.68/4.27 [ Invariant Graph ] 12.68/4.27 Strengthening and disabling transitions... 12.68/4.27 12.68/4.27 LOG: CALL solverLinear in Graph for feasibility 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear in Graph for feasibility 12.68/4.27 Strengthening transition (result): 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 [ Termination Graph ] 12.68/4.27 Strengthening and disabling transitions... 12.68/4.27 12.68/4.27 LOG: CALL solverLinear in Graph for feasibility 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear in Graph for feasibility 12.68/4.27 Strengthening transition (result): 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 Ranking function: 1 - 2*main_x - main_y - 2*main_res 12.68/4.27 New Graphs: 12.68/4.27 12.68/4.27 LOG: CALL check - Post:main_x + main_y + main_res <= 1 - Process 2 12.68/4.27 * Exit transition: 12.68/4.27 * Postcondition : main_x + main_y + main_res <= 1 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.000570s 12.68/4.27 > Postcondition is not implied! 12.68/4.27 12.68/4.27 LOG: RETURN check - Elapsed time: 0.000700s 12.68/4.27 INVARIANTS: 12.68/4.27 2: 0 <= main_res , 12.68/4.27 Quasi-INVARIANTS to narrow Graph: 12.68/4.27 2: main_x + main_y + main_res <= 1 , 12.68/4.27 Narrowing transition: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 12.68/4.27 LOG: Narrow transition size 1 12.68/4.27 invGraph after Narrowing: 12.68/4.27 Transitions: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 Variables: 12.68/4.27 main_x, main_y, main_res 12.68/4.27 Checking conditional termination of SCC {l2}... 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.000734s 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.002715s 12.68/4.27 [15133 : 15145] 12.68/4.27 [15133 : 15146] 12.68/4.27 Successful child: 15145 12.68/4.27 [ Invariant Graph ] 12.68/4.27 Strengthening and disabling transitions... 12.68/4.27 12.68/4.27 LOG: CALL solverLinear in Graph for feasibility 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear in Graph for feasibility 12.68/4.27 Strengthening transition (result): 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 [ Termination Graph ] 12.68/4.27 Strengthening and disabling transitions... 12.68/4.27 12.68/4.27 LOG: CALL solverLinear in Graph for feasibility 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear in Graph for feasibility 12.68/4.27 Strengthening transition (result): 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 Ranking function: 3*main_x + 3*main_y + 2*main_res 12.68/4.27 New Graphs: 12.68/4.27 12.68/4.27 LOG: CALL check - Post:0 <= 3 + main_x - Process 3 12.68/4.27 * Exit transition: 12.68/4.27 * Postcondition : 0 <= 3 + main_x 12.68/4.27 12.68/4.27 LOG: CALL solveLinear 12.68/4.27 12.68/4.27 LOG: RETURN solveLinear - Elapsed time: 0.000514s 12.68/4.27 > Postcondition is not implied! 12.68/4.27 12.68/4.27 LOG: RETURN check - Elapsed time: 0.000633s 12.68/4.27 INVARIANTS: 12.68/4.27 2: 2 <= main_x + main_y + main_res , 12.68/4.27 Quasi-INVARIANTS to narrow Graph: 12.68/4.27 2: 0 <= 3 + main_x , 12.68/4.27 It's unfeasible. Removing transition: 12.68/4.27 -1 + main_y, main_y -> main_x, main_res -> 1 + main_res, rest remain the same}> 12.68/4.27 invGraph after Narrowing: 12.68/4.27 Transitions: 12.68/4.27 Variables: 12.68/4.27 main_x, main_y, main_res 12.68/4.27 Analyzing SCC {l2}... 12.68/4.27 No cycles found. 12.68/4.27 12.68/4.27 Proving termination of subgraph 2 12.68/4.27 Analyzing SCC {l6}... 12.68/4.27 No cycles found. 12.68/4.27 12.68/4.27 Program Terminates 12.68/4.27 EOF