NO Solver Timeout: 4 Global Timeout: 60 No parsing errors! Init Location: 0 Transitions: ~(1)) /\ (arg1 > 0) /\ (undef1 > 0), par{arg1 -> undef1, arg2 -> 0, arg3 -> 0, arg4 -> undef4, arg5 -> undef5}> = undef11) /\ (arg2 < undef11) /\ (undef11 > ~(1)) /\ (arg1 > 0), par{arg1 -> arg2, arg2 -> arg3, arg3 -> undef8, arg4 -> undef9, arg5 -> undef10}> ~(1)) /\ (undef17 > arg2) /\ (arg3 < undef17) /\ (undef18 > ~(1)) /\ (arg3 > ~(1)) /\ (arg1 > 0), par{arg1 -> arg2, arg2 -> (arg3 + 1), arg3 -> undef14, arg4 -> undef15, arg5 -> undef16}> 0), par{arg1 -> undef19, arg2 -> (arg1 + 1), arg3 -> arg2, arg4 -> undef22, arg5 -> undef23}> = undef30) /\ (arg3 <= undef30) /\ (arg1 > 0), par{arg1 -> 0, arg2 -> 0, arg3 -> undef27, arg4 -> undef28, arg5 -> undef29}> = undef36), par{arg1 -> (undef36 - 1), arg3 -> undef33, arg4 -> undef34, arg5 -> undef35}> 0), par{arg1 -> (arg1 + 1), arg2 -> undef38, arg3 -> undef39, arg4 -> undef40, arg5 -> undef41}> 0), par{arg1 -> undef43, arg2 -> arg1, arg3 -> arg2, arg4 -> undef46, arg5 -> undef47}> ~(1)) /\ (undef48 > 0) /\ (undef53 > 0), par{arg1 -> undef48, arg2 -> arg1, arg3 -> undef50, arg4 -> undef51, arg5 -> undef52}> 0) /\ (arg2 < undef59), par{arg1 -> (arg2 - 1), arg2 -> arg3, arg3 -> undef56, arg4 -> undef57, arg5 -> undef58}> 0), par{arg1 -> undef60, arg3 -> undef62, arg4 -> undef63, arg5 -> undef64}> = undef71) /\ (arg2 > 0) /\ (undef72 > undef71) /\ ((arg2 - 1) >= undef73) /\ (undef74 <= arg1) /\ (undef72 > undef73) /\ ((arg2 - 1) >= undef75) /\ (arg2 < undef72) /\ (arg2 > undef75), par{arg3 -> undef68, arg4 -> undef69, arg5 -> undef70}> = undef81) /\ (arg2 > 0) /\ (undef82 > undef81) /\ ((arg2 - 1) >= undef83) /\ (undef84 <= arg1) /\ (undef82 > undef83) /\ ((arg2 - 1) >= undef77) /\ (arg2 > undef77) /\ (arg2 < undef82) /\ (((arg2 - 1) - (2 * undef81)) >= 0) /\ (((arg2 - 1) - (2 * undef81)) < 2) /\ (((arg2 - 1) - (2 * undef83)) >= 0) /\ (((arg2 - 1) - (2 * undef83)) < 2) /\ (((arg2 - 1) - (2 * undef77)) < 2) /\ (((arg2 - 1) - (2 * undef77)) >= 0), par{arg2 -> undef77, arg3 -> undef78, arg4 -> undef79, arg5 -> undef80}> = undef90) /\ (arg2 > 0) /\ (undef91 > arg1) /\ (undef92 > 0) /\ (undef93 > undef90), par{arg3 -> undef87, arg4 -> undef88, arg5 -> undef89}> = undef99) /\ (arg2 > 0) /\ (undef100 > arg1) /\ (undef101 > undef99) /\ (undef94 > 0) /\ (((arg2 - 1) - (2 * undef99)) < 2) /\ (((arg2 - 1) - (2 * undef99)) >= 0), par{arg1 -> undef94, arg3 -> arg1, arg4 -> undef97, arg5 -> undef98}> = undef107) /\ (arg2 > 0) /\ (undef108 > undef107) /\ ((arg2 - 1) >= undef109) /\ (undef110 <= arg1) /\ (undef108 > undef109) /\ ((arg2 - 1) >= undef111) /\ (arg2 <= undef111) /\ (undef112 > 0) /\ (arg2 < undef108), par{arg3 -> undef104, arg4 -> undef105, arg5 -> undef106}> = undef118) /\ (arg2 > 0) /\ (undef119 > undef118) /\ ((arg2 - 1) >= undef120) /\ (undef121 <= arg1) /\ (undef119 > undef120) /\ ((arg2 - 1) >= undef122) /\ (arg2 <= undef122) /\ (arg2 < undef119) /\ (undef113 > 0) /\ (((arg2 - 1) - (2 * undef118)) >= 0) /\ (((arg2 - 1) - (2 * undef118)) < 2) /\ (((arg2 - 1) - (2 * undef120)) >= 0) /\ (((arg2 - 1) - (2 * undef120)) < 2) /\ (((arg2 - 1) - (2 * undef122)) < 2) /\ (((arg2 - 1) - (2 * undef122)) >= 0), par{arg1 -> undef113, arg3 -> arg1, arg4 -> undef116, arg5 -> undef117}> ~(1)) /\ ((arg2 - 1) < undef128) /\ (undef128 > 0), par{arg1 -> 0, arg2 -> undef124, arg3 -> 1, arg4 -> undef126, arg5 -> undef127}> = undef134) /\ (undef129 > 0), par{arg1 -> undef129, arg2 -> arg1, arg3 -> arg2, arg4 -> undef132, arg5 -> undef133}> = 0) /\ (undef137 > 0) /\ (arg3 < undef139), par{arg3 -> undef137, arg4 -> ((2 * arg1) + 1), arg5 -> undef139}> = undef145) /\ (arg4 < undef146) /\ (arg3 >= undef140) /\ (arg3 > 0) /\ (undef140 > 0), par{arg1 -> undef140, arg2 -> arg1, arg3 -> arg2, arg4 -> undef143, arg5 -> undef144}> = 0) /\ (undef151 > ((2 * arg1) + 2)) /\ (undef152 > ((2 * arg1) + 2)) /\ (undef153 <= undef154) /\ (undef149 > 0) /\ (undef152 > ((2 * arg1) + 1)), par{arg3 -> undef149, arg4 -> ((2 * arg1) + 1), arg5 -> undef151}> = 0) /\ (undef159 > ((2 * arg1) + 2)) /\ (undef160 > ((2 * arg1) + 2)) /\ (undef161 > undef162) /\ (undef157 > 0) /\ (undef160 > ((2 * arg1) + 1)), par{arg3 -> undef157, arg4 -> ((2 * arg1) + 2), arg5 -> undef159}> arg2) /\ ((2 * arg4) >= 0) /\ (arg1 < undef168) /\ (arg3 > 0), par{arg1 -> arg4, arg3 -> ((2 * arg4) + 1), arg4 -> undef166, arg5 -> undef167}> undef170, arg2 -> undef171, arg3 -> undef172, arg4 -> undef173, arg5 -> undef174}> Fresh variables: undef1, undef4, undef5, undef8, undef9, undef10, undef11, undef14, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef27, undef28, undef29, undef30, undef33, undef34, undef35, undef36, undef38, undef39, undef40, undef41, undef42, undef43, undef46, undef47, undef48, undef50, undef51, undef52, undef53, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef97, undef98, undef99, undef100, undef101, undef104, undef105, undef106, undef107, undef108, undef109, undef110, undef111, undef112, undef113, undef116, undef117, undef118, undef119, undef120, undef121, undef122, undef124, undef126, undef127, undef128, undef129, undef132, undef133, undef134, undef137, undef139, undef140, undef143, undef144, undef145, undef146, undef149, undef151, undef152, undef153, undef154, undef157, undef159, undef160, undef161, undef162, undef166, undef167, undef168, undef169, undef170, undef171, undef172, undef173, undef174, Undef variables: undef1, undef4, undef5, undef8, undef9, undef10, undef11, undef14, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef27, undef28, undef29, undef30, undef33, undef34, undef35, undef36, undef38, undef39, undef40, undef41, undef42, undef43, undef46, undef47, undef48, undef50, undef51, undef52, undef53, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef97, undef98, undef99, undef100, undef101, undef104, undef105, undef106, undef107, undef108, undef109, undef110, undef111, undef112, undef113, undef116, undef117, undef118, undef119, undef120, undef121, undef122, undef124, undef126, undef127, undef128, undef129, undef132, undef133, undef134, undef137, undef139, undef140, undef143, undef144, undef145, undef146, undef149, undef151, undef152, undef153, undef154, undef157, undef159, undef160, undef161, undef162, undef166, undef167, undef168, undef169, undef170, undef171, undef172, undef173, undef174, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: ~(1)) /\ (undef170 > 0) /\ (undef1 > 0)> = undef11) /\ (arg2 < undef11) /\ (undef11 > ~(1)) /\ (arg1 > 0) /\ (arg2 < undef24) /\ (undef19 > 0), par{arg1 -> undef19, arg2 -> (arg2 + 1), arg3 -> arg3}> ~(1)) /\ (undef17 > arg2) /\ (arg3 < undef17) /\ (undef18 > ~(1)) /\ (arg3 > ~(1)) /\ (arg1 > 0) /\ (arg2 < undef24) /\ (undef19 > 0), par{arg1 -> undef19, arg2 -> (arg2 + 1), arg3 -> (arg3 + 1)}> = undef30) /\ (arg3 <= undef30) /\ (arg1 > 0), par{arg1 -> 0, arg2 -> 0, arg3 -> undef27}> = undef36), par{arg1 -> (undef36 - 1), arg3 -> undef33}> 0), par{arg1 -> (arg1 + 1), arg2 -> undef38, arg3 -> undef39}> 0), par{arg1 -> undef60, arg3 -> undef62}> ~(1)) /\ (undef48 > 0) /\ (undef53 > 0) /\ (undef48 > 0) /\ (arg1 < undef59), par{arg1 -> (arg1 - 1), arg2 -> undef50, arg3 -> undef56}> ~(1)) /\ ((arg2 - 1) < undef128) /\ (undef128 > 0), par{arg1 -> 0, arg2 -> undef124, arg3 -> 1}> = undef71) /\ (arg2 > 0) /\ (undef72 > undef71) /\ ((arg2 - 1) >= undef73) /\ (undef74 <= arg1) /\ (undef72 > undef73) /\ ((arg2 - 1) >= undef75) /\ (arg2 < undef72) /\ (arg2 > undef75) /\ ((arg2 - 1) >= undef81) /\ (arg2 > 0) /\ (undef82 > undef81) /\ ((arg2 - 1) >= undef83) /\ (undef84 <= arg1) /\ (undef82 > undef83) /\ ((arg2 - 1) >= undef77) /\ (arg2 > undef77) /\ (arg2 < undef82) /\ (((arg2 - 1) - (2 * undef81)) >= 0) /\ (((arg2 - 1) - (2 * undef81)) < 2) /\ (((arg2 - 1) - (2 * undef83)) >= 0) /\ (((arg2 - 1) - (2 * undef83)) < 2) /\ (((arg2 - 1) - (2 * undef77)) < 2) /\ (((arg2 - 1) - (2 * undef77)) >= 0), par{arg2 -> undef77, arg3 -> undef78}> = undef71) /\ (arg2 > 0) /\ (undef72 > undef71) /\ ((arg2 - 1) >= undef73) /\ (undef74 <= arg1) /\ (undef72 > undef73) /\ ((arg2 - 1) >= undef75) /\ (arg2 < undef72) /\ (arg2 > undef75) /\ ((arg2 - 1) >= undef99) /\ (arg2 > 0) /\ (undef100 > arg1) /\ (undef101 > undef99) /\ (undef94 > 0) /\ (((arg2 - 1) - (2 * undef99)) < 2) /\ (((arg2 - 1) - (2 * undef99)) >= 0), par{arg1 -> undef94, arg3 -> arg1}> = undef90) /\ (arg2 > 0) /\ (undef91 > arg1) /\ (undef92 > 0) /\ (undef93 > undef90) /\ ((arg2 - 1) >= undef81) /\ (arg2 > 0) /\ (undef82 > undef81) /\ ((arg2 - 1) >= undef83) /\ (undef84 <= arg1) /\ (undef82 > undef83) /\ ((arg2 - 1) >= undef77) /\ (arg2 > undef77) /\ (arg2 < undef82) /\ (((arg2 - 1) - (2 * undef81)) >= 0) /\ (((arg2 - 1) - (2 * undef81)) < 2) /\ (((arg2 - 1) - (2 * undef83)) >= 0) /\ (((arg2 - 1) - (2 * undef83)) < 2) /\ (((arg2 - 1) - (2 * undef77)) < 2) /\ (((arg2 - 1) - (2 * undef77)) >= 0), par{arg2 -> undef77, arg3 -> undef78}> = undef90) /\ (arg2 > 0) /\ (undef91 > arg1) /\ (undef92 > 0) /\ (undef93 > undef90) /\ ((arg2 - 1) >= undef99) /\ (arg2 > 0) /\ (undef100 > arg1) /\ (undef101 > undef99) /\ (undef94 > 0) /\ (((arg2 - 1) - (2 * undef99)) < 2) /\ (((arg2 - 1) - (2 * undef99)) >= 0), par{arg1 -> undef94, arg3 -> arg1}> = undef134) /\ (undef129 > 0), par{arg1 -> undef129, arg2 -> arg1, arg3 -> arg2}> = 0) /\ (undef137 > 0) /\ (arg3 < undef139) /\ (arg2 >= undef145) /\ (((2 * arg1) + 1) < undef146) /\ (undef137 >= undef140) /\ (undef137 > 0) /\ (undef140 > 0), par{arg1 -> undef140, arg2 -> arg1, arg3 -> arg2}> = 0) /\ (undef137 > 0) /\ (arg3 < undef139) /\ (((2 * arg1) + 1) < undef168) /\ (undef169 > arg2) /\ ((2 * ((2 * arg1) + 1)) >= 0) /\ (arg1 < undef168) /\ (undef137 > 0), par{arg1 -> ((2 * arg1) + 1), arg3 -> ((2 * ((2 * arg1) + 1)) + 1)}> = 0) /\ (undef151 > ((2 * arg1) + 2)) /\ (undef152 > ((2 * arg1) + 2)) /\ (undef153 <= undef154) /\ (undef149 > 0) /\ (undef152 > ((2 * arg1) + 1)) /\ (arg2 >= undef145) /\ (((2 * arg1) + 1) < undef146) /\ (undef149 >= undef140) /\ (undef149 > 0) /\ (undef140 > 0), par{arg1 -> undef140, arg2 -> arg1, arg3 -> arg2}> = 0) /\ (undef151 > ((2 * arg1) + 2)) /\ (undef152 > ((2 * arg1) + 2)) /\ (undef153 <= undef154) /\ (undef149 > 0) /\ (undef152 > ((2 * arg1) + 1)) /\ (((2 * arg1) + 1) < undef168) /\ (undef169 > arg2) /\ ((2 * ((2 * arg1) + 1)) >= 0) /\ (arg1 < undef168) /\ (undef149 > 0), par{arg1 -> ((2 * arg1) + 1), arg3 -> ((2 * ((2 * arg1) + 1)) + 1)}> = 0) /\ (undef159 > ((2 * arg1) + 2)) /\ (undef160 > ((2 * arg1) + 2)) /\ (undef161 > undef162) /\ (undef157 > 0) /\ (undef160 > ((2 * arg1) + 1)) /\ (arg2 >= undef145) /\ (((2 * arg1) + 2) < undef146) /\ (undef157 >= undef140) /\ (undef157 > 0) /\ (undef140 > 0), par{arg1 -> undef140, arg2 -> arg1, arg3 -> arg2}> = 0) /\ (undef159 > ((2 * arg1) + 2)) /\ (undef160 > ((2 * arg1) + 2)) /\ (undef161 > undef162) /\ (undef157 > 0) /\ (undef160 > ((2 * arg1) + 1)) /\ (((2 * arg1) + 2) < undef168) /\ (undef169 > arg2) /\ ((2 * ((2 * arg1) + 2)) >= 0) /\ (arg1 < undef168) /\ (undef157 > 0), par{arg1 -> ((2 * arg1) + 2), arg3 -> ((2 * ((2 * arg1) + 2)) + 1)}> Fresh variables: undef1, undef4, undef5, undef8, undef9, undef10, undef11, undef14, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef27, undef28, undef29, undef30, undef33, undef34, undef35, undef36, undef38, undef39, undef40, undef41, undef42, undef43, undef46, undef47, undef48, undef50, undef51, undef52, undef53, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef97, undef98, undef99, undef100, undef101, undef104, undef105, undef106, undef107, undef108, undef109, undef110, undef111, undef112, undef113, undef116, undef117, undef118, undef119, undef120, undef121, undef122, undef124, undef126, undef127, undef128, undef129, undef132, undef133, undef134, undef137, undef139, undef140, undef143, undef144, undef145, undef146, undef149, undef151, undef152, undef153, undef154, undef157, undef159, undef160, undef161, undef162, undef166, undef167, undef168, undef169, undef170, undef171, undef172, undef173, undef174, Undef variables: undef1, undef4, undef5, undef8, undef9, undef10, undef11, undef14, undef15, undef16, undef17, undef18, undef19, undef22, undef23, undef24, undef27, undef28, undef29, undef30, undef33, undef34, undef35, undef36, undef38, undef39, undef40, undef41, undef42, undef43, undef46, undef47, undef48, undef50, undef51, undef52, undef53, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef68, undef69, undef70, undef71, undef72, undef73, undef74, undef75, undef77, undef78, undef79, undef80, undef81, undef82, undef83, undef84, undef87, undef88, undef89, undef90, undef91, undef92, undef93, undef94, undef97, undef98, undef99, undef100, undef101, undef104, undef105, undef106, undef107, undef108, undef109, undef110, undef111, undef112, undef113, undef116, undef117, undef118, undef119, undef120, undef121, undef122, undef124, undef126, undef127, undef128, undef129, undef132, undef133, undef134, undef137, undef139, undef140, undef143, undef144, undef145, undef146, undef149, undef151, undef152, undef153, undef154, undef157, undef159, undef160, undef161, undef162, undef166, undef167, undef168, undef169, undef170, undef171, undef172, undef173, undef174, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef19, arg2 -> 1 + arg2, rest remain the same}> undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Graph 2: Transitions: 1 + arg1, arg2 -> undef38, arg3 -> undef39, rest remain the same}> Variables: arg1, arg2, arg3 Graph 3: Transitions: undef77, arg3 -> undef78, rest remain the same}> undef77, arg3 -> undef78, rest remain the same}> Variables: arg1, arg2, arg3 Graph 4: Transitions: Variables: Graph 5: Transitions: -1 + arg1, arg2 -> undef50, arg3 -> undef56, rest remain the same}> Variables: arg1, arg2, arg3 Graph 6: Transitions: 1 + 2*arg1, arg3 -> 3 + 4*arg1, rest remain the same}> 1 + 2*arg1, arg3 -> 3 + 4*arg1, rest remain the same}> 2 + 2*arg1, arg3 -> 5 + 4*arg1, rest remain the same}> Variables: arg1, arg2, arg3 Graph 7: Transitions: Variables: Precedence: Graph 0 Graph 1 Graph 2 0, arg2 -> 0, arg3 -> undef27, rest remain the same}> Graph 3 undef60, arg3 -> undef62, rest remain the same}> Graph 4 undef94, arg3 -> arg1, rest remain the same}> undef94, arg3 -> arg1, rest remain the same}> Graph 5 -1 + undef36, arg3 -> undef33, rest remain the same}> Graph 6 0, arg2 -> undef124, arg3 -> 1, rest remain the same}> Graph 7 undef129, arg2 -> arg1, arg3 -> arg2, rest remain the same}> undef140, arg2 -> arg1, arg3 -> arg2, rest remain the same}> undef140, arg2 -> arg1, arg3 -> arg2, rest remain the same}> undef140, arg2 -> arg1, arg3 -> arg2, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 1 ) ( 4 , 2 ) ( 5 , 5 ) ( 8 , 3 ) ( 10 , 4 ) ( 11 , 6 ) ( 12 , 7 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.007555 Some transition disabled by a set of invariant(s): Invariant at l2: arg3 <= arg2 Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef19, arg2 -> 1 + arg2, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Checking unfeasibility... Time used: 0.003139 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001228s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.005305s Trying to remove transition: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.009796s Time used: 0.009509 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.001351s Time used: 4.00059 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.008728s Time used: 4.0007 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.007261s Time used: 1.00053 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.016955s Time used: 0.011604 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.000741s Time used: 1.0006 LOG: SAT solveNonLinear - Elapsed time: 1.017696s Cost: 1; Total time: 1.01221 Termination implied by a set of invariant(s): Invariant at l2: 0 <= 1 + arg3 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Quasi-ranking function: 50000 + arg2 - 2*arg3 New Graphs: Transitions: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001294s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.006414s Trying to remove transition: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.015500s Time used: 0.01499 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.116154s Time used: 4.11522 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.034009s Time used: 4.00093 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.005527s Time used: 1.0008 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.025942s Time used: 0.020119 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 1.000724s Time used: 1.00057 LOG: SAT solveNonLinear - Elapsed time: 1.026666s Cost: 1; Total time: 1.02069 Termination implied by a set of invariant(s): Invariant at l2: arg2 <= 1 + arg3 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - arg2 New Graphs: Transitions: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001512s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.007773s Trying to remove transition: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.018671s Time used: 0.018045 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.001785s Time used: 4.00082 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 4.006629s Time used: 4.00085 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.006247s Time used: 1.00082 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.026592s Time used: 0.02095 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.595705s Time used: 0.595577 LOG: SAT solveNonLinear - Elapsed time: 0.622297s Cost: 1; Total time: 0.616527 Termination implied by a set of invariant(s): Invariant at l2: 0 <= 1 + arg2 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - arg3 New Graphs: Transitions: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001520s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.007402s Trying to remove transition: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.019950s Time used: 0.019482 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.954167s Time used: 0.953562 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.996911s Time used: 0.993662 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.997583s Time used: 0.993534 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.026336s Time used: 0.020153 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.973438s Time used: 0.973322 LOG: SAT solveNonLinear - Elapsed time: 0.999774s Cost: 1; Total time: 0.993475 Termination implied by a set of invariant(s): Invariant at l2: 0 <= 1 + arg1 + arg2 + arg3 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - 2*arg2 + arg3 New Graphs: Transitions: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001703s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.008538s Trying to remove transition: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.025538s Time used: 0.024873 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.947016s Time used: 0.946173 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.994922s Time used: 0.992151 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.997583s Time used: 0.991387 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.029156s Time used: 0.023682 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.967116s Time used: 0.966999 LOG: SAT solveNonLinear - Elapsed time: 0.996271s Cost: 1; Total time: 0.990681 Termination implied by a set of invariant(s): Invariant at l2: arg2 <= 1 + arg1 + arg3 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Quasi-ranking function: 50000 - arg2 - arg3 New Graphs: Transitions: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001896s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.012499s Trying to remove transition: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.023661s Time used: 0.023108 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.940603s Time used: 0.939768 Solving with 2 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.998959s Time used: 0.996179 Solving with 3 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 1.009375s Time used: 1.00545 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.987287s Time used: 0.981527 Termination failed. Trying to show unreachability... Proving unreachability of entry: LOG: CALL check - Post:1 <= 0 - Process 1 * Exit transition: * Postcondition : 1 <= 0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.004702s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.004865s Cannot prove unreachability Proving non-termination of subgraph 1 Transitions: undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Variables: arg1, arg2, arg3 Checking that every undef value has an assignment... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002495s Checking conditional non-termination of SCC {l2}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.048623s Time used: 0.048105 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.127893s Time used: 0.127889 LOG: SAT solveNonLinear - Elapsed time: 0.176516s Cost: 1; Total time: 0.175994 Minimizing number of undef constraints... LOG: CALL solveNonLinear LOG: RETURN solveNonLinear - Elapsed time: 0.027356s Number of undef constraints reduced! Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: 1 <= arg1 Strengthening and disabling EXIT transitions... Closed exits from l2: 1 Strengthening exit transition (result): Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Checking conditional non-termination of SCC {l2}... EXIT TRANSITIONS: Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.032621s Time used: 0.032513 LOG: SAT solveNonLinear - Elapsed time: 0.032621s Cost: 0; Total time: 0.032513 Minimizing number of undef constraints... LOG: CALL solveNonLinear LOG: RETURN solveNonLinear - Elapsed time: 0.011052s Number of undef constraints reduced! Non-termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: 0 <= arg3 Strengthening and disabling EXIT transitions... Closed exits from l2: 1 Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef19, arg2 -> 1 + arg2, arg3 -> 1 + arg3, rest remain the same}> Calling reachability with... Transition: Conditions: 1 <= arg1, 0 <= arg3, OPEN EXITS: --- Reachability graph --- > Graph without transitions. Calling reachability with... Transition: Conditions: 1 <= arg1, 0 <= arg3, OPEN EXITS: > Conditions are reachable! Program does NOT terminate