/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination of the given C Problem could be proven: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 174 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 5429 ms] (4) LLVM Symbolic Execution Graph (5) SEGraph to IRS [SOUND, 284 ms] (6) IntTRS (7) IRS2T2 [EQUIVALENT, 9 ms] (8) T2IntSys (9) T2 [EQUIVALENT, 1928 ms] (10) YES ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "f" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (a i32, b i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i32, align 4 store %a, %2 store %b, %3 %4 = load %3 %5 = icmp eq %4 0 br %5, %6, %9 6: %7 = load %2 %8 = call i32 @g(i32 %7, i32 0) store %8, %1 br %15 9: %10 = load %2 %11 = add 1 %10 %12 = load %3 %13 = sub %12 1 %14 = call i32 @f(i32 %11, i32 %13) store %14, %1 br %15 15: %16 = load %1 ret %16 *BasicFunctionTypename: "g" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (c i32, d i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i32, align 4 store %c, %2 store %d, %3 %4 = load %2 %5 = icmp eq %4 0 br %5, %6, %8 6: %7 = load %3 store %7, %1 br %14 8: %9 = load %2 %10 = sub %9 1 %11 = load %3 %12 = add 1 %11 %13 = call i32 @g(i32 %10, i32 %12) store %13, %1 br %14 14: %15 = load %1 ret %15 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %a = alloca i32, align 4 %b = alloca i32, align 4 store 0, %1 %2 = call i32 @__VERIFIER_nondet_int() store %2, %a %3 = call i32 @__VERIFIER_nondet_int() store %3, %b %4 = load %a %5 = icmp sge %4 0 br %5, %6, %13 6: %7 = load %b %8 = icmp sge %7 0 br %8, %9, %13 9: %10 = load %a %11 = load %b %12 = call i32 @f(i32 %10, i32 %11) br %13 13: ret 0 Analyze Termination of all function calls matching the pattern: main() ---------------------------------------- (3) LLVMToTerminationGraphProof (EQUIVALENT) Constructed symbolic execution graph for LLVM program and proved memory safety. ---------------------------------------- (4) Obligation: SE Graph ---------------------------------------- (5) SEGraph to IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 165 rulesP rules: f_185 -> f_186(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_186(v1, v2, 3, 1, 4) -> f_187(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 f_187(v1, v3, v2, v4, 3, 1, 4) -> f_188(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 f_188(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_189(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_189(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_190(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_190(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_191(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_191(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_192(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_192(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_193(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_193(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_194(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_194(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_195(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 <= v7 f_194(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_196(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: v7 < 0 f_195(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_197(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_196(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_198(v1, v3, v5, v7, v9, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_197(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_199(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: TRUE f_198(v1, v3, v5, v7, v9, 0, v2, v4, v6, 3, 1, 4) -> f_200(v1, v3, v5, v7, v9, 0, v2, v4, v6, 3, 1, 4) :|: TRUE f_199(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_201(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_201(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_202(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: 0 <= v9 f_201(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_203(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: v9 < 0 f_202(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_204(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_203(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_205(v1, v3, v5, v7, v9, 1, 0, v2, v4, v6, 3, 4) :|: 0 = 0 f_204(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_206(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: TRUE f_205(v1, v3, v5, v7, v9, 1, 0, v2, v4, v6, 3, 4) -> f_207(v1, v3, v5, v7, v9, 1, 0, v2, v4, v6, 3, 4) :|: TRUE f_206(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_208(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_208(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_209(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_209(v1, v3, v5, v7, v9, 1, v2, v4, v6, 0, 3, 4) -> f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) :|: 0 = 0 f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_211(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_522(v7, 0, v792, v1, v2, v3, v4, v5, v6, 1, 3, 4) :|: TRUE f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_546(v7, 0, v899, v1, v2, v3, v4, v5, v6, 1, 3, 4) :|: TRUE f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_566(v7, 0, v899, v1, v2, v3, v4, v5, v6, 1, 3, 4) :|: TRUE f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_587(v7, v9, v1166, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) :|: TRUE f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_595(v7, v9, v1211, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) :|: TRUE f_210(v7, v9, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_602(v7, v9, v1211, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) :|: TRUE f_211(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_236(v7, v9, v1, v2, v3, v4, v5, v6, 0, v7, v9, 3, 1, 4) :|: TRUE f_236(v27, v28, v29, v30, v31, v32, v33, v34, 0, v36, v37, 3, 1, 4) -> f_262(v27, v28, v29, v30, v31, v32, v33, v34, 0, v36, v37, 3, 1, 4) :|: TRUE f_262(v55, v56, v57, v58, v59, v60, v61, v62, 0, v64, v65, 3, 1, 4) -> f_264(v55, v56, v67, v57, v58, v59, v60, v61, v62, v68, 0, v64, v65, 3, 1, 4) :|: 1 <= v67 && v68 = 3 + v67 && 4 <= v68 f_264(v55, v56, v67, v57, v58, v59, v60, v61, v62, v68, 0, v64, v65, 3, 1, 4) -> f_265(v55, v56, v67, v69, v57, v58, v59, v60, v61, v62, v68, v70, 0, v64, v65, 3, 1, 4) :|: 1 <= v69 && v70 = 3 + v69 && 4 <= v70 f_265(v55, v56, v67, v69, v57, v58, v59, v60, v61, v62, v68, v70, 0, v64, v65, 3, 1, 4) -> f_266(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) :|: 1 <= v71 && v72 = 3 + v71 && 4 <= v72 f_266(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) -> f_267(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) :|: TRUE f_267(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) -> f_268(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) :|: TRUE f_268(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) -> f_269(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) :|: 0 = 0 f_269(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) -> f_270(v55, 0, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: v56 = 0 f_269(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) -> f_271(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) :|: v56 != 0 && 1 <= v65 f_270(v55, 0, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_272(v55, 0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_271(v55, v56, v67, v69, v71, v57, v58, v59, v60, v61, v62, v68, v70, v72, 0, v64, v65, 3, 1, 4) -> f_273(v55, v56, v67, v69, v71, 0, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 0 = 0 f_272(v55, 0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_274(v55, 0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_273(v55, v56, v67, v69, v71, 0, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_275(v55, v56, v67, v69, v71, 0, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: TRUE f_274(v55, 0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_276(v55, 0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_275(v55, v56, v67, v69, v71, 0, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_277(v55, v56, v67, v69, v71, 0, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 0 = 0 f_276(v55, 0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_278(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) :|: 0 = 0 f_277(v55, v56, v67, v69, v71, 0, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_279(v55, v56, v67, v69, v71, 0, v75, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: v75 = 1 + v55 && 1 <= v75 f_278(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_280(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 3, 1, 4) :|: TRUE f_278(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_445(0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v65, 1, 3, 4) :|: TRUE f_278(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_524(v55, 0, v811, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) :|: TRUE f_278(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_548(v55, 0, v918, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) :|: TRUE f_278(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_568(v55, 0, v918, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) :|: TRUE f_279(v55, v56, v67, v69, v71, 0, v75, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_281(v55, v56, v67, v69, v71, 0, v75, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 0 = 0 f_280(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 3, 1, 4) -> f_310(v55, 0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, 3, 1, 4) :|: TRUE f_281(v55, v56, v67, v69, v71, 0, v75, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_282(v55, v56, v67, v69, v71, 0, v75, v76, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 1 + v76 = v56 && 0 <= v76 f_282(v55, v56, v67, v69, v71, 0, v75, v76, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) :|: 0 = 0 f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_286(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_455(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_523(v75, 0, v800, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_547(v75, 0, v907, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_567(v75, 0, v907, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_588(v75, v76, v1177, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_596(v75, v76, v1222, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) :|: TRUE f_284(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_603(v75, v76, v1222, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) :|: TRUE f_286(v75, v76, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_262(v75, v76, v57, v58, v59, v60, v61, v62, 0, v64, v65, 3, 1, 4) :|: TRUE f_310(v115, v116, v117, v118, v119, v120, v121, v122, v123, v124, v125, v126, v127, v128, 0, v130, v131, v132, 3, 1, 4) -> f_338(v115, v116, v117, v118, v119, v120, v121, v122, v123, v124, v125, v126, v127, v128, 0, v130, v131, v132, 3, 2, 1, 4) :|: TRUE f_338(v166, v167, v168, v169, v170, v171, v172, v173, v174, v175, v176, v177, v178, v179, 0, v181, v182, v183, 3, 2, 1, 4) -> f_366(v166, v167, v168, v169, v170, v171, v172, v173, v174, v175, v176, v177, v178, v179, 0, v181, v182, v183, 3, 1, 4) :|: TRUE f_366(v217, v218, v219, v220, v221, v222, v223, v224, v225, v226, v227, v228, v229, v230, 0, v232, v233, v234, 3, 1, 4) -> f_394(v217, v218, v219, v220, v221, v222, v223, v224, v225, v226, v227, v228, v229, v230, 0, v232, v233, v234, 3, 1, 4) :|: TRUE f_394(v268, v269, v270, v271, v272, v273, v274, v275, v276, v277, v278, v279, v280, v281, 0, v283, v284, v285, 3, 1, 4) -> f_422(v268, v269, v270, v271, v272, v273, v274, v275, v276, v277, v278, v279, v280, v281, 0, v283, v284, v285, 3, 1, 4) :|: TRUE f_422(v319, v320, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, 0, v334, v335, v336, 3, 1, 4) -> f_424(v319, v320, v337, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, 0, v334, v335, v336, 3, 1, 4) :|: 1 <= v337 && v338 = 3 + v337 && 4 <= v338 f_424(v319, v320, v337, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, 0, v334, v335, v336, 3, 1, 4) -> f_426(v319, v320, v337, v339, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, 0, v334, v335, v336, 3, 1, 4) :|: 1 <= v339 && v340 = 3 + v339 && 4 <= v340 f_426(v319, v320, v337, v339, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, 0, v334, v335, v336, 3, 1, 4) -> f_427(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) :|: 1 <= v341 && v342 = 3 + v341 && 4 <= v342 f_427(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) -> f_428(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) :|: TRUE f_428(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) -> f_429(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) :|: TRUE f_429(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) -> f_430(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) :|: 0 = 0 f_430(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) -> f_431(0, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: v319 = 0 f_430(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) -> f_432(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) :|: v319 != 0 && 1 <= v336 f_431(0, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_433(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: 0 = 0 f_432(v319, v320, v337, v339, v341, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, 0, v334, v335, v336, 3, 1, 4) -> f_434(v319, v320, v337, v339, v341, 0, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: 0 = 0 f_433(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_435(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: TRUE f_434(v319, v320, v337, v339, v341, 0, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_436(v319, v320, v337, v339, v341, 0, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: TRUE f_435(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_437(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: 0 = 0 f_436(v319, v320, v337, v339, v341, 0, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_438(v319, v320, v337, v339, v341, 0, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: 0 = 0 f_437(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_439(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: TRUE f_438(v319, v320, v337, v339, v341, 0, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_440(v319, v320, v337, v339, v341, 0, v346, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: 1 + v346 = v319 && 0 <= v346 f_439(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_441(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: TRUE f_440(v319, v320, v337, v339, v341, 0, v346, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_442(v319, v320, v337, v339, v341, 0, v346, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: 0 = 0 f_441(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_443(0, v320, v337, v339, v341, 1, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: 0 = 0 f_442(v319, v320, v337, v339, v341, 0, v346, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_444(v319, v320, v337, v339, v341, 0, v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) :|: v347 = 1 + v320 && 1 <= v347 f_444(v319, v320, v337, v339, v341, 0, v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4) -> f_446(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) :|: 0 = 0 f_445(0, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v65, 1, 3, 4) -> f_447(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) :|: 0 = 0 f_446(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) -> f_448(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) :|: TRUE f_446(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) -> f_451(0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, v334, v335, v336, 1, v320, 3, 4) :|: TRUE f_446(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) -> f_525(v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) :|: TRUE f_446(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) -> f_549(v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) :|: TRUE f_446(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) -> f_569(v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) :|: TRUE f_447(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) -> f_449(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) :|: TRUE f_448(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4) -> f_422(v346, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, 0, v334, v335, v336, 3, 1, 4) :|: TRUE f_449(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) -> f_450(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) :|: TRUE f_450(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) -> f_452(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) :|: 0 = 0 f_451(0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, v334, v335, v336, 1, v320, 3, 4) -> f_453(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: 0 = 0 f_452(0, v67, v69, v71, 1, v57, v58, v59, v60, v61, v62, v68, v70, v72, v65, 3, 4) -> f_471(0, 0, v67, v69, v71, 1, 0, v68, v70, v72, v57, v58, v59, v60, v61, v62, 0, v65, 3, 4) :|: TRUE f_453(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_456(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: TRUE f_456(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_458(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: TRUE f_458(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_460(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) :|: 0 = 0 f_460(1, v320, v337, v339, v341, 0, v347, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 4) -> f_472(1, v320, v337, v339, v341, 0, 0, v347, v347, v338, v340, v342, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v334, v335, v336, 3, 1, 4) :|: TRUE f_471(v488, 0, v490, v491, v492, 1, v494, v495, v496, v497, v498, v499, v500, v501, v502, v503, v504, v505, 3, 4) -> f_493(v488, 0, v490, v491, v492, 1, v494, v495, v496, v497, 3, 4) :|: TRUE f_472(v506, v507, v508, v509, v510, 0, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, v522, v523, v524, v525, v526, v527, v528, v529, v530, v531, v532, 3, 1, 4) -> f_494(v506, v507, v508, v509, v510, 0, v512, v513, v514, v515, v516, v517, 3, 1, 4) :|: TRUE f_493(v659, 0, v661, v662, v663, 1, v665, v666, v667, v668, 3, 4) -> f_519(v659, 0, v661, v662, v663, 1, v665, v666, v667, v668, 3, 4) :|: TRUE f_522(v7, 0, v792, v1, v2, v3, v4, v5, v6, 1, 3, 4) -> f_528(v1, v3, v5, v7, 0, 1, v792, v2, v4, v6, 3, 4) :|: 0 = 0 f_523(v75, 0, v800, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) -> f_529(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_524(v55, 0, v811, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_530(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_525(v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) -> f_531(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: 0 = 0 f_528(v1, v3, v5, v7, 0, 1, v792, v2, v4, v6, 3, 4) -> f_532(v1, v3, v5, v7, 0, 1, v792, v2, v4, v6, 3, 4) :|: TRUE f_529(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_533(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_530(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_534(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_531(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_535(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: TRUE f_533(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_536(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_534(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_537(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_535(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_538(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: TRUE f_536(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_539(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_537(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_540(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_538(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_541(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: 0 = 0 f_539(v55, 1, v67, v69, v71, 0, v75, v800, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_565(v55, 1, v67, v69, v71, 0, v75, 0, v800, v68, v70, v72, v57, v58, v59, v60, v61, v62, v64, v65, 3, 1, 4) :|: TRUE f_540(v55, 0, v67, v69, v71, 1, v811, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_519(v55, 0, v67, v69, v71, 1, v811, v68, v70, v72, 3, 4) :|: TRUE f_541(v319, v320, v337, v339, v341, 0, v346, v347, v822, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_494(v319, v320, v337, v339, v341, 0, v346, v347, v822, v338, v340, v342, 3, 1, 4) :|: TRUE f_546(v7, 0, v899, v1, v2, v3, v4, v5, v6, 1, 3, 4) -> f_552(v1, v3, v5, v7, 0, 1, v899, v2, v4, v6, 3, 4) :|: 0 = 0 f_547(v75, 0, v907, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) -> f_553(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_548(v55, 0, v918, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_554(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: 0 = 0 f_549(v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) -> f_555(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: 0 = 0 f_552(v1, v3, v5, v7, 0, 1, v899, v2, v4, v6, 3, 4) -> f_557(v1, v3, v5, v7, 0, 1, v899, v2, v4, v6, 3, 4) :|: TRUE f_553(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_558(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_554(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_559(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_555(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_560(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: TRUE f_557(v1, v3, v5, v7, 0, 1, v899, v2, v4, v6, 3, 4) -> f_532(v1, v3, v5, v7, 0, 1, v899, v2, v4, v6, 3, 4) :|: TRUE f_558(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_562(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_559(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_563(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_560(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_564(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: TRUE f_562(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_536(v55, 1, v67, v69, v71, 0, v75, v907, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_563(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) -> f_537(v55, 0, v67, v69, v71, 1, v918, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 4) :|: TRUE f_564(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) -> f_538(v319, v320, v337, v339, v341, 0, v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v338, v340, v342, v334, v335, v336, 3, 1, 4, 2) :|: TRUE f_565(v1033, v1034, v1035, v1036, v1037, 0, v1039, v1040, v1041, v1042, v1043, v1044, v1045, v1046, v1047, v1048, v1049, v1050, v1051, v1052, 3, 1, 4) -> f_578(v1033, v1034, v1035, v1036, v1037, 0, v1039, v1040, v1041, v1042, v1043, v1044, 3, 1, 4) :|: TRUE f_566(v7, 0, v899, v1, v2, v3, v4, v5, v6, 1, 3, 4) -> f_546(v7, 0, v899, v1, v2, v3, v4, v5, v6, 1, 3, 4) :|: TRUE f_567(v75, 0, v907, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) -> f_547(v75, 0, v907, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, v55, 1, 3, 4) :|: TRUE f_568(v55, 0, v918, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) -> f_548(v55, 0, v918, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, v64, v65, 1, 3, 4) :|: TRUE f_569(v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) -> f_549(v346, v347, v929, v321, v322, v323, v324, v325, v326, v327, v328, v329, v330, v331, v332, v337, v338, v339, v340, v341, v342, 0, v334, v335, v336, v319, v320, 3, 1, 4, 2) :|: TRUE f_587(v7, v9, v1166, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_589(v1, v3, v5, v7, v9, 1, v1166, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_588(v75, v76, v1177, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_590(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 0 = 0 f_589(v1, v3, v5, v7, v9, 1, v1166, v2, v4, v6, 0, 3, 4) -> f_591(v1, v3, v5, v7, v9, 1, v1166, v2, v4, v6, 0, 3, 4) :|: TRUE f_590(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_592(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: TRUE f_592(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_593(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: TRUE f_593(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_594(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 0 = 0 f_594(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_578(v55, v56, v67, v69, v71, 0, v75, v76, v1177, v68, v70, v72, 3, 1, 4) :|: TRUE f_595(v7, v9, v1211, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_597(v1, v3, v5, v7, v9, 1, v1211, v2, v4, v6, 0, 3, 4) :|: 0 = 0 f_596(v75, v76, v1222, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_598(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: 0 = 0 f_597(v1, v3, v5, v7, v9, 1, v1211, v2, v4, v6, 0, 3, 4) -> f_599(v1, v3, v5, v7, v9, 1, v1211, v2, v4, v6, 0, 3, 4) :|: TRUE f_598(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_600(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: TRUE f_599(v1, v3, v5, v7, v9, 1, v1211, v2, v4, v6, 0, 3, 4) -> f_591(v1, v3, v5, v7, v9, 1, v1211, v2, v4, v6, 0, 3, 4) :|: TRUE f_600(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_601(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: TRUE f_601(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) -> f_593(v55, v56, v67, v69, v71, 0, v75, v76, v1222, v57, v58, v59, v60, v61, v62, v68, v70, v72, v64, v65, 3, 1, 4) :|: TRUE f_602(v7, v9, v1211, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) -> f_595(v7, v9, v1211, v1, v2, v3, v4, v5, v6, 0, 1, 3, 4) :|: TRUE f_603(v75, v76, v1222, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) -> f_596(v75, v76, v1222, v57, v58, v59, v60, v61, v62, v67, v68, v69, v70, v71, v72, 0, v64, v65, v55, v56, 3, 1, 4) :|: TRUE Combined rules. Obtained 16 rulesP rules: f_269(v55:0, 0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_430(v55:0, 0, v337:0, v339:0, v341:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v67:0, v68:0, v69:0, v70:0, v71:0, v72:0, 3 + v337:0, 3 + v339:0, 3 + v341:0, 0, v64:0, v65:0, v55:0, 3, 1, 4) :|: v337:0 > 0 && v339:0 > 0 && v341:0 > 0 f_269(v55:0, 0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_519(v55:0, 0, v67:0, v69:0, v71:0, 1, v811:0, v68:0, v70:0, v72:0, 3, 4) :|: TRUE f_430(1 + v346:0, v320:0, v337:0, v339:0, v341:0, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, v338:0, v340:0, v342:0, 0, v334:0, v335:0, v336:0, 3, 1, 4) -> f_494(1, v320:0, v337:0, v339:0, v341:0, 0, 0, 1 + v320:0, 1 + v320:0, v338:0, v340:0, v342:0, 3, 1, 4) :|: v336:0 > 0 && v346:0 > -1 && v320:0 > -1 f_185 -> f_591(v1:0, v3:0, v5:0, v7:0, v9:0, 1, v1211:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 > -1 && v7:0 > -1 f_430(1 + v346:0, v320:0, v337:0, v339:0, v341:0, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, v338:0, v340:0, v342:0, 0, v334:0, v335:0, v336:0, 3, 1, 4) -> f_494(1 + v346:0, v320:0, v337:0, v339:0, v341:0, 0, v346:0, 1 + v320:0, v822:0, v338:0, v340:0, v342:0, 3, 1, 4) :|: v336:0 > 0 && v346:0 > -1 && v320:0 > -1 f_185 -> f_200(v1:0, v3:0, v5:0, v7:0, v9:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v7:0 < 0 f_185 -> f_532(v1:0, v3:0, v5:0, v7:0, 0, 1, v792:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 > -1 && v7:0 > -1 f_269(v55:0, 1 + v76:0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_578(v55:0, 1 + v76:0, v67:0, v69:0, v71:0, 0, 1 + v55:0, v76:0, v1222:0, v68:0, v70:0, v72:0, 3, 1, 4) :|: v65:0 > 0 && v76:0 > -1 && v55:0 > -1 f_269(v55:0, 1 + v76:0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_578(v55:0, 1, v67:0, v69:0, v71:0, 0, 1 + v55:0, 0, v907:0, v68:0, v70:0, v72:0, 3, 1, 4) :|: v65:0 > 0 && v76:0 > -1 && v55:0 > -1 f_269(v55:0, 0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_519(0, 0, v67:0, v69:0, v71:0, 1, 0, v68:0, v70:0, v72:0, 3, 4) :|: TRUE f_430(0, v320:0, v337:0, v339:0, v341:0, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, v338:0, v340:0, v342:0, 0, v334:0, v335:0, v336:0, 3, 1, 4) -> f_443(0, v320:0, v337:0, v339:0, v341:0, 1, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, v338:0, v340:0, v342:0, v334:0, v335:0, v336:0, 3, 4) :|: TRUE f_430(1 + v346:0, v320:0, v337:0, v339:0, v341:0, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, v338:0, v340:0, v342:0, 0, v334:0, v335:0, v336:0, 3, 1, 4) -> f_430(v346:0, 1 + v320:0, v337:1, v339:1, v341:1, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, 3 + v337:1, 3 + v339:1, 3 + v341:1, 0, v334:0, v335:0, v336:0, 3, 1, 4) :|: v336:0 > 0 && v346:0 > -1 && v337:1 > 0 && v339:1 > 0 && v341:1 > 0 && v320:0 > -1 f_269(v55:0, 1 + v76:0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_269(1 + v55:0, v76:0, v67:1, v69:1, v71:1, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, 3 + v67:1, 3 + v69:1, 3 + v71:1, 0, v64:0, v65:0, 3, 1, 4) :|: v65:0 > 0 && v76:0 > -1 && v67:1 > 0 && v69:1 > 0 && v71:1 > 0 && v55:0 > -1 f_269(v55:0, 1 + v76:0, v67:0, v69:0, v71:0, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, 0, v64:0, v65:0, 3, 1, 4) -> f_455(0, v67:0, v69:0, v71:0, 1, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, v65:0, 3, 4) :|: v65:0 > 0 && v76:0 > -1 && v55:0 > -1 f_185 -> f_207(v1:0, v3:0, v5:0, v7:0, v9:0, 1, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 < 0 && v7:0 > -1 f_185 -> f_269(v7:0, v9:0, v67:0, v69:0, v71:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 3 + v5:0, 3 + v67:0, 3 + v69:0, 3 + v71:0, 0, v7:0, v9:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v7:0 > -1 && v9:0 > -1 && v67:0 > 0 && v69:0 > 0 && v71:0 > 0 Filtered unneeded arguments: f_269(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_269(x1, x2, x17) f_430(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27) -> f_430(x1, x2, x24) Removed division, modulo operations, cleaned up constraints. Obtained 16 rules.P rules: f_269(v55:0, cons_0, v65:0) -> f_430(v55:0, 0, v55:0) :|: TRUE && cons_0 = 0 f_269(v55:0, cons_0, v65:0) -> f_519(v55:0, 0, v67:0, v69:0, v71:0, 1, v811:0, v68:0, v70:0, v72:0, 3, 4) :|: TRUE && cons_0 = 0 f_430(sum~cons_1~v346:0, v320:0, v336:0) -> f_494(1, v320:0, v337:0, v339:0, v341:0, 0, 0, 1 + v320:0, 1 + v320:0, v338:0, v340:0, v342:0, 3, 1, 4) :|: v346:0 > -1 && v320:0 > -1 && v336:0 > 0 && sum~cons_1~v346:0 = 1 + v346:0 f_185 -> f_591(v1:0, v3:0, v5:0, v7:0, v9:0, 1, v1211:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 4) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v7:0 > -1 && v9:0 > -1 f_430(sum~cons_1~v346:0, v320:0, v336:0) -> f_494(1 + v346:0, v320:0, v337:0, v339:0, v341:0, 0, v346:0, 1 + v320:0, v822:0, v338:0, v340:0, v342:0, 3, 1, 4) :|: v346:0 > -1 && v320:0 > -1 && v336:0 > 0 && sum~cons_1~v346:0 = 1 + v346:0 f_185 -> f_200(v1:0, v3:0, v5:0, v7:0, v9:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v3:0 > 0 && v7:0 < 0 && v5:0 > 0 f_185 -> f_532(v1:0, v3:0, v5:0, v7:0, 0, 1, v792:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v1:0 > 0 && v3:0 > 0 && v7:0 > -1 && v5:0 > 0 f_269(v55:0, sum~cons_1~v76:0, v65:0) -> f_578(v55:0, 1 + v76:0, v67:0, v69:0, v71:0, 0, 1 + v55:0, v76:0, v1222:0, v68:0, v70:0, v72:0, 3, 1, 4) :|: v76:0 > -1 && v55:0 > -1 && v65:0 > 0 && sum~cons_1~v76:0 = 1 + v76:0 f_269(v55:0, sum~cons_1~v76:0, v65:0) -> f_578(v55:0, 1, v67:0, v69:0, v71:0, 0, 1 + v55:0, 0, v907:0, v68:0, v70:0, v72:0, 3, 1, 4) :|: v76:0 > -1 && v55:0 > -1 && v65:0 > 0 && sum~cons_1~v76:0 = 1 + v76:0 f_269(v55:0, cons_0, v65:0) -> f_519(0, 0, v67:0, v69:0, v71:0, 1, 0, v68:0, v70:0, v72:0, 3, 4) :|: TRUE && cons_0 = 0 f_430(cons_0, v320:0, v336:0) -> f_443(0, v320:0, v337:0, v339:0, v341:0, 1, v321:0, v322:0, v323:0, v324:0, v325:0, v326:0, v327:0, v328:0, v329:0, v330:0, v331:0, v332:0, v338:0, v340:0, v342:0, v334:0, v335:0, v336:0, 3, 4) :|: TRUE && cons_0 = 0 f_430(sum~cons_1~v346:0, v320:0, v336:0) -> f_430(v346:0, 1 + v320:0, v336:0) :|: v346:0 > -1 && v320:0 > -1 && v336:0 > 0 && sum~cons_1~v346:0 = 1 + v346:0 f_269(v55:0, sum~cons_1~v76:0, v65:0) -> f_269(1 + v55:0, v76:0, v65:0) :|: v76:0 > -1 && v55:0 > -1 && v65:0 > 0 && sum~cons_1~v76:0 = 1 + v76:0 f_269(v55:0, sum~cons_1~v76:0, v65:0) -> f_455(0, v67:0, v69:0, v71:0, 1, v57:0, v58:0, v59:0, v60:0, v61:0, v62:0, v68:0, v70:0, v72:0, v65:0, 3, 4) :|: v76:0 > -1 && v55:0 > -1 && v65:0 > 0 && sum~cons_1~v76:0 = 1 + v76:0 f_185 -> f_207(v1:0, v3:0, v5:0, v7:0, v9:0, 1, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 4) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v7:0 > -1 && v9:0 < 0 f_185 -> f_269(v7:0, v9:0, v9:0) :|: v7:0 > -1 && v9:0 > -1 ---------------------------------------- (6) Obligation: Rules: f_269(v55:0, cons_0, v65:0) -> f_430(v55:0, 0, v55:0) :|: TRUE && cons_0 = 0 f_269(x, x1, x2) -> f_519(x, 0, x3, x4, x5, 1, x6, x7, x8, x9, 3, 4) :|: TRUE && x1 = 0 f_430(sum~cons_1~v346:0, v320:0, v336:0) -> f_494(1, v320:0, v337:0, v339:0, v341:0, 0, 0, 1 + v320:0, 1 + v320:0, v338:0, v340:0, v342:0, 3, 1, 4) :|: v346:0 > -1 && v320:0 > -1 && v336:0 > 0 && sum~cons_1~v346:0 = 1 + v346:0 f_185 -> f_591(v1:0, v3:0, v5:0, v7:0, v9:0, 1, v1211:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 4) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v7:0 > -1 && v9:0 > -1 f_430(x10, x11, x12) -> f_494(1 + x13, x11, x14, x15, x16, 0, x13, 1 + x11, x17, x18, x19, x20, 3, 1, 4) :|: x13 > -1 && x11 > -1 && x12 > 0 && x10 = 1 + x13 f_185 -> f_200(x21, x22, x23, x24, x25, 0, 3 + x21, 3 + x22, 3 + x23, 3, 1, 4) :|: x21 > 0 && x22 > 0 && x24 < 0 && x23 > 0 f_185 -> f_532(x26, x27, x28, x29, 0, 1, x30, 3 + x26, 3 + x27, 3 + x28, 3, 4) :|: x26 > 0 && x27 > 0 && x29 > -1 && x28 > 0 f_269(x31, x32, x33) -> f_578(x31, 1 + x34, x35, x36, x37, 0, 1 + x31, x34, x38, x39, x40, x41, 3, 1, 4) :|: x34 > -1 && x31 > -1 && x33 > 0 && x32 = 1 + x34 f_269(x42, x43, x44) -> f_578(x42, 1, x45, x46, x47, 0, 1 + x42, 0, x48, x49, x50, x51, 3, 1, 4) :|: x52 > -1 && x42 > -1 && x44 > 0 && x43 = 1 + x52 f_269(x53, x54, x55) -> f_519(0, 0, x56, x57, x58, 1, 0, x59, x60, x61, 3, 4) :|: TRUE && x54 = 0 f_430(x62, x63, x64) -> f_443(0, x63, x65, x66, x67, 1, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77, x78, x79, x80, x81, x82, x83, x84, x64, 3, 4) :|: TRUE && x62 = 0 f_430(x85, x86, x87) -> f_430(x88, 1 + x86, x87) :|: x88 > -1 && x86 > -1 && x87 > 0 && x85 = 1 + x88 f_269(x89, x90, x91) -> f_269(1 + x89, x92, x91) :|: x92 > -1 && x89 > -1 && x91 > 0 && x90 = 1 + x92 f_269(x93, x94, x95) -> f_455(0, x96, x97, x98, 1, x99, x100, x101, x102, x103, x104, x105, x106, x107, x95, 3, 4) :|: x108 > -1 && x93 > -1 && x95 > 0 && x94 = 1 + x108 f_185 -> f_207(x109, x110, x111, x112, x113, 1, 0, 3 + x109, 3 + x110, 3 + x111, 3, 4) :|: x109 > 0 && x110 > 0 && x111 > 0 && x112 > -1 && x113 < 0 f_185 -> f_269(x114, x115, x115) :|: x114 > -1 && x115 > -1 Start term: f_185 ---------------------------------------- (7) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_269_26,1) (f_430_26,2) (f_519_26,3) (f_494_26,4) (f_185_26,5) (f_591_26,6) (f_200_26,7) (f_532_26,8) (f_578_26,9) (f_443_26,10) (f_455_26,11) (f_207_26,12) ---------------------------------------- (8) Obligation: START: 5; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); oldX46 := nondet(); oldX47 := nondet(); oldX48 := nondet(); assume(0 = 0 && oldX1 = 0); x0 := oldX0; x1 := 0; x2 := oldX0; x3 := oldX26; x4 := oldX27; x5 := oldX28; x6 := oldX29; x7 := oldX30; x8 := oldX31; x9 := oldX32; x10 := oldX33; x11 := oldX34; x12 := oldX35; x13 := oldX36; x14 := oldX37; x15 := oldX38; x16 := oldX39; x17 := oldX40; x18 := oldX41; x19 := oldX42; x20 := oldX43; x21 := oldX44; x22 := oldX45; x23 := oldX46; x24 := oldX47; x25 := oldX48; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); oldX46 := nondet(); assume(0 = 0 && oldX1 = 0); x0 := oldX0; x1 := 0; x2 := oldX26; x3 := oldX27; x4 := oldX28; x5 := 1; x6 := oldX29; x7 := oldX30; x8 := oldX31; x9 := oldX32; x10 := 3; x11 := 4; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; x22 := oldX43; x23 := oldX44; x24 := oldX45; x25 := oldX46; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX43 := oldX0 - 1; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX43 > -1 && oldX1 > -1 && oldX2 > 0 && oldX0 = 1 + oldX43); x0 := 1; x1 := oldX1; x2 := oldX26; x3 := oldX27; x4 := oldX28; x5 := 0; x6 := 0; x7 := 1 + oldX1; x8 := 1 + oldX1; x9 := oldX29; x10 := oldX30; x11 := oldX31; x12 := 3; x13 := 1; x14 := 4; x15 := oldX32; x16 := oldX33; x17 := oldX34; x18 := oldX35; x19 := oldX36; x20 := oldX37; x21 := oldX38; x22 := oldX39; x23 := oldX40; x24 := oldX41; x25 := oldX42; TO: 4; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); assume(oldX26 > 0 && oldX27 > 0 && oldX28 > 0 && oldX29 > -1 && oldX30 > -1); x0 := oldX26; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := oldX30; x5 := 1; x6 := oldX31; x7 := 3 + oldX26; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 0; x11 := 3; x12 := 4; x13 := oldX32; x14 := oldX33; x15 := oldX34; x16 := oldX35; x17 := oldX36; x18 := oldX37; x19 := oldX38; x20 := oldX39; x21 := oldX40; x22 := oldX41; x23 := oldX42; x24 := oldX43; x25 := oldX44; TO: 6; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := oldX0 - 1; oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); assume(oldX26 > -1 && oldX1 > -1 && oldX2 > 0 && oldX0 = 1 + oldX26); x0 := 1 + oldX26; x1 := oldX1; x2 := oldX27; x3 := oldX28; x4 := oldX29; x5 := 0; x6 := oldX0 - 1; x7 := 1 + oldX1; x8 := oldX30; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := 3; x13 := 1; x14 := 4; x15 := oldX34; x16 := oldX35; x17 := oldX36; x18 := oldX37; x19 := oldX38; x20 := oldX39; x21 := oldX40; x22 := oldX41; x23 := oldX42; x24 := oldX43; x25 := oldX44; TO: 4; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); assume(oldX26 > 0 && oldX27 > 0 && oldX29 < 0 && oldX28 > 0); x0 := oldX26; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := oldX30; x5 := 0; x6 := 3 + oldX26; x7 := 3 + oldX27; x8 := 3 + oldX28; x9 := 3; x10 := 1; x11 := 4; x12 := oldX31; x13 := oldX32; x14 := oldX33; x15 := oldX34; x16 := oldX35; x17 := oldX36; x18 := oldX37; x19 := oldX38; x20 := oldX39; x21 := oldX40; x22 := oldX41; x23 := oldX42; x24 := oldX43; x25 := oldX44; TO: 7; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); assume(oldX26 > 0 && oldX27 > 0 && oldX29 > -1 && oldX28 > 0); x0 := oldX26; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 1; x6 := oldX30; x7 := 3 + oldX26; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 3; x11 := 4; x12 := oldX31; x13 := oldX32; x14 := oldX33; x15 := oldX34; x16 := oldX35; x17 := oldX36; x18 := oldX37; x19 := oldX38; x20 := oldX39; x21 := oldX40; x22 := oldX41; x23 := oldX42; x24 := oldX43; x25 := oldX44; TO: 8; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := oldX1 - 1; oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); assume(oldX26 > -1 && oldX0 > -1 && oldX2 > 0 && oldX1 = 1 + oldX26); x0 := oldX0; x1 := 1 + oldX26; x2 := oldX27; x3 := oldX28; x4 := oldX29; x5 := 0; x6 := 1 + oldX0; x7 := oldX1 - 1; x8 := oldX30; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := 3; x13 := 1; x14 := 4; x15 := oldX34; x16 := oldX35; x17 := oldX36; x18 := oldX37; x19 := oldX38; x20 := oldX39; x21 := oldX40; x22 := oldX41; x23 := oldX42; x24 := oldX43; x25 := oldX44; TO: 9; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX44 := oldX1 - 1; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); assume(oldX44 > -1 && oldX0 > -1 && oldX2 > 0 && oldX1 = 1 + oldX44); x0 := oldX0; x1 := 1; x2 := oldX26; x3 := oldX27; x4 := oldX28; x5 := 0; x6 := 1 + oldX0; x7 := 0; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := 3; x13 := 1; x14 := 4; x15 := oldX33; x16 := oldX34; x17 := oldX35; x18 := oldX36; x19 := oldX37; x20 := oldX38; x21 := oldX39; x22 := oldX40; x23 := oldX41; x24 := oldX42; x25 := oldX43; TO: 9; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); assume(0 = 0 && oldX1 = 0); x0 := 0; x1 := 0; x2 := oldX26; x3 := oldX27; x4 := oldX28; x5 := 1; x6 := 0; x7 := oldX29; x8 := oldX30; x9 := oldX31; x10 := 3; x11 := 4; x12 := oldX32; x13 := oldX33; x14 := oldX34; x15 := oldX35; x16 := oldX36; x17 := oldX37; x18 := oldX38; x19 := oldX39; x20 := oldX40; x21 := oldX41; x22 := oldX42; x23 := oldX43; x24 := oldX44; x25 := oldX45; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); assume(0 = 0 && oldX0 = 0); x0 := 0; x1 := oldX1; x2 := oldX26; x3 := oldX27; x4 := oldX28; x5 := 1; x6 := oldX29; x7 := oldX30; x8 := oldX31; x9 := oldX32; x10 := oldX33; x11 := oldX34; x12 := oldX35; x13 := oldX36; x14 := oldX37; x15 := oldX38; x16 := oldX39; x17 := oldX40; x18 := oldX41; x19 := oldX42; x20 := oldX43; x21 := oldX44; x22 := oldX45; x23 := oldX2; x24 := 3; x25 := 4; TO: 10; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := oldX0 - 1; oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); oldX46 := nondet(); oldX47 := nondet(); oldX48 := nondet(); oldX49 := nondet(); assume(oldX26 > -1 && oldX1 > -1 && oldX2 > 0 && oldX0 = 1 + oldX26); x0 := oldX0 - 1; x1 := 1 + oldX1; x2 := oldX2; x3 := oldX27; x4 := oldX28; x5 := oldX29; x6 := oldX30; x7 := oldX31; x8 := oldX32; x9 := oldX33; x10 := oldX34; x11 := oldX35; x12 := oldX36; x13 := oldX37; x14 := oldX38; x15 := oldX39; x16 := oldX40; x17 := oldX41; x18 := oldX42; x19 := oldX43; x20 := oldX44; x21 := oldX45; x22 := oldX46; x23 := oldX47; x24 := oldX48; x25 := oldX49; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := oldX1 - 1; oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); oldX46 := nondet(); oldX47 := nondet(); oldX48 := nondet(); oldX49 := nondet(); assume(oldX26 > -1 && oldX0 > -1 && oldX2 > 0 && oldX1 = 1 + oldX26); x0 := 1 + oldX0; x1 := oldX1 - 1; x2 := oldX2; x3 := oldX27; x4 := oldX28; x5 := oldX29; x6 := oldX30; x7 := oldX31; x8 := oldX32; x9 := oldX33; x10 := oldX34; x11 := oldX35; x12 := oldX36; x13 := oldX37; x14 := oldX38; x15 := oldX39; x16 := oldX40; x17 := oldX41; x18 := oldX42; x19 := oldX43; x20 := oldX44; x21 := oldX45; x22 := oldX46; x23 := oldX47; x24 := oldX48; x25 := oldX49; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX47 := oldX1 - 1; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); oldX46 := nondet(); assume(oldX47 > -1 && oldX0 > -1 && oldX2 > 0 && oldX1 = 1 + oldX47); x0 := 0; x1 := oldX26; x2 := oldX27; x3 := oldX28; x4 := 1; x5 := oldX29; x6 := oldX30; x7 := oldX31; x8 := oldX32; x9 := oldX33; x10 := oldX34; x11 := oldX35; x12 := oldX36; x13 := oldX37; x14 := oldX2; x15 := 3; x16 := 4; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; x22 := oldX43; x23 := oldX44; x24 := oldX45; x25 := oldX46; TO: 11; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); assume(oldX26 > 0 && oldX27 > 0 && oldX28 > 0 && oldX29 > -1 && oldX30 < 0); x0 := oldX26; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := oldX30; x5 := 1; x6 := 0; x7 := 3 + oldX26; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 3; x11 := 4; x12 := oldX31; x13 := oldX32; x14 := oldX33; x15 := oldX34; x16 := oldX35; x17 := oldX36; x18 := oldX37; x19 := oldX38; x20 := oldX39; x21 := oldX40; x22 := oldX41; x23 := oldX42; x24 := oldX43; x25 := oldX44; TO: 12; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := x22; oldX23 := x23; oldX24 := x24; oldX25 := x25; oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); oldX44 := nondet(); oldX45 := nondet(); oldX46 := nondet(); oldX47 := nondet(); oldX48 := nondet(); oldX49 := nondet(); oldX50 := nondet(); assume(oldX26 > -1 && oldX27 > -1); x0 := oldX26; x1 := oldX27; x2 := oldX27; x3 := oldX28; x4 := oldX29; x5 := oldX30; x6 := oldX31; x7 := oldX32; x8 := oldX33; x9 := oldX34; x10 := oldX35; x11 := oldX36; x12 := oldX37; x13 := oldX38; x14 := oldX39; x15 := oldX40; x16 := oldX41; x17 := oldX42; x18 := oldX43; x19 := oldX44; x20 := oldX45; x21 := oldX46; x22 := oldX47; x23 := oldX48; x24 := oldX49; x25 := oldX50; TO: 1; ---------------------------------------- (9) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 33, 35, 36 using the following rank functions: - Rank function 1: RF for loc. 16: 1+2*x0 RF for loc. 21: 2*x0 Bound for (chained) transitions 35: 2 Bound for (chained) transitions 36: 2 - Rank function 2: RF for loc. 16: 1 RF for loc. 21: 0 Bound for (chained) transitions 33: 1 * Removed transitions 18, 26, 27 using the following rank functions: - Rank function 1: RF for loc. 15: 1+2*x1 RF for loc. 17: 2*x1 Bound for (chained) transitions 26: 2 Bound for (chained) transitions 27: 2 - Rank function 2: RF for loc. 15: 0 RF for loc. 17: -1 Bound for (chained) transitions 18: 0 ---------------------------------------- (10) YES