/export/starexec/sandbox/solver/bin/starexec_run_c /export/starexec/sandbox/benchmark/theBenchmark.c /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/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, 172 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 2275 ms] (4) LLVM Symbolic Execution Graph (5) SEGraph to IRS [SOUND, 376 ms] (6) IntTRS (7) IRS2T2 [EQUIVALENT, 0 ms] (8) T2IntSys (9) T2 [EQUIVALENT, 1306 ms] (10) YES ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox/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: "cstrlen" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (s *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca *i8, align 8 %p = alloca *i8, align 8 store %s, %1 %2 = load %1 store %2, %p br %3 3: %4 = load %p %5 = load %4 %6 = sext i8 %5 to i32 %7 = icmp ne %6 0 br %7, %8, %11 8: %9 = load %p %10 = getelementptr %9, 1 store %10, %p br %3 11: %12 = load %p %13 = load %1 %14 = ptrtoint *i8 %12 to i64 %15 = ptrtoint *i8 %13 to i64 %16 = sub %14 %15 %17 = trunc i64 %16 to i32 ret %17 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %length1 = alloca i32, align 4 %nondetString1 = alloca *i8, align 8 store 0, %1 %2 = call i32 @__VERIFIER_nondet_int() store %2, %length1 %3 = load %length1 %4 = icmp slt %3 1 br %4, %5, %6 5: store 1, %length1 br %6 6: %7 = load %length1 %8 = sext i32 %7 to i64 %9 = mul %8 1 %10 = alloca i8, numElementsLit: %9 store %10, %nondetString1 %11 = load %length1 %12 = sub %11 1 %13 = sext i32 %12 to i64 %14 = load %nondetString1 %15 = getelementptr %14, %13 store 0, %15 %16 = load %nondetString1 %17 = call i32 @cstrlen(*i8 %16) ret %17 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 129 rulesP rules: f_145 -> f_146(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_146(v1, v2, 3, 1, 4) -> f_147(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 f_147(v1, v3, v2, v4, 3, 1, 4) -> f_148(v1, v3, v5, v2, v4, v6, 3, 7, 1, 4, 8) :|: 1 <= v5 && v6 = 7 + v5 && 8 <= v6 f_148(v1, v3, v5, v2, v4, v6, 3, 7, 1, 4, 8) -> f_149(v1, v3, v5, v2, v4, v6, 0, 3, 7, 1, 4, 8) :|: TRUE f_149(v1, v3, v5, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_150(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) :|: TRUE f_150(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_151(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) :|: TRUE f_151(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_152(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) :|: 0 = 0 f_152(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_153(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) :|: v7 < 1 f_152(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_154(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) :|: 1 <= v7 f_153(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_155(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: 0 = 0 f_154(v1, v3, v5, v7, v2, v4, v6, 0, 3, 7, 1, 4, 8) -> f_156(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) :|: 0 = 0 f_155(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_157(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: TRUE f_156(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) -> f_158(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) :|: TRUE f_157(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_159(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: TRUE f_158(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) -> f_160(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) :|: 0 = 0 f_159(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_161(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: TRUE f_160(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) -> f_162(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) :|: 0 = 0 f_161(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_163(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: 0 = 0 f_162(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) -> f_164(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) :|: 0 = 0 f_163(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_165(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: 0 = 0 f_164(v1, v3, v5, v7, 0, v2, v4, v6, 3, 7, 1, 4, 8) -> f_166(v1, v3, v5, v7, 0, v9, v2, v4, v6, v10, 3, 7, 1, 4, 8) :|: 1 <= v9 && v9 + v7 = 1 + v10 f_165(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_167(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) :|: 0 = 0 f_166(v1, v3, v5, v7, 0, v9, v2, v4, v6, v10, 3, 7, 1, 4, 8) -> f_168(v1, v3, v5, v7, 0, v9, v2, v4, v6, v10, 3, 7, 1, 4, 8) :|: TRUE f_167(v1, v3, v5, v7, 1, v2, v4, v6, 0, 3, 7, 4, 8) -> f_169(v1, v3, v5, v7, 1, v12, v2, v4, v6, 0, 3, 7, 4, 8) :|: 1 <= v12 f_168(v1, v3, v5, v7, 0, v9, v2, v4, v6, v10, 3, 7, 1, 4, 8) -> f_170(v1, v3, v5, v7, 0, v9, v2, v4, v6, v10, 3, 7, 1, 4, 8) :|: 0 = 0 f_169(v1, v3, v5, v7, 1, v12, v2, v4, v6, 0, 3, 7, 4, 8) -> f_171(v1, v3, v5, v7, 1, v12, v2, v4, v6, 0, 3, 7, 4, 8) :|: TRUE f_170(v1, v3, v5, v7, 0, v9, v2, v4, v6, v10, 3, 7, 1, 4, 8) -> f_172(v1, v3, v5, v7, 0, v9, v14, v2, v4, v6, v10, 3, 7, 1, 4, 8) :|: 1 + v14 = v7 && 0 <= v14 f_171(v1, v3, v5, v7, 1, v12, v2, v4, v6, 0, 3, 7, 4, 8) -> f_173(v1, v3, v5, v7, 1, v12, v2, v4, v6, 0, 3, 7, 4, 8) :|: 0 = 0 f_172(v1, v3, v5, v7, 0, v9, v14, v2, v4, v6, v10, 3, 7, 1, 4, 8) -> f_174(v1, v3, v5, v7, 0, v9, v14, v2, v4, v6, v10, 3, 7, 1, 4, 8) :|: 0 = 0 f_173(v1, v3, v5, v7, 1, v12, v2, v4, v6, 0, 3, 7, 4, 8) -> f_175(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) :|: 0 = 0 f_174(v1, v3, v5, v7, 0, v9, v14, v2, v4, v6, v10, 3, 7, 1, 4, 8) -> f_176(v1, v3, v5, v7, 0, v9, v14, v2, v4, v6, v10, 3, 7, 1, 4, 8) :|: 0 = 0 f_175(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) -> f_177(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) :|: 0 = 0 f_176(v1, v3, v5, v7, 0, v9, v14, v2, v4, v6, v10, 3, 7, 1, 4, 8) -> f_178(v1, v3, v5, v7, 0, v9, v14, v10, v2, v4, v6, 3, 7, 1, 4, 8) :|: v10 = v9 + v14 f_177(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) -> f_179(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) :|: 0 = 0 f_178(v1, v3, v5, v7, 0, v9, v14, v10, v2, v4, v6, 3, 7, 1, 4, 8) -> f_180(v1, v3, v5, v7, 0, v9, v14, v10, v2, v4, v6, 3, 7, 1, 4, 8) :|: TRUE f_179(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) -> f_181(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) :|: 0 = 0 f_180(v1, v3, v5, v7, 0, v9, v14, v10, v2, v4, v6, 3, 7, 1, 4, 8) -> f_182(v1, v3, v5, v7, 0, v9, v14, v10, v2, v4, v6, 3, 7, 1, 4, 8) :|: 0 = 0 f_181(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) -> f_183(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) :|: TRUE f_182(v1, v3, v5, v7, 0, v9, v14, v10, v2, v4, v6, 3, 7, 1, 4, 8) -> f_184(v9, v1, v2, v3, v4, v5, v6, v10, 0, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_183(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) -> f_185(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) :|: 0 = 0 f_184(v9, v1, v2, v3, v4, v5, v6, v10, 0, v7, v14, 3, 7, 1, 4, 8) -> f_186(v9, v15, v1, v2, v3, v4, v5, v6, v10, v16, 0, v7, v14, 3, 7, 1, 4, 8) :|: 1 <= v15 && v16 = 7 + v15 && 8 <= v16 f_185(v1, v3, v5, v7, 1, v12, 0, v2, v4, v6, 3, 7, 4, 8) -> f_187(v12, v1, v2, v3, v4, v5, v6, 0, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_186(v9, v15, v1, v2, v3, v4, v5, v6, v10, v16, 0, v7, v14, 3, 7, 1, 4, 8) -> f_188(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: 1 <= v17 && v18 = 7 + v17 && 8 <= v18 f_187(v12, v1, v2, v3, v4, v5, v6, 0, 1, v7, 3, 7, 4, 8) -> f_189(v12, v19, v1, v2, v3, v4, v5, v6, v20, 0, 1, v7, 3, 7, 4, 8) :|: 1 <= v19 && v20 = 7 + v19 && 8 <= v20 f_188(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_190(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: TRUE f_189(v12, v19, v1, v2, v3, v4, v5, v6, v20, 0, 1, v7, 3, 7, 4, 8) -> f_191(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) :|: 1 <= v22 && v23 = 7 + v22 && 8 <= v23 f_190(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_192(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_191(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) -> f_193(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) :|: TRUE f_192(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_194(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: TRUE f_193(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) -> f_195(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_194(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_196(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: TRUE f_195(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) -> f_197(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) :|: TRUE f_196(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_198(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_197(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) -> f_199(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) :|: TRUE f_198(v9, v15, v17, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_200(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: TRUE f_199(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) -> f_201(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_200(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_202(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_201(v12, v19, v22, v1, v2, v3, v4, v5, v6, v20, v23, 0, 1, v7, 3, 7, 4, 8) -> f_203(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_202(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_204(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8, 2) :|: v27 != 0 && v9 < v10 && 2 <= v10 f_202(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8) -> f_205(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: v27 = 0 f_203(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_206(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_204(v9, v15, v17, v27, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 1, 4, 8, 2) -> f_207(v9, v15, v17, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: 0 = 0 f_205(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_208(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_206(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_209(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_207(v9, v15, v17, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_210(v9, v15, v17, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: TRUE f_208(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_211(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: TRUE f_209(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_212(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: TRUE f_210(v9, v15, v17, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_213(v9, v15, v17, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: 0 = 0 f_211(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_214(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_212(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_215(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_213(v9, v15, v17, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_216(v9, v15, v17, v27, 1, v29, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: v29 = 1 + v9 && 2 <= v29 f_214(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_217(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_215(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_218(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_216(v9, v15, v17, v27, 1, v29, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_219(v9, v15, v17, v27, 1, v29, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: TRUE f_217(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_220(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_218(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_221(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_219(v9, v15, v17, v27, 1, v29, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_222(v9, v15, v17, v27, 1, v29, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: TRUE f_220(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_223(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_221(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_224(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_222(v9, v15, v17, v27, 1, v29, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_225(v9, v15, v17, v29, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: 0 = 0 f_223(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_226(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: 0 = 0 f_224(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_227(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: 0 = 0 f_225(v9, v15, v17, v29, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_228(v9, v15, v17, v29, v34, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) :|: TRUE f_226(v9, v15, v17, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_229(v9, v15, v17, 0, v36, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) :|: TRUE f_227(v12, v19, v22, 0, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_230(v12, v19, v22, 0, v37, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) :|: TRUE f_228(v9, v15, v17, v29, v34, v27, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v14, 3, 7, 4, 8, 2) -> f_231(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: 0 = 0 f_229(v9, v15, v17, 0, v36, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v14, 3, 7, 1, 4, 8) -> f_232(v1, v3, v5, v7, 0, v9, v14, v10, v36, v2, v4, v6, 3, 7, 1, 4, 8) :|: 0 = 0 f_230(v12, v19, v22, 0, v37, v1, v2, v3, v4, v5, v6, v20, v23, 1, v7, 3, 7, 4, 8) -> f_233(v1, v3, v5, v7, 1, v12, 0, v37, v2, v4, v6, 3, 7, 4, 8) :|: 0 = 0 f_231(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_234(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: v34 != 0 && v29 < v10 && 3 <= v10 && 3 <= v7 && 2 <= v14 f_231(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_235(v9, v15, v17, v29, 0, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 4, 8, 2) :|: v34 = 0 f_234(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_236(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: 0 = 0 f_235(v9, v15, v17, v29, 0, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 4, 8, 2) -> f_237(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) :|: 0 = 0 f_236(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_238(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: TRUE f_237(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) -> f_239(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) :|: TRUE f_238(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_240(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: 0 = 0 f_239(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) -> f_241(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) :|: 0 = 0 f_240(v9, v15, v17, v29, v34, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_242(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: v42 = 1 + v29 && 3 <= v42 f_241(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) -> f_243(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) :|: 0 = 0 f_242(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_244(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: TRUE f_243(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) -> f_245(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) :|: 0 = 0 f_244(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_246(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: TRUE f_245(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) -> f_248(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) :|: 0 = 0 f_246(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_247(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) :|: TRUE f_247(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, 0, v7, v27, v14, 3, 7, 4, 8, 2) -> f_268(v9, v15, v17, v29, v34, 1, v42, v1, v2, v3, v4, v5, v6, v10, v16, v18, v27, v110, v112, 0, v7, v103, 3, 7, 2, 4, 8) :|: TRUE f_248(v9, v15, v17, v29, 0, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 1, 4, 8, 2) -> f_250(v9, v15, v17, v29, 0, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 4, 8, 2) :|: v44 + v9 = v29 && v44 = 1 && 0 = 0 f_250(v9, v15, v17, v29, 0, 1, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 4, 8, 2) -> f_252(v9, v15, v17, v29, 0, 1, v47, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 4, 8, 2) :|: TRUE f_252(v9, v15, v17, v29, 0, 1, v47, v1, v2, v3, v4, v5, v6, v10, v16, v18, v7, v27, v14, 3, 7, 4, 8, 2) -> f_254(v1, v3, v5, v7, 0, v9, v14, v10, v47, v2, v4, v6, v27, v29, 3, 7, 1, 4, 8, 2) :|: 0 = 0 f_268(v91, v92, v93, v94, v95, 1, v97, v98, v105, v99, v106, v100, v107, v104, v108, v109, v111, v110, v112, 0, v101, v103, 3, 7, 2, 4, 8) -> f_285(v91, v92, v93, v94, v95, 1, v97, v98, v105, v99, v106, v100, v107, v104, v108, v109, v111, 0, v101, v177, v179, v170, 3, 7, 2, 4, 8) :|: TRUE f_285(v158, v159, v160, v161, v162, 1, v164, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_286(v158, v159, v160, v164, v162, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: 0 = 0 f_286(v158, v159, v160, v164, v162, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_287(v158, v159, v160, v164, v180, v162, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: TRUE f_287(v158, v159, v160, v164, v180, v162, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_288(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: 0 = 0 f_288(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_289(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: v180 != 0 && v164 < v171 && 4 <= v171 f_288(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_290(v158, v159, v160, v164, 0, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: v180 = 0 f_289(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_291(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: 0 = 0 f_290(v158, v159, v160, v164, 0, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_292(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: 0 = 0 f_291(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_293(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: TRUE f_292(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_294(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: TRUE f_293(v158, v159, v160, v164, v180, 1, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_295(v158, v159, v160, v164, v180, 1, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: 0 = 0 f_294(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_296(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: 0 = 0 f_295(v158, v159, v160, v164, v180, 1, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_297(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: v199 = 1 + v164 && 4 <= v199 f_296(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_298(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: 0 = 0 f_297(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_299(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: TRUE f_298(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_300(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: 0 = 0 f_299(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_301(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: TRUE f_300(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_302(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: 0 = 0 f_301(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v161, v162, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) -> f_285(v158, v159, v160, v164, v180, 1, v199, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, 0, v168, v177, v179, v170, 3, 7, 2, 4, 8) :|: TRUE f_302(v158, v159, v160, v164, 0, v161, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_303(v158, v159, v160, v164, 0, v161, v247, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: v247 + v158 = v164 && 2 <= v247 f_303(v158, v159, v160, v164, 0, v161, v247, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_304(v158, v159, v160, v164, 0, v161, v247, v248, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) :|: TRUE f_304(v158, v159, v160, v164, 0, v161, v247, v248, v165, v172, v166, v173, v167, v174, v171, v175, v176, v178, v162, v168, v177, v179, v170, 3, 7, 1, 2, 4, 8) -> f_305(v165, v166, v167, v168, 0, v158, v170, v171, v248, v172, v173, v174, v178, v161, v162, v177, v179, v164, 3, 7, 1, 2, 4, 8) :|: 0 = 0 Combined rules. Obtained 11 rulesP rules: f_288(v158:0, v159:0, v160:0, v164:0, v180:0, 1, v161:0, v165:0, v172:0, v166:0, v173:0, v167:0, v174:0, v171:0, v175:0, v176:0, v178:0, v162:0, 0, v168:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) -> f_288(v158:0, v159:0, v160:0, 1 + v164:0, v180:1, 1, v164:0, v165:0, v172:0, v166:0, v173:0, v167:0, v174:0, v171:0, v175:0, v176:0, v178:0, v180:0, 0, v168:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) :|: v171:0 > v164:0 && v180:0 < 0 && v164:0 > 2 && v171:0 > 3 f_288(v158:0, v159:0, v160:0, v164:0, v180:0, 1, v161:0, v165:0, v172:0, v166:0, v173:0, v167:0, v174:0, v171:0, v175:0, v176:0, v178:0, v162:0, 0, v168:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) -> f_288(v158:0, v159:0, v160:0, 1 + v164:0, v180:1, 1, v164:0, v165:0, v172:0, v166:0, v173:0, v167:0, v174:0, v171:0, v175:0, v176:0, v178:0, v180:0, 0, v168:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) :|: v171:0 > v164:0 && v180:0 > 0 && v164:0 > 2 && v171:0 > 3 f_145 -> f_232(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v36:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, 3, 7, 1, 4, 8) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 f_145 -> f_288(v9:0, v15:0, v17:0, 1 + (1 + v9:0), v180:0, 1, 1 + v9:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 7 + v5:0, v9:0 + v14:0, 7 + v15:0, 7 + v17:0, v27:0, v34:0, 0, 1 + v14:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) :|: v9:0 + v14:0 > 1 + v9:0 && v9:0 + v14:0 > 2 && v14:0 > 1 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 && v27:0 < 0 && v34:0 < 0 f_145 -> f_288(v9:0, v15:0, v17:0, 1 + (1 + v9:0), v180:0, 1, 1 + v9:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 7 + v5:0, v9:0 + v14:0, 7 + v15:0, 7 + v17:0, v27:0, v34:0, 0, 1 + v14:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) :|: v9:0 + v14:0 > 1 + v9:0 && v9:0 + v14:0 > 2 && v14:0 > 1 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 && v27:0 < 0 && v34:0 > 0 f_145 -> f_288(v9:0, v15:0, v17:0, 1 + (1 + v9:0), v180:0, 1, 1 + v9:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 7 + v5:0, v9:0 + v14:0, 7 + v15:0, 7 + v17:0, v27:0, v34:0, 0, 1 + v14:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) :|: v9:0 + v14:0 > 1 + v9:0 && v9:0 + v14:0 > 2 && v14:0 > 1 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 && v27:0 > 0 && v34:0 < 0 f_145 -> f_288(v9:0, v15:0, v17:0, 1 + (1 + v9:0), v180:0, 1, 1 + v9:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 7 + v5:0, v9:0 + v14:0, 7 + v15:0, 7 + v17:0, v27:0, v34:0, 0, 1 + v14:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) :|: v9:0 + v14:0 > 1 + v9:0 && v9:0 + v14:0 > 2 && v14:0 > 1 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 && v27:0 > 0 && v34:0 > 0 f_145 -> f_233(v1:0, v3:0, v5:0, v7:0, 1, v12:0, 0, v37:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, 3, 7, 4, 8) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v7:0 < 1 && v12:0 > 0 && v19:0 > 0 && v22:0 > 0 f_145 -> f_254(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v47:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, v27:0, 1 + v9:0, 3, 7, 1, 4, 8, 2) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 && v9:0 + v14:0 > v9:0 && v27:0 < 0 && v9:0 + v14:0 > 1 f_145 -> f_254(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v47:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, v27:0, 1 + v9:0, 3, 7, 1, 4, 8, 2) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v15:0 > 0 && v17:0 > 0 && v9:0 + v14:0 > v9:0 && v27:0 > 0 && v9:0 + v14:0 > 1 f_288(v158:0, v159:0, v160:0, v247:0 + v158:0, 0, 1, v161:0, v165:0, v172:0, v166:0, v173:0, v167:0, v174:0, v171:0, v175:0, v176:0, v178:0, v162:0, 0, v168:0, v177:0, v179:0, v170:0, 3, 7, 2, 4, 8) -> f_305(v165:0, v166:0, v167:0, v168:0, 0, v158:0, v170:0, v171:0, v248:0, v172:0, v173:0, v174:0, v178:0, v161:0, v162:0, v177:0, v179:0, v247:0 + v158:0, 3, 7, 1, 2, 4, 8) :|: v247:0 > 1 Filtered unneeded arguments: f_288(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, x28) -> f_288(x1, x4, x5, x14) Removed division, modulo operations, cleaned up constraints. Obtained 8 rules.P rules: f_288(v158:0, v164:0, v180:0, v171:0) -> f_288(v158:0, 1 + v164:0, v180:1, v171:0) :|: v180:0 < 0 && v171:0 > v164:0 && v171:0 > 3 && v164:0 > 2 f_288(v158:0, v164:0, v180:0, v171:0) -> f_288(v158:0, 1 + v164:0, v180:1, v171:0) :|: v180:0 > 0 && v171:0 > v164:0 && v171:0 > 3 && v164:0 > 2 f_145 -> f_232(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v36:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, 3, 7, 1, 4, 8) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) f_145 -> f_288(v9:0, 1 + (1 + v9:0), v180:0, v9:0 + v14:0) :|: v9:0 + v14:0 > 2 && v9:0 + v14:0 > 1 + v9:0 && v14:0 > 1 && v9:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) f_145 -> f_233(v1:0, v3:0, v5:0, v7:0, 1, v12:0, 0, v37:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, 3, 7, 4, 8) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v12:0 > 0 && v7:0 < 1 f_145 -> f_254(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v47:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, v27:0, 1 + v9:0, 3, 7, 1, 4, 8, 2) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v9:0 + v14:0 > v9:0 && v9:0 + v14:0 > 1 && v27:0 < 0 f_145 -> f_254(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v47:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, v27:0, 1 + v9:0, 3, 7, 1, 4, 8, 2) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) && v9:0 > 0 && v9:0 + v14:0 > v9:0 && v9:0 + v14:0 > 1 && v27:0 > 0 f_288(v158:0, sum~v247:0~v158:0, cons_0, v171:0) -> f_305(v165:0, v166:0, v167:0, v168:0, 0, v158:0, v170:0, v171:0, v248:0, v172:0, v173:0, v174:0, v178:0, v161:0, v162:0, v177:0, v179:0, v247:0 + v158:0, 3, 7, 1, 2, 4, 8) :|: v247:0 > 1 && sum~v247:0~v158:0 = v247:0 + v158:0 && cons_0 = 0 ---------------------------------------- (6) Obligation: Rules: f_288(v158:0, v164:0, v180:0, v171:0) -> f_288(v158:0, 1 + v164:0, v180:1, v171:0) :|: v180:0 < 0 && v171:0 > v164:0 && v171:0 > 3 && v164:0 > 2 f_288(x, x1, x2, x3) -> f_288(x, 1 + x1, x4, x3) :|: x2 > 0 && x3 > x1 && x3 > 3 && x1 > 2 f_145 -> f_232(v1:0, v3:0, v5:0, 1 + v14:0, 0, v9:0, v14:0, v9:0 + v14:0, v36:0, 3 + v1:0, 3 + v3:0, 7 + v5:0, 3, 7, 1, 4, 8) :|: v1:0 > 0 && v3:0 > 0 && v5:0 > 0 && v14:0 > -1 && v9:0 > 0 && v9:0 + (1 + v14:0) = 1 + (v9:0 + v14:0) f_145 -> f_288(x5, 1 + (1 + x5), x6, x5 + x7) :|: x5 + x7 > 2 && x5 + x7 > 1 + x5 && x7 > 1 && x5 > 0 && x5 + (1 + x7) = 1 + (x5 + x7) f_145 -> f_233(x8, x9, x10, x11, 1, x12, 0, x13, 3 + x8, 3 + x9, 7 + x10, 3, 7, 4, 8) :|: x8 > 0 && x9 > 0 && x10 > 0 && x12 > 0 && x11 < 1 f_145 -> f_254(x14, x15, x16, 1 + x17, 0, x18, x17, x18 + x17, x19, 3 + x14, 3 + x15, 7 + x16, x20, 1 + x18, 3, 7, 1, 4, 8, 2) :|: x14 > 0 && x15 > 0 && x16 > 0 && x17 > -1 && x18 + (1 + x17) = 1 + (x18 + x17) && x18 > 0 && x18 + x17 > x18 && x18 + x17 > 1 && x20 < 0 f_145 -> f_254(x21, x22, x23, 1 + x24, 0, x25, x24, x25 + x24, x26, 3 + x21, 3 + x22, 7 + x23, x27, 1 + x25, 3, 7, 1, 4, 8, 2) :|: x21 > 0 && x22 > 0 && x23 > 0 && x24 > -1 && x25 + (1 + x24) = 1 + (x25 + x24) && x25 > 0 && x25 + x24 > x25 && x25 + x24 > 1 && x27 > 0 f_288(x28, x29, x30, x31) -> f_305(x32, x33, x34, x35, 0, x28, x36, x31, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46 + x28, 3, 7, 1, 2, 4, 8) :|: x46 > 1 && x29 = x46 + x28 && x30 = 0 Start term: f_145 ---------------------------------------- (7) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_288_24,1) (f_145_24,2) (f_232_24,3) (f_233_24,4) (f_254_24,5) (f_305_24,6) ---------------------------------------- (8) Obligation: START: 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 := nondet(); oldX25 := nondet(); 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(oldX2 < 0 && oldX3 > oldX1 && oldX3 > 3 && oldX1 > 2); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX24; x3 := oldX3; x4 := oldX25; x5 := oldX26; x6 := oldX27; x7 := oldX28; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; x22 := oldX43; x23 := oldX44; 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 := nondet(); oldX25 := nondet(); 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(oldX2 > 0 && oldX3 > oldX1 && oldX3 > 3 && oldX1 > 2); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX24; x3 := oldX3; x4 := oldX25; x5 := oldX26; x6 := oldX27; x7 := oldX28; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; x22 := oldX43; x23 := oldX44; TO: 1; 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 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); assume(oldX24 > 0 && oldX25 > 0 && oldX26 > 0 && oldX27 > -1 && oldX28 > 0 && oldX28 + (1 + oldX27) = 1 + (oldX28 + oldX27)); x0 := oldX24; x1 := oldX25; x2 := oldX26; x3 := 1 + oldX27; x4 := 0; x5 := oldX28; x6 := oldX27; x7 := oldX28 + oldX27; x8 := oldX29; x9 := 3 + oldX24; x10 := 3 + oldX25; x11 := 7 + oldX26; x12 := 3; x13 := 7; x14 := 1; x15 := 4; x16 := 8; x17 := oldX30; x18 := oldX31; x19 := oldX32; x20 := oldX33; x21 := oldX34; x22 := oldX35; x23 := oldX36; 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 := nondet(); oldX25 := nondet(); 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(oldX24 + oldX26 > 2 && oldX24 + oldX26 > 1 + oldX24 && oldX26 > 1 && oldX24 > 0 && oldX24 + (1 + oldX26) = 1 + (oldX24 + oldX26)); x0 := oldX24; x1 := 1 + (1 + oldX24); x2 := oldX25; x3 := oldX24 + 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; TO: 1; 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 := nondet(); oldX25 := nondet(); 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(); assume(oldX24 > 0 && oldX25 > 0 && oldX26 > 0 && oldX28 > 0 && oldX27 < 1); x0 := oldX24; x1 := oldX25; x2 := oldX26; x3 := oldX27; x4 := 1; x5 := oldX28; x6 := 0; x7 := oldX29; x8 := 3 + oldX24; x9 := 3 + oldX25; x10 := 7 + oldX26; x11 := 3; x12 := 7; x13 := 4; x14 := 8; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; x22 := oldX37; x23 := oldX38; TO: 4; 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 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX24 > 0 && oldX25 > 0 && oldX26 > 0 && oldX27 > -1 && oldX28 + (1 + oldX27) = 1 + (oldX28 + oldX27) && oldX28 > 0 && oldX28 + oldX27 > oldX28 && oldX28 + oldX27 > 1 && oldX30 < 0); x0 := oldX24; x1 := oldX25; x2 := oldX26; x3 := 1 + oldX27; x4 := 0; x5 := oldX28; x6 := oldX27; x7 := oldX28 + oldX27; x8 := oldX29; x9 := 3 + oldX24; x10 := 3 + oldX25; x11 := 7 + oldX26; x12 := oldX30; x13 := 1 + oldX28; x14 := 3; x15 := 7; x16 := 1; x17 := 4; x18 := 8; x19 := 2; x20 := oldX31; x21 := oldX32; x22 := oldX33; x23 := oldX34; TO: 5; 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 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX24 > 0 && oldX25 > 0 && oldX26 > 0 && oldX27 > -1 && oldX28 + (1 + oldX27) = 1 + (oldX28 + oldX27) && oldX28 > 0 && oldX28 + oldX27 > oldX28 && oldX28 + oldX27 > 1 && oldX30 > 0); x0 := oldX24; x1 := oldX25; x2 := oldX26; x3 := 1 + oldX27; x4 := 0; x5 := oldX28; x6 := oldX27; x7 := oldX28 + oldX27; x8 := oldX29; x9 := 3 + oldX24; x10 := 3 + oldX25; x11 := 7 + oldX26; x12 := oldX30; x13 := 1 + oldX28; x14 := 3; x15 := 7; x16 := 1; x17 := 4; x18 := 8; x19 := 2; x20 := oldX31; x21 := oldX32; x22 := oldX33; x23 := oldX34; TO: 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; oldX38 := oldX1 - oldX0; oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); assume(oldX38 > 1 && oldX1 = oldX38 + oldX0 && oldX2 = 0); x0 := oldX24; x1 := oldX25; x2 := oldX26; x3 := oldX27; x4 := 0; x5 := oldX0; x6 := oldX28; x7 := oldX3; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38 + oldX0; x18 := 3; x19 := 7; x20 := 1; x21 := 2; x22 := 4; x23 := 8; TO: 6; ---------------------------------------- (9) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 9, 13, 14 using the following rank functions: - Rank function 1: RF for loc. 9: 1-2*x1+2*x3 RF for loc. 10: -2*x1+2*x3 Bound for (chained) transitions 13: 2 Bound for (chained) transitions 14: 2 - Rank function 2: RF for loc. 9: 0 RF for loc. 10: -1 Bound for (chained) transitions 9: 0 ---------------------------------------- (10) YES