6.32/4.68 NO 6.32/4.68 6.32/4.68 Solver Timeout: 4 6.32/4.68 Global Timeout: 300 6.32/4.68 Maximum number of concurrent processes: 900 6.32/4.68 ******************************************************************************************* 6.32/4.68 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 6.32/4.68 ******************************************************************************************* 6.32/4.68 6.32/4.68 6.32/4.68 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 6.32/4.68 6.32/4.68 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 6.32/4.68 + + 6.32/4.68 Init Location: 0 6.32/4.68 Transitions: 6.32/4.68 0, main_y1 -> ¿functionCall(__VERIFIER_nondet_int), main_y2 -> ¿functionCall(__VERIFIER_nondet_int)}> 6.32/4.68 = 0))> 6.32/4.68 = 0)> 6.32/4.68 = 0)> 6.32/4.68 = 0))> 6.32/4.68 6.32/4.68 6.32/4.68 6.32/4.68 main_y2)> 6.32/4.68 main_y2))> 6.32/4.68 (main_y1 - main_y2)}> 6.32/4.68 6.32/4.68 (main_y2 - main_y1)}> 6.32/4.68 6.32/4.68 6.32/4.68 6.32/4.68 0}> 6.32/4.68 6.32/4.68 Fresh variables: 6.32/4.68 6.32/4.68 Undef variables: 6.32/4.68 6.32/4.68 Abstraction variables: 6.32/4.68 6.32/4.68 Exit nodes: 6.32/4.68 6.32/4.68 Accepting locations: 6.32/4.68 6.32/4.68 Asserts: 6.32/4.68 6.32/4.68 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 6.32/4.68 6.32/4.68 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 6.32/4.68 6.32/4.68 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 6.32/4.68 6.32/4.68 Init Location: 0 6.32/4.68 Transitions: 6.32/4.68 0}> 6.32/4.68 ¿functionCall(__VERIFIER_nondet_int)}> 6.32/4.68 varCall_1}> 6.32/4.68 ¿functionCall(__VERIFIER_nondet_int)}> 6.32/4.68 varCall_2}> 6.32/4.68 = 0)> 6.32/4.68 = 0))> 6.32/4.68 = 0)> 6.32/4.68 = 0))> 6.32/4.68 6.32/4.68 6.32/4.68 6.32/4.68 main_y2)> 6.32/4.68 main_y2))> 6.32/4.68 (main_y1 - main_y2)}> 6.32/4.68 6.32/4.68 (main_y2 - main_y1)}> 6.32/4.68 6.32/4.68 6.32/4.68 6.32/4.68 0}> 6.32/4.68 6.32/4.68 Fresh variables: 6.32/4.68 6.32/4.68 Undef variables: 6.32/4.68 6.32/4.68 Abstraction variables: 6.32/4.68 6.32/4.68 Exit nodes: 6.32/4.68 13, 6.32/4.68 Accepting locations: 6.32/4.68 6.32/4.68 Asserts: 6.32/4.68 6.32/4.68 + + 6.32/4.68 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 6.32/4.68 6.32/4.68 6.32/4.68 Function Return and Parameters Information [2 functions]: 6.32/4.68 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 6.32/4.68 __VERIFIER_nondet_int__func_return_ [function result] : int 6.32/4.68 function name: main [1 return + 0 parameters] demangled: main 6.32/4.68 main__func_return_ [function result] : int 6.32/4.68 6.32/4.68 6.32/4.68 AST Ident Scanner Information [4 idents]: 6.32/4.68 __VERIFIER_nondet_int | function | [integer, ()] | | 6.32/4.68 main | function | [integer, ()] | 6.32/4.68 y1 | local variable | integer | | 6.32/4.68 y2 | local variable | integer | | 6.32/4.68 6.32/4.68 Main function: main 6.32/4.68 Preprocessed LLVMGraph 6.32/4.68 Init Location: 0 6.32/4.68 Transitions: 6.32/4.68 = 0) /\ (undef4 >= 0)> 6.32/4.68 = 0) /\ not((undef4 >= 0))> 6.32/4.68 = 0))> 6.32/4.68 6.32/4.68 main_y2)), par{main_y2 -> (main_y2 - main_y1)}> 6.32/4.68 main_y2) /\ (main_y1 > main_y2), par{main_y1 -> (main_y1 - main_y2)}> 6.32/4.68 6.32/4.68 Fresh variables: 6.32/4.68 undef3, undef4, 6.32/4.68 6.32/4.68 Undef variables: 6.32/4.68 undef3, undef4, 6.32/4.68 6.32/4.68 Abstraction variables: 6.32/4.68 6.32/4.68 Exit nodes: 6.32/4.68 13, 6.32/4.68 Accepting locations: 6.32/4.68 6.32/4.68 Asserts: 6.32/4.68 6.32/4.68 ************************************************************* 6.32/4.68 ******************************************************************************************* 6.32/4.68 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 6.32/4.68 ******************************************************************************************* 6.32/4.68 6.32/4.68 Init Location: 0 6.32/4.68 Graph 0: 6.32/4.68 Transitions: 6.32/4.68 Variables: 6.32/4.68 6.32/4.68 Graph 1: 6.32/4.68 Transitions: 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 Variables: 6.32/4.68 main_y1, main_y2 6.32/4.68 6.32/4.68 Graph 2: 6.32/4.68 Transitions: 6.32/4.68 Variables: 6.32/4.68 6.32/4.68 Precedence: 6.32/4.68 Graph 0 6.32/4.68 6.32/4.68 Graph 1 6.32/4.68 6.32/4.68 6.32/4.68 Graph 2 6.32/4.68 6.32/4.68 6.32/4.68 6.32/4.68 6.32/4.68 Map Locations to Subgraph: 6.32/4.68 ( 0 , 0 ) 6.32/4.68 ( 4 , 1 ) 6.32/4.68 ( 13 , 2 ) 6.32/4.68 6.32/4.68 ******************************************************************************************* 6.32/4.68 ******************************** CHECKING ASSERTIONS ******************************** 6.32/4.68 ******************************************************************************************* 6.32/4.68 6.32/4.68 Proving termination of subgraph 0 6.32/4.68 Proving termination of subgraph 1 6.32/4.68 Checking unfeasibility... 6.32/4.68 Time used: 0.003733 6.32/4.68 6.32/4.68 Checking conditional termination of SCC {l4}... 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.000882s 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.003199s 6.32/4.68 [6899 : 6901] 6.32/4.68 [6899 : 6902] 6.32/4.68 Successful child: 6901 6.32/4.68 [ Invariant Graph ] 6.32/4.68 Strengthening and disabling transitions... 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 [ Termination Graph ] 6.32/4.68 Strengthening and disabling transitions... 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 Ranking function: main_y1 6.32/4.68 New Graphs: 6.32/4.68 Transitions: 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 Variables: 6.32/4.68 main_y1, main_y2 6.32/4.68 Checking conditional termination of SCC {l4}... 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.000571s 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.001853s 6.32/4.68 [6899 : 6906] 6.32/4.68 [6899 : 6907] 6.32/4.68 Successful child: 6906 6.32/4.68 [ Invariant Graph ] 6.32/4.68 Strengthening and disabling transitions... 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 [ Termination Graph ] 6.32/4.68 Strengthening and disabling transitions... 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 Ranking function: main_y2 6.32/4.68 New Graphs: 6.32/4.68 6.32/4.68 LOG: CALL check - Post:1 <= main_y2 - Process 1 6.32/4.68 * Exit transition: 6.32/4.68 * Postcondition : 1 <= main_y2 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.000641s 6.32/4.68 > Postcondition is not implied! 6.32/4.68 6.32/4.68 LOG: RETURN check - Elapsed time: 0.000751s 6.32/4.68 INVARIANTS: 6.32/4.68 4: 6.32/4.68 Quasi-INVARIANTS to narrow Graph: 6.32/4.68 4: 1 <= main_y2 , 6.32/4.68 6.32/4.68 LOG: CALL check - Post:1 <= main_y1 - Process 2 6.32/4.68 * Exit transition: 6.32/4.68 * Postcondition : 1 <= main_y1 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.000637s 6.32/4.68 > Postcondition is not implied! 6.32/4.68 6.32/4.68 LOG: RETURN check - Elapsed time: 0.000738s 6.32/4.68 INVARIANTS: 6.32/4.68 4: 6.32/4.68 Quasi-INVARIANTS to narrow Graph: 6.32/4.68 4: 1 <= main_y1 , 6.32/4.68 Narrowing transition: 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: Narrow transition size 2 6.32/4.68 Narrowing transition: 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: Narrow transition size 2 6.32/4.68 invGraph after Narrowing: 6.32/4.68 Transitions: 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 Variables: 6.32/4.68 main_y1, main_y2 6.32/4.68 Checking conditional termination of SCC {l4}... 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.001748s 6.32/4.68 Ranking function: 1 - main_y1 6.32/4.68 New Graphs: 6.32/4.68 Transitions: 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 Variables: 6.32/4.68 main_y1, main_y2 6.32/4.68 Checking conditional termination of SCC {l4}... 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.000988s 6.32/4.68 6.32/4.68 LOG: CALL solveLinear 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear - Elapsed time: 0.004019s 6.32/4.68 [6899 : 6911] 6.32/4.68 [6899 : 6912] 6.32/4.68 Successful child: 6911 6.32/4.68 [ Invariant Graph ] 6.32/4.68 Strengthening and disabling transitions... 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 Strengthening transition (result): 6.32/4.68 -main_y1 + main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.68 6.32/4.68 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.68 It's unfeasible. Removing transition: 6.32/4.68 main_y1 - main_y2, rest remain the same}> 6.32/4.68 6.32/4.68 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 It's unfeasible. Removing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 [ Termination Graph ] 6.32/4.69 Strengthening and disabling transitions... 6.32/4.69 > It's unfeasible. Removing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 Strengthening transition (result): 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 New Graphs: 6.32/4.69 Transitions: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 Variables: 6.32/4.69 main_y1, main_y2 6.32/4.69 Checking conditional termination of SCC {l4}... 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.000600s 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.001889s 6.32/4.69 [6899 : 6916] 6.32/4.69 [6899 : 6917] 6.32/4.69 Successful child: 6916 6.32/4.69 [ Invariant Graph ] 6.32/4.69 Strengthening and disabling transitions... 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 It's unfeasible. Removing transition: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 [ Termination Graph ] 6.32/4.69 Strengthening and disabling transitions... 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 It's unfeasible. Removing transition: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 New Graphs: 6.32/4.69 6.32/4.69 LOG: CALL check - Post:main_y1 <= main_y2 - Process 3 6.32/4.69 * Exit transition: 6.32/4.69 * Postcondition : main_y1 <= main_y2 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.000924s 6.32/4.69 > Postcondition is not implied! 6.32/4.69 6.32/4.69 LOG: RETURN check - Elapsed time: 0.001053s 6.32/4.69 INVARIANTS: 6.32/4.69 4: 6.32/4.69 Quasi-INVARIANTS to narrow Graph: 6.32/4.69 4: main_y1 <= main_y2 , 6.32/4.69 6.32/4.69 LOG: CALL check - Post:main_y2 <= main_y1 - Process 4 6.32/4.69 * Exit transition: 6.32/4.69 * Postcondition : main_y2 <= main_y1 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.000667s 6.32/4.69 > Postcondition is not implied! 6.32/4.69 6.32/4.69 LOG: RETURN check - Elapsed time: 0.000782s 6.32/4.69 INVARIANTS: 6.32/4.69 4: 6.32/4.69 Quasi-INVARIANTS to narrow Graph: 6.32/4.69 4: main_y2 <= main_y1 , 6.32/4.69 Narrowing transition: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: Narrow transition size 2 6.32/4.69 Narrowing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: Narrow transition size 2 6.32/4.69 Narrowing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: Narrow transition size 2 6.32/4.69 invGraph after Narrowing: 6.32/4.69 Transitions: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 Variables: 6.32/4.69 main_y1, main_y2 6.32/4.69 Checking conditional termination of SCC {l4}... 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.001801s 6.32/4.69 Ranking function: 1 - main_y1 6.32/4.69 New Graphs: 6.32/4.69 Transitions: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 Variables: 6.32/4.69 main_y1, main_y2 6.32/4.69 Checking conditional termination of SCC {l4}... 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.000998s 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.003998s 6.32/4.69 [6899 : 6921] 6.32/4.69 [6899 : 6922] 6.32/4.69 Successful child: 6921 6.32/4.69 [ Invariant Graph ] 6.32/4.69 Strengthening and disabling transitions... 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 Strengthening transition (result): 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 It's unfeasible. Removing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 It's unfeasible. Removing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 [ Termination Graph ] 6.32/4.69 Strengthening and disabling transitions... 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 Strengthening transition (result): 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 6.32/4.69 LOG: CALL solverLinear in Graph for feasibility 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear in Graph for feasibility 6.32/4.69 It's unfeasible. Removing transition: 6.32/4.69 main_y1 - main_y2, rest remain the same}> 6.32/4.69 New Graphs: 6.32/4.69 Transitions: 6.32/4.69 -main_y1 + main_y2, rest remain the same}> 6.32/4.69 Variables: 6.32/4.69 main_y1, main_y2 6.32/4.69 Checking conditional termination of SCC {l4}... 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.000595s 6.32/4.69 6.32/4.69 LOG: CALL solveLinear 6.32/4.69 6.32/4.69 LOG: RETURN solveLinear - Elapsed time: 0.001897s 6.32/4.69 [6899 : 6926] 6.32/4.69 [6899 : 6927] 6.32/4.69 Solving with 1 template(s). 6.32/4.69 6.32/4.69 LOG: CALL solveNonLinearGetFirstSolution 6.32/4.69 6.32/4.69 LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.006907s 6.32/4.69 Time used: 0.006625 6.32/4.69 6.32/4.69 [6899 : 6931] 6.32/4.69 [6899 : 6935] 6.32/4.69 Successful child: 6935 6.32/4.69 6.32/4.69 Program does NOT terminate 6.32/4.69 EOF