YES Solver Timeout: 4 Global Timeout: 60 No parsing errors! Init Location: 0 Transitions: undef1, oldX1^0 -> undef2, oldX2^0 -> undef3, oldX3^0 -> undef4, oldX4^0 -> undef5, x0^0 -> (0 + undef1), x1^0 -> (0 + undef2), x2^0 -> (0 + undef3), x3^0 -> (1 + undef4), x4^0 -> (1 + undef5)}> undef16, oldX1^0 -> undef17, oldX2^0 -> undef18, oldX3^0 -> undef19, oldX4^0 -> undef20, x0^0 -> (0 + undef16), x1^0 -> (0 + undef17), x2^0 -> (0 + undef18), x3^0 -> (~(1) + undef19), x4^0 -> (~(1) + undef20)}> undef31, oldX1^0 -> undef32, oldX2^0 -> (0 + x2^0), oldX3^0 -> (0 + x3^0), oldX4^0 -> undef35, oldX5^0 -> undef36, oldX6^0 -> undef37, x0^0 -> (0 + undef31), x1^0 -> (0 + undef32), x2^0 -> (0 + undef35), x3^0 -> (0 + undef36), x4^0 -> (0 + undef37)}> undef46, oldX1^0 -> undef47, oldX2^0 -> undef48, oldX3^0 -> undef49, oldX4^0 -> undef50, x0^0 -> (0 + undef46), x1^0 -> (0 + undef47), x2^0 -> (0 + undef48), x3^0 -> (0 + undef49), x4^0 -> (0 + undef50)}> undef61, oldX1^0 -> undef62, oldX2^0 -> undef63, oldX3^0 -> undef64, oldX4^0 -> undef65, x0^0 -> (0 + undef61), x1^0 -> (0 + undef62), x2^0 -> (0 + undef63), x3^0 -> (0 + undef64), x4^0 -> (0 + undef65)}> (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> (0 + x2^0), oldX3^0 -> (0 + x3^0), oldX4^0 -> (0 + x4^0), oldX5^0 -> undef81, oldX6^0 -> undef82, oldX7^0 -> undef83, oldX8^0 -> undef84, oldX9^0 -> undef85, x0^0 -> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> undef91, oldX1^0 -> undef92, oldX2^0 -> undef93, oldX3^0 -> undef94, oldX4^0 -> undef95, x0^0 -> (0 + undef91), x1^0 -> (0 + undef92), x2^0 -> (0 + undef93), x3^0 -> (0 + undef94), x4^0 -> (0 + undef95)}> undef106, oldX1^0 -> undef107, oldX2^0 -> undef108, oldX3^0 -> undef109, oldX4^0 -> undef110, x0^0 -> (0 + undef106), x1^0 -> (0 + undef107), x2^0 -> (0 + undef108), x3^0 -> (0 + undef109), x4^0 -> (0 + undef110)}> undef121, oldX1^0 -> undef122, oldX2^0 -> undef123, oldX3^0 -> undef124, oldX4^0 -> undef125, x0^0 -> (0 + undef121), x1^0 -> (0 + undef122), x2^0 -> (0 + undef123), x3^0 -> (0 + undef124), x4^0 -> (0 + undef125)}> undef136, oldX1^0 -> undef137, oldX2^0 -> undef138, oldX3^0 -> (0 + x3^0), oldX4^0 -> (0 + x4^0), oldX5^0 -> undef141, oldX6^0 -> undef142, x0^0 -> (0 + undef136), x1^0 -> (0 + undef137), x2^0 -> (0 + undef138), x3^0 -> (0 + undef141), x4^0 -> (0 + undef142)}> undef151, oldX1^0 -> undef152, oldX2^0 -> undef153, oldX3^0 -> (0 + x3^0), oldX4^0 -> (0 + x4^0), oldX5^0 -> undef156, oldX6^0 -> undef157, x0^0 -> (0 + undef151), x1^0 -> (0 + undef152), x2^0 -> (0 + undef153), x3^0 -> (0 + undef156), x4^0 -> (0 + undef157)}> undef166, oldX1^0 -> undef167, oldX2^0 -> undef168, oldX3^0 -> (0 + x3^0), oldX4^0 -> (0 + x4^0), x0^0 -> (0 + undef166), x1^0 -> (0 + undef167), x2^0 -> (0 + undef168), x3^0 -> (0 + undef167), x4^0 -> (0 + undef168)}> undef181, oldX1^0 -> undef182, oldX2^0 -> (0 + x2^0), oldX3^0 -> (0 + x3^0), oldX4^0 -> (0 + x4^0), oldX5^0 -> undef186, oldX6^0 -> undef187, x0^0 -> (0 + undef181), x1^0 -> (0 + undef182), x2^0 -> (0 + undef181), x3^0 -> (0 + undef186), x4^0 -> (0 + undef187)}> undef196, oldX1^0 -> undef197, oldX2^0 -> (0 + x2^0), oldX3^0 -> (0 + x3^0), oldX4^0 -> (0 + x4^0), oldX5^0 -> undef201, oldX6^0 -> undef202, oldX7^0 -> undef203, x0^0 -> (0 + undef196), x1^0 -> (0 + undef197), x2^0 -> (0 + undef201), x3^0 -> (0 + undef202), x4^0 -> (0 + undef203)}> Fresh variables: undef1, undef2, undef3, undef4, undef5, undef16, undef17, undef18, undef19, undef20, undef31, undef32, undef35, undef36, undef37, undef46, undef47, undef48, undef49, undef50, undef61, undef62, undef63, undef64, undef65, undef81, undef82, undef83, undef84, undef85, undef91, undef92, undef93, undef94, undef95, undef106, undef107, undef108, undef109, undef110, undef121, undef122, undef123, undef124, undef125, undef136, undef137, undef138, undef141, undef142, undef151, undef152, undef153, undef156, undef157, undef166, undef167, undef168, undef181, undef182, undef186, undef187, undef196, undef197, undef201, undef202, undef203, Undef variables: undef1, undef2, undef3, undef4, undef5, undef16, undef17, undef18, undef19, undef20, undef31, undef32, undef35, undef36, undef37, undef46, undef47, undef48, undef49, undef50, undef61, undef62, undef63, undef64, undef65, undef81, undef82, undef83, undef84, undef85, undef91, undef92, undef93, undef94, undef95, undef106, undef107, undef108, undef109, undef110, undef121, undef122, undef123, undef124, undef125, undef136, undef137, undef138, undef141, undef142, undef151, undef152, undef153, undef156, undef157, undef166, undef167, undef168, undef181, undef182, undef186, undef187, undef196, undef197, undef201, undef202, undef203, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef166), x1^0 -> (0 + undef167), x2^0 -> (0 + undef168), x3^0 -> (0 + undef167), x4^0 -> (0 + undef168)}> (0 + undef1), x1^0 -> (0 + undef2), x2^0 -> (0 + undef3), x3^0 -> (1 + undef4), x4^0 -> (1 + undef5)}> (0 + undef16), x1^0 -> (0 + undef17), x2^0 -> (0 + undef18), x3^0 -> (~(1) + undef19), x4^0 -> (~(1) + undef20)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef166), x1^0 -> (0 + undef167), x2^0 -> (0 + undef168), x3^0 -> (0 + undef167), x4^0 -> (0 + undef168)}> (0 + undef1), x1^0 -> (0 + undef2), x2^0 -> (0 + undef3), x3^0 -> (1 + undef4), x4^0 -> (1 + undef5)}> (0 + undef16), x1^0 -> (0 + undef17), x2^0 -> (0 + undef18), x3^0 -> (~(1) + undef19), x4^0 -> (~(1) + undef20)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef166), x1^0 -> (0 + undef167), x2^0 -> (0 + undef168), x3^0 -> (0 + undef167), x4^0 -> (0 + undef168)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef166), x1^0 -> (0 + undef167), x2^0 -> (0 + undef168), x3^0 -> (0 + undef167), x4^0 -> (0 + undef168)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef83), x3^0 -> (0 + undef84), x4^0 -> (0 + undef85)}> (0 + undef166), x1^0 -> (0 + undef167), x2^0 -> (0 + undef168), x3^0 -> (0 + undef167), x4^0 -> (0 + undef168)}> (0 + undef16), x1^0 -> (0 + undef17), x2^0 -> (0 + undef18), x3^0 -> (~(1) + undef19), x4^0 -> (~(1) + undef20)}> (0 + undef1), x1^0 -> (0 + undef2), x2^0 -> (0 + undef3), x3^0 -> (1 + undef4), x4^0 -> (1 + undef5)}> Fresh variables: undef1, undef2, undef3, undef4, undef5, undef16, undef17, undef18, undef19, undef20, undef31, undef32, undef35, undef36, undef37, undef46, undef47, undef48, undef49, undef50, undef61, undef62, undef63, undef64, undef65, undef81, undef82, undef83, undef84, undef85, undef91, undef92, undef93, undef94, undef95, undef106, undef107, undef108, undef109, undef110, undef121, undef122, undef123, undef124, undef125, undef136, undef137, undef138, undef141, undef142, undef151, undef152, undef153, undef156, undef157, undef166, undef167, undef168, undef181, undef182, undef186, undef187, undef196, undef197, undef201, undef202, undef203, Undef variables: undef1, undef2, undef3, undef4, undef5, undef16, undef17, undef18, undef19, undef20, undef31, undef32, undef35, undef36, undef37, undef46, undef47, undef48, undef49, undef50, undef61, undef62, undef63, undef64, undef65, undef81, undef82, undef83, undef84, undef85, undef91, undef92, undef93, undef94, undef95, undef106, undef107, undef108, undef109, undef110, undef121, undef122, undef123, undef124, undef125, undef136, undef137, undef138, undef141, undef142, undef151, undef152, undef153, undef156, undef157, undef166, undef167, undef168, undef181, undef182, undef186, undef187, undef196, undef197, undef201, undef202, undef203, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef166, x1^0 -> undef167, x2^0 -> undef168, x3^0 -> undef167, x4^0 -> undef168, rest remain the same}> undef16, x1^0 -> undef17, x2^0 -> undef18, x3^0 -> -1 + undef19, x4^0 -> -1 + undef20, rest remain the same}> undef1, x1^0 -> undef2, x2^0 -> undef3, x3^0 -> 1 + undef4, x4^0 -> 1 + undef5, rest remain the same}> Variables: x0^0, x1^0, x2^0, x3^0, x4^0 Graph 2: Transitions: Variables: Precedence: Graph 0 Graph 1 undef166, x1^0 -> undef167, x2^0 -> undef168, x3^0 -> undef167, x4^0 -> undef168, rest remain the same}> undef1, x1^0 -> undef2, x2^0 -> undef3, x3^0 -> 1 + undef4, x4^0 -> 1 + undef5, rest remain the same}> undef16, x1^0 -> undef17, x2^0 -> undef18, x3^0 -> -1 + undef19, x4^0 -> -1 + undef20, rest remain the same}> undef166, x1^0 -> undef167, x2^0 -> undef168, x3^0 -> undef167, x4^0 -> undef168, rest remain the same}> undef1, x1^0 -> undef2, x2^0 -> undef3, x3^0 -> 1 + undef4, x4^0 -> 1 + undef5, rest remain the same}> undef16, x1^0 -> undef17, x2^0 -> undef18, x3^0 -> -1 + undef19, x4^0 -> -1 + undef20, rest remain the same}> undef166, x1^0 -> undef167, x2^0 -> undef168, x3^0 -> undef167, x4^0 -> undef168, rest remain the same}> undef166, x1^0 -> undef167, x2^0 -> undef168, x3^0 -> undef167, x4^0 -> undef168, rest remain the same}> Graph 2 undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> undef81, x1^0 -> undef82, x2^0 -> undef83, x3^0 -> undef84, x4^0 -> undef85, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 1 ) ( 8 , 2 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.022685 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.009820s Ranking function: -4*x1^0 - 6*x3^0 + 6*x4^0 New Graphs: Transitions: undef16, x1^0 -> undef17, x2^0 -> undef18, x3^0 -> -1 + undef19, x4^0 -> -1 + undef20, rest remain the same}> undef1, x1^0 -> undef2, x2^0 -> undef3, x3^0 -> 1 + undef4, x4^0 -> 1 + undef5, rest remain the same}> Variables: x0^0, x1^0, x2^0, x3^0, x4^0 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.004201s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.039654s Trying to remove transition: undef1, x1^0 -> undef2, x2^0 -> undef3, x3^0 -> 1 + undef4, x4^0 -> 1 + undef5, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.031414s Time used: 0.027303 LOG: SAT solveNonLinear - Elapsed time: 0.031414s Cost: 0; Total time: 0.027303 Termination implied by a set of quasi-invariant(s): Quasi-invariant at l2: x3^0 <= 0 Ranking function: -x3^0 Ranking function and negation of Quasi-Invariant applied New Graphs: Transitions: undef16, x1^0 -> undef17, x2^0 -> undef18, x3^0 -> -1 + undef19, x4^0 -> -1 + undef20, rest remain the same}> Variables: x0^0, x1^0, x2^0, x3^0, x4^0 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002681s Ranking function: -1 + x3^0 New Graphs: Proving termination of subgraph 2 Analyzing SCC {l8}... No cycles found. Program Terminates