1.38/0.55 YES 1.38/0.55 1.38/0.55 Solver Timeout: 4 1.38/0.55 Global Timeout: 300 1.38/0.55 Maximum number of concurrent processes: 900 1.38/0.55 ******************************************************************************************* 1.38/0.55 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 1.38/0.55 ******************************************************************************************* 1.38/0.55 1.38/0.55 1.38/0.55 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 1.38/0.55 1.38/0.55 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 1.38/0.55 + + 1.38/0.55 Init Location: 0 1.38/0.55 Transitions: 1.38/0.55 0, main_i -> ¿functionCall(__VERIFIER_nondet_int), main_j -> ¿functionCall(__VERIFIER_nondet_int), main_k -> ¿functionCall(__VERIFIER_nondet_int), main_an -> ¿functionCall(__VERIFIER_nondet_int), main_bn -> ¿functionCall(__VERIFIER_nondet_int), main_tk -> ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 1.38/0.55 = main_i))> 1.38/0.55 = main_i)> 1.38/0.55 = main_j)> 1.38/0.55 = main_j))> 1.38/0.55 = main_i))> 1.38/0.55 = main_i)> 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 = main_j))> 1.38/0.55 = main_j)> 1.38/0.55 = (main_tk + 1)))> 1.38/0.55 = (main_tk + 1))> 1.38/0.55 = main_i))> 1.38/0.55 = main_i)> 1.38/0.55 = main_j)> 1.38/0.55 = main_j))> 1.38/0.55 1.38/0.55 1.38/0.55 (main_j + main_k), main_tk -> main_k, main_k -> ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 1.38/0.55 (main_i + 1)}> 1.38/0.55 1.38/0.55 1.38/0.55 = main_i))> 1.38/0.55 = main_i)> 1.38/0.55 1.38/0.55 1.38/0.55 (main_i + 1)}> 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 = main_j)> 1.38/0.55 = main_j))> 1.38/0.55 (main_j + main_k), main_tk -> main_k, main_k -> ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 0}> 1.38/0.55 1.38/0.55 Fresh variables: 1.38/0.55 1.38/0.55 Undef variables: 1.38/0.55 1.38/0.55 Abstraction variables: 1.38/0.55 1.38/0.55 Exit nodes: 1.38/0.55 1.38/0.55 Accepting locations: 1.38/0.55 1.38/0.55 Asserts: 1.38/0.55 1.38/0.55 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 1.38/0.55 1.38/0.55 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 1.38/0.55 1.38/0.55 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 1.38/0.55 1.38/0.55 Init Location: 0 1.38/0.55 Transitions: 1.38/0.55 0}> 1.38/0.55 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 varCall_1}> 1.38/0.55 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 varCall_2}> 1.38/0.55 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 varCall_3}> 1.38/0.55 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 varCall_4}> 1.38/0.55 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 varCall_5}> 1.38/0.55 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.55 varCall_6}> 1.38/0.55 1.38/0.55 = main_i)> 1.38/0.55 = main_i))> 1.38/0.55 = main_j)> 1.38/0.55 = main_j))> 1.38/0.55 = main_i)> 1.38/0.55 = main_i))> 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 1.38/0.55 = main_j)> 1.38/0.55 = main_j))> 1.38/0.55 = (main_tk + 1))> 1.38/0.55 = (main_tk + 1)))> 1.38/0.55 = main_i)> 1.38/0.55 = main_i))> 1.38/0.56 = main_j)> 1.38/0.56 = main_j))> 1.38/0.56 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.56 1.38/0.56 1.38/0.56 (main_j + main_k), main_tk -> main_k}> 1.38/0.56 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.56 varCall_8}> 1.38/0.56 1.38/0.56 (main_i + 1)}> 1.38/0.56 1.38/0.56 1.38/0.56 = main_i)> 1.38/0.56 = main_i))> 1.38/0.56 1.38/0.56 1.38/0.56 (main_i + 1)}> 1.38/0.56 1.38/0.56 1.38/0.56 1.38/0.56 = main_j)> 1.38/0.56 = main_j))> 1.38/0.56 (main_j + main_k), main_tk -> main_k}> 1.38/0.56 ¿functionCall(__VERIFIER_nondet_int)}> 1.38/0.56 varCall_9}> 1.38/0.56 1.38/0.56 1.38/0.56 1.38/0.56 1.38/0.56 0}> 1.38/0.56 1.38/0.56 Fresh variables: 1.38/0.56 1.38/0.56 Undef variables: 1.38/0.56 1.38/0.56 Abstraction variables: 1.38/0.56 1.38/0.56 Exit nodes: 1.38/0.56 29, 1.38/0.56 Accepting locations: 1.38/0.56 1.38/0.56 Asserts: 1.38/0.56 1.38/0.56 + + 1.38/0.56 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 1.38/0.56 1.38/0.56 1.38/0.56 Function Return and Parameters Information [2 functions]: 1.38/0.56 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 1.38/0.56 __VERIFIER_nondet_int__func_return_ [function result] : int 1.38/0.56 function name: main [1 return + 0 parameters] demangled: main 1.38/0.56 main__func_return_ [function result] : int 1.38/0.56 1.38/0.56 1.38/0.56 AST Ident Scanner Information [8 idents]: 1.38/0.56 __VERIFIER_nondet_int | function | [integer, ()] | | 1.38/0.56 main | function | [integer, ()] | 1.38/0.56 i | local variable | integer | | 1.38/0.56 j | local variable | integer | | 1.38/0.56 k | local variable | integer | | 1.38/0.56 an | local variable | integer | | 1.38/0.56 bn | local variable | integer | | 1.38/0.56 tk | local variable | integer | | 1.38/0.56 1.38/0.56 Main function: main 1.38/0.56 Preprocessed LLVMGraph 1.38/0.56 Init Location: 0 1.38/0.56 Transitions: 1.38/0.56 1.38/0.56 = main_i) /\ (main_bn >= main_j) /\ (main_k >= (main_tk + 1)) /\ (main_an >= main_i) /\ (main_bn >= main_j) /\ (undef16 = 0), par{main_i -> (main_i + 1)}> 1.38/0.56 = main_i) /\ (main_bn >= main_j) /\ (main_k >= (main_tk + 1)) /\ (main_an >= main_i) /\ (main_bn >= main_j) /\ (undef16 = 1), par{main_j -> (main_j + main_k), main_k -> undef17, main_tk -> main_k}> 1.38/0.56 = main_i) /\ (main_bn >= main_j) /\ not((main_k >= (main_tk + 1)))> 1.38/0.56 = main_i) /\ not((main_bn >= main_j)) /\ (main_an >= main_i) /\ (main_bn <= main_j) /\ (main_k >= (main_tk + 1)) /\ (main_an >= main_i) /\ not((main_bn >= main_j)) /\ (main_an >= main_i) /\ (main_bn <= main_j), par{main_i -> (main_i + 1)}> 1.38/0.56 = main_i) /\ not((main_bn >= main_j)) /\ (main_an >= main_i) /\ (main_bn <= main_j) /\ not((main_k >= (main_tk + 1)))> 1.38/0.56 = main_i)) /\ not((main_an >= main_i)) /\ (main_an <= main_i) /\ (main_bn >= main_j) /\ (main_k >= (main_tk + 1)) /\ not((main_an >= main_i)) /\ not((main_an >= main_i)) /\ (main_an <= main_i) /\ (main_bn >= main_j), par{main_j -> (main_j + main_k), main_k -> undef18, main_tk -> main_k}> 1.38/0.56 = main_i)) /\ not((main_an >= main_i)) /\ (main_an <= main_i) /\ (main_bn >= main_j) /\ not((main_k >= (main_tk + 1)))> 1.38/0.56 = main_i)) /\ not((main_an >= main_i)) /\ (main_an <= main_i) /\ not((main_bn >= main_j))> 1.38/0.56 1.38/0.56 Fresh variables: 1.38/0.56 undef10, undef11, undef12, undef13, undef14, undef15, undef16, undef17, undef18, 1.38/0.56 1.38/0.56 Undef variables: 1.38/0.56 undef10, undef11, undef12, undef13, undef14, undef15, undef16, undef17, undef18, 1.38/0.56 1.38/0.56 Abstraction variables: 1.38/0.56 1.38/0.56 Exit nodes: 1.38/0.56 29, 1.38/0.56 Accepting locations: 1.38/0.56 1.38/0.56 Asserts: 1.38/0.56 1.38/0.56 ************************************************************* 1.38/0.56 ******************************************************************************************* 1.38/0.56 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 1.38/0.56 ******************************************************************************************* 1.38/0.56 1.38/0.56 Init Location: 0 1.38/0.56 Graph 0: 1.38/0.56 Transitions: 1.38/0.56 Variables: 1.38/0.56 1.38/0.56 Graph 1: 1.38/0.56 Transitions: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Variables: 1.38/0.56 main_i, main_j, main_k, main_an, main_bn, main_tk 1.38/0.56 1.38/0.56 Graph 2: 1.38/0.56 Transitions: 1.38/0.56 Variables: 1.38/0.56 1.38/0.56 Precedence: 1.38/0.56 Graph 0 1.38/0.56 1.38/0.56 Graph 1 1.38/0.56 1.38/0.56 1.38/0.56 Graph 2 1.38/0.56 1.38/0.56 1.38/0.56 1.38/0.56 1.38/0.56 1.38/0.56 Map Locations to Subgraph: 1.38/0.56 ( 0 , 0 ) 1.38/0.56 ( 2 , 1 ) 1.38/0.56 ( 29 , 2 ) 1.38/0.56 1.38/0.56 ******************************************************************************************* 1.38/0.56 ******************************** CHECKING ASSERTIONS ******************************** 1.38/0.56 ******************************************************************************************* 1.38/0.56 1.38/0.56 Proving termination of subgraph 0 1.38/0.56 Proving termination of subgraph 1 1.38/0.56 Checking unfeasibility... 1.38/0.56 Time used: 0.018838 1.38/0.56 1.38/0.56 Checking conditional termination of SCC {l2}... 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.005121s 1.38/0.56 Ranking function: -main_i + main_an 1.38/0.56 New Graphs: 1.38/0.56 Transitions: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Variables: 1.38/0.56 main_i, main_j, main_k, main_an, main_bn, main_tk 1.38/0.56 Checking conditional termination of SCC {l2}... 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.001682s 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.008507s 1.38/0.56 [12262 : 12264] 1.38/0.56 [12262 : 12265] 1.38/0.56 Successful child: 12264 1.38/0.56 [ Invariant Graph ] 1.38/0.56 Strengthening and disabling transitions... 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 It's unfeasible. Removing transition: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 It's unfeasible. Removing transition: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 It's unfeasible. Removing transition: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 It's unfeasible. Removing transition: 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 [ Termination Graph ] 1.38/0.56 Strengthening and disabling transitions... 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 It's unfeasible. Removing transition: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 It's unfeasible. Removing transition: 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 New Graphs: 1.38/0.56 1.38/0.56 LOG: CALL check - Post:main_k <= main_tk - Process 1 1.38/0.56 * Exit transition: 1.38/0.56 * Postcondition : main_k <= main_tk 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.001020s 1.38/0.56 > Postcondition is not implied! 1.38/0.56 1.38/0.56 LOG: RETURN check - Elapsed time: 0.001159s 1.38/0.56 INVARIANTS: 1.38/0.56 2: 1.38/0.56 Quasi-INVARIANTS to narrow Graph: 1.38/0.56 2: main_k <= main_tk , 1.38/0.56 Narrowing transition: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 Narrowing transition: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 Narrowing transition: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 Narrowing transition: 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 invGraph after Narrowing: 1.38/0.56 Transitions: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Variables: 1.38/0.56 main_i, main_j, main_k, main_an, main_bn, main_tk 1.38/0.56 Checking conditional termination of SCC {l2}... 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.004382s 1.38/0.56 Ranking function: -main_i + main_an 1.38/0.56 New Graphs: 1.38/0.56 Transitions: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Variables: 1.38/0.56 main_i, main_j, main_k, main_an, main_bn, main_tk 1.38/0.56 Checking conditional termination of SCC {l2}... 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.001714s 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.008875s 1.38/0.56 [12262 : 12269] 1.38/0.56 [12262 : 12270] 1.38/0.56 Successful child: 12269 1.38/0.56 [ Invariant Graph ] 1.38/0.56 Strengthening and disabling transitions... 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 Strengthening transition (result): 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 Strengthening transition (result): 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 Strengthening transition (result): 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 Strengthening transition (result): 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 [ Termination Graph ] 1.38/0.56 Strengthening and disabling transitions... 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 Strengthening transition (result): 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: CALL solverLinear in Graph for feasibility 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear in Graph for feasibility 1.38/0.56 Strengthening transition (result): 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Ranking function: -main_j + main_bn 1.38/0.56 New Graphs: 1.38/0.56 1.38/0.56 LOG: CALL check - Post:0 <= main_tk - Process 2 1.38/0.56 * Exit transition: 1.38/0.56 * Postcondition : 0 <= main_tk 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.000942s 1.38/0.56 > Postcondition is not implied! 1.38/0.56 1.38/0.56 LOG: RETURN check - Elapsed time: 0.001076s 1.38/0.56 INVARIANTS: 1.38/0.56 2: 1.38/0.56 Quasi-INVARIANTS to narrow Graph: 1.38/0.56 2: 0 <= main_tk , 1.38/0.56 Narrowing transition: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 Narrowing transition: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 Narrowing transition: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 Narrowing transition: 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 1.38/0.56 LOG: Narrow transition size 1 1.38/0.56 invGraph after Narrowing: 1.38/0.56 Transitions: 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 1 + main_i, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Variables: 1.38/0.56 main_i, main_j, main_k, main_an, main_bn, main_tk 1.38/0.56 Checking conditional termination of SCC {l2}... 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.003856s 1.38/0.56 Ranking function: -main_i + main_an 1.38/0.56 New Graphs: 1.38/0.56 Transitions: 1.38/0.56 main_j + main_k, main_k -> undef17, main_tk -> main_k, rest remain the same}> 1.38/0.56 main_j + main_k, main_k -> undef18, main_tk -> main_k, rest remain the same}> 1.38/0.56 Variables: 1.38/0.56 main_i, main_j, main_k, main_an, main_bn, main_tk 1.38/0.56 Checking conditional termination of SCC {l2}... 1.38/0.56 1.38/0.56 LOG: CALL solveLinear 1.38/0.56 1.38/0.56 LOG: RETURN solveLinear - Elapsed time: 0.002155s 1.38/0.56 Ranking function: -main_tk 1.38/0.56 New Graphs: 1.38/0.56 Proving termination of subgraph 2 1.38/0.56 Analyzing SCC {l29}... 1.38/0.56 No cycles found. 1.38/0.56 1.38/0.56 Program Terminates 1.38/0.56 EOF