7.41/2.58 YES 7.41/2.58 7.41/2.58 Solver Timeout: 4 7.41/2.58 Global Timeout: 300 7.41/2.58 Maximum number of concurrent processes: 900 7.41/2.58 ******************************************************************************************* 7.41/2.58 *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** 7.41/2.58 ******************************************************************************************* 7.41/2.58 7.41/2.58 7.41/2.58 List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : 7.41/2.58 7.41/2.58 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 7.41/2.58 + + 7.41/2.58 Init Location: 0 7.41/2.58 Transitions: 7.41/2.58 0, main_x -> ¿functionCall(__VERIFIER_nondet_int), main_y -> ¿functionCall(__VERIFIER_nondet_int), main_z -> ¿functionCall(__VERIFIER_nondet_int)}> 7.41/2.58 7.41/2.58 7.41/2.58 = ~(10000)))> 7.41/2.58 = ~(10000))> 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 = 1))> 7.41/2.58 = 1)> 7.41/2.58 (main_x - 1)}> 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 (main_x + 1), main_z -> (main_z - 1)}> 7.41/2.58 7.41/2.58 (main_x + main_y)}> 7.41/2.58 7.41/2.58 7.41/2.58 0}> 7.41/2.58 7.41/2.58 Fresh variables: 7.41/2.58 7.41/2.58 Undef variables: 7.41/2.58 7.41/2.58 Abstraction variables: 7.41/2.58 7.41/2.58 Exit nodes: 7.41/2.58 7.41/2.58 Accepting locations: 7.41/2.58 7.41/2.58 Asserts: 7.41/2.58 7.41/2.58 + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ 7.41/2.58 7.41/2.58 + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ 7.41/2.58 7.41/2.58 + After preprocess (paralelization): ++++++++++++++++++++++++++++++ 7.41/2.58 7.41/2.58 Init Location: 0 7.41/2.58 Transitions: 7.41/2.58 0}> 7.41/2.58 ¿functionCall(__VERIFIER_nondet_int)}> 7.41/2.58 varCall_1}> 7.41/2.58 ¿functionCall(__VERIFIER_nondet_int)}> 7.41/2.58 varCall_2}> 7.41/2.58 ¿functionCall(__VERIFIER_nondet_int)}> 7.41/2.58 varCall_3}> 7.41/2.58 7.41/2.58 7.41/2.58 = ~(10000))> 7.41/2.58 = ~(10000)))> 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 = 1)> 7.41/2.58 = 1))> 7.41/2.58 (main_x - 1)}> 7.41/2.58 7.41/2.58 7.41/2.58 7.41/2.58 (main_x + 1), main_z -> (main_z - 1)}> 7.41/2.58 7.41/2.58 (main_x + main_y)}> 7.41/2.58 7.41/2.58 7.41/2.58 0}> 7.41/2.58 7.41/2.58 Fresh variables: 7.41/2.58 7.41/2.58 Undef variables: 7.41/2.58 7.41/2.58 Abstraction variables: 7.41/2.58 7.41/2.58 Exit nodes: 7.41/2.58 16, 7.41/2.58 Accepting locations: 7.41/2.58 7.41/2.58 Asserts: 7.41/2.58 7.41/2.58 + + 7.41/2.58 +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ 7.41/2.58 7.41/2.58 7.41/2.58 Function Return and Parameters Information [2 functions]: 7.41/2.58 function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int 7.41/2.58 __VERIFIER_nondet_int__func_return_ [function result] : int 7.41/2.58 function name: main [1 return + 0 parameters] demangled: main 7.41/2.58 main__func_return_ [function result] : int 7.41/2.58 7.41/2.58 7.41/2.58 AST Ident Scanner Information [5 idents]: 7.41/2.58 __VERIFIER_nondet_int | function | [integer, ()] | | 7.41/2.58 main | function | [integer, ()] | 7.41/2.58 x | local variable | integer | | 7.41/2.58 y | local variable | integer | | 7.41/2.58 z | local variable | integer | | 7.41/2.58 7.41/2.58 Main function: main 7.41/2.58 Preprocessed LLVMGraph 7.41/2.58 Init Location: 0 7.41/2.58 Transitions: 7.41/2.58 = ~(10000)) /\ (undef5 <= 10000) /\ (undef6 <= 10000) /\ (undef5 >= 1), par{main_x -> (undef4 - 1)}> 7.41/2.58 = ~(10000)) /\ (undef5 <= 10000) /\ (undef6 <= 10000) /\ not((undef5 >= 1)), par{main_x -> undef4}> 7.41/2.58 = ~(10000)) /\ (undef5 <= 10000) /\ not((undef6 <= 10000)), par{main_x -> undef4}> 7.41/2.58 = ~(10000)) /\ not((undef5 <= 10000)), par{main_x -> undef4}> 7.41/2.58 = ~(10000))), par{main_x -> undef4}> 7.41/2.58 undef4}> 7.41/2.58 (main_x + 1), main_z -> (main_z - 1)}> 7.41/2.58 = 1), par{main_x -> (main_x - 1), main_y -> (main_x + main_y)}> 7.41/2.58 = 1)), par{main_y -> (main_x + main_y)}> 7.41/2.58 7.41/2.58 Fresh variables: 7.41/2.58 undef4, undef5, undef6, 7.41/2.58 7.41/2.58 Undef variables: 7.41/2.58 undef4, undef5, undef6, 7.41/2.58 7.41/2.58 Abstraction variables: 7.41/2.58 7.41/2.58 Exit nodes: 7.41/2.58 16, 7.41/2.58 Accepting locations: 7.41/2.58 7.41/2.58 Asserts: 7.41/2.58 7.41/2.58 ************************************************************* 7.41/2.58 ******************************************************************************************* 7.41/2.58 *********************** WORKING TRANSITION SYSTEM (DAG) *********************** 7.41/2.58 ******************************************************************************************* 7.41/2.58 7.41/2.58 Init Location: 0 7.41/2.58 Graph 0: 7.41/2.58 Transitions: 7.41/2.58 Variables: 7.41/2.58 7.41/2.58 Graph 1: 7.41/2.58 Transitions: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 7.41/2.58 Graph 2: 7.41/2.58 Transitions: 7.41/2.58 Variables: 7.41/2.58 7.41/2.58 Precedence: 7.41/2.58 Graph 0 7.41/2.58 7.41/2.58 Graph 1 7.41/2.58 -1 + undef4, rest remain the same}> 7.41/2.58 7.41/2.58 Graph 2 7.41/2.58 undef4, rest remain the same}> 7.41/2.58 undef4, rest remain the same}> 7.41/2.58 undef4, rest remain the same}> 7.41/2.58 undef4, rest remain the same}> 7.41/2.58 undef4, rest remain the same}> 7.41/2.58 main_x + main_y, rest remain the same}> 7.41/2.58 7.41/2.58 Map Locations to Subgraph: 7.41/2.58 ( 0 , 0 ) 7.41/2.58 ( 9 , 1 ) 7.41/2.58 ( 16 , 2 ) 7.41/2.58 7.41/2.58 ******************************************************************************************* 7.41/2.58 ******************************** CHECKING ASSERTIONS ******************************** 7.41/2.58 ******************************************************************************************* 7.41/2.58 7.41/2.58 Proving termination of subgraph 0 7.41/2.58 Proving termination of subgraph 1 7.41/2.58 Checking unfeasibility... 7.41/2.58 Time used: 0.005349 7.41/2.58 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.001074s 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.005585s 7.41/2.58 [21673 : 21675] 7.41/2.58 [21673 : 21676] 7.41/2.58 Successful child: 21675 7.41/2.58 [ Invariant Graph ] 7.41/2.58 Strengthening and disabling transitions... 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 Strengthening transition (result): 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 Strengthening transition (result): 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 [ Termination Graph ] 7.41/2.58 Strengthening and disabling transitions... 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 Strengthening transition (result): 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 Strengthening transition (result): 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Ranking function: main_z 7.41/2.58 New Graphs: 7.41/2.58 Transitions: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.000720s 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.002666s 7.41/2.58 [21673 : 21680] 7.41/2.58 [21673 : 21681] 7.41/2.58 Successful child: 21680 7.41/2.58 [ Invariant Graph ] 7.41/2.58 Strengthening and disabling transitions... 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 It's unfeasible. Removing transition: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 It's unfeasible. Removing transition: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 [ Termination Graph ] 7.41/2.58 Strengthening and disabling transitions... 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 It's unfeasible. Removing transition: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 New Graphs: 7.41/2.58 INVARIANTS: 7.41/2.58 9: 1 <= main_y , 7.41/2.58 Quasi-INVARIANTS to narrow Graph: 7.41/2.58 9: 7.41/2.58 [21673 : 21685] 7.41/2.58 [21673 : 21686] 7.41/2.58 INVARIANTS: 7.41/2.58 9: 7.41/2.58 Quasi-INVARIANTS to narrow Graph: 7.41/2.58 9: main_x + main_y <= 0 , main_z <= 2 + main_x , 7.41/2.58 Narrowing transition: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: Narrow transition size 2 7.41/2.58 Narrowing transition: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: Narrow transition size 2 7.41/2.58 invGraph after Narrowing: 7.41/2.58 Transitions: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.002409s 7.41/2.58 Ranking function: -6 + 3*main_z 7.41/2.58 New Graphs: 7.41/2.58 Transitions: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.000672s 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.002698s 7.41/2.58 [21673 : 21687] 7.41/2.58 [21673 : 21688] 7.41/2.58 Successful child: 21687 7.41/2.58 [ Invariant Graph ] 7.41/2.58 Strengthening and disabling transitions... 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 It's unfeasible. Removing transition: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 It's unfeasible. Removing transition: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 Strengthening transition (result): 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 [ Termination Graph ] 7.41/2.58 Strengthening and disabling transitions... 7.41/2.58 7.41/2.58 LOG: CALL solverLinear in Graph for feasibility 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear in Graph for feasibility 7.41/2.58 Strengthening transition (result): 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Ranking function: main_x + 2*main_y 7.41/2.58 New Graphs: 7.41/2.58 [21673 : 21692] 7.41/2.58 [21673 : 21693] 7.41/2.58 [21673 : 21694] 7.41/2.58 INVARIANTS: 7.41/2.58 9: 7.41/2.58 Quasi-INVARIANTS to narrow Graph: 7.41/2.58 9: main_x <= 0 , main_z <= 1 , 7.41/2.58 Narrowing transition: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: Narrow transition size 2 7.41/2.58 Narrowing transition: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: Narrow transition size 2 7.41/2.58 Narrowing transition: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 7.41/2.58 LOG: Narrow transition size 2 7.41/2.58 invGraph after Narrowing: 7.41/2.58 Transitions: 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 1 + main_x, main_z -> -1 + main_z, rest remain the same}> 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.004468s 7.41/2.58 Ranking function: -6 + 3*main_z 7.41/2.58 New Graphs: 7.41/2.58 Transitions: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.001775s 7.41/2.58 Ranking function: -1 + main_x 7.41/2.58 New Graphs: 7.41/2.58 Transitions: 7.41/2.58 -1 + main_x, main_y -> main_x + main_y, rest remain the same}> 7.41/2.58 Variables: 7.41/2.58 main_x, main_y, main_z 7.41/2.58 Checking conditional termination of SCC {l9}... 7.41/2.58 7.41/2.58 LOG: CALL solveLinear 7.41/2.58 7.41/2.58 LOG: RETURN solveLinear - Elapsed time: 0.001132s 7.41/2.58 Ranking function: -1 + main_x + main_y 7.41/2.58 New Graphs: 7.41/2.58 Proving termination of subgraph 2 7.41/2.58 Analyzing SCC {l16}... 7.41/2.58 No cycles found. 7.41/2.58 7.41/2.58 Program Terminates 7.41/2.58 EOF