/export/starexec/sandbox/solver/bin/starexec_run_c /export/starexec/sandbox/benchmark/theBenchmark.c /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could not be shown: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 178 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 4883 ms] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToLassoProof [EQUIVALENT, 0 ms] (6) LLVM Symbolic Execution Lasso (7) Lasso2IRS [SOUND, 161 ms] (8) IntTRS (9) IRS2T2 [EQUIVALENT, 0 ms] (10) T2IntSys (11) T2 [COMPLETE, 1123 ms] (12) NO (13) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (14) LLVM Symbolic Execution SCC (15) SCC2IRS [SOUND, 132 ms] (16) IntTRS (17) IRS2T2 [EQUIVALENT, 0 ms] (18) T2IntSys (19) T2 [COMPLETE, 1214 ms] (20) NO (21) SCC2IRS [SOUND, 0 ms] (22) IntTRS (23) IRS2T2 [EQUIVALENT, 0 ms] (24) T2IntSys (25) T2 [COMPLETE, 1252 ms] (26) NO (27) SEGraph to IRS [SOUND, 417 ms] (28) IntTRS (29) IRS2T2 [EQUIVALENT, 0 ms] (30) T2IntSys (31) T2 [COMPLETE, 1421 ms] (32) NO ---------------------------------------- (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: true visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "__VERIFIER_error" returnParam: BasicVoidType parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "id" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (x i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %2 = alloca i32, align 4 %ret = alloca i32, align 4 store %x, %2 %3 = load %2 %4 = icmp eq %3 0 br %4, %5, %6 5: store 0, %1 br %16 6: %7 = load %2 %8 = sub %7 1 %9 = call i32 @id2(i32 %8) %10 = add %9 1 store %10, %ret %11 = load %ret %12 = icmp sgt %11 2 br %12, %13, %14 13: store 2, %1 br %16 14: %15 = load %ret store %15, %1 br %16 16: %17 = load %1 ret %17 *BasicFunctionTypename: "id2" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (x i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %2 = alloca i32, align 4 %ret = alloca i32, align 4 store %x, %2 %3 = load %2 %4 = icmp eq %3 0 br %4, %5, %6 5: store 0, %1 br %16 6: %7 = load %2 %8 = sub %7 1 %9 = call i32 @id(i32 %8) %10 = add %9 1 store %10, %ret %11 = load %ret %12 = icmp sgt %11 2 br %12, %13, %14 13: store 2, %1 br %16 14: %15 = load %ret store %15, %1 br %16 16: %17 = load %1 ret %17 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %input = alloca i32, align 4 %result = alloca i32, align 4 store 0, %1 %2 = call i32 (...)* @__VERIFIER_nondet_int() store %2, %input %3 = load %input %4 = call i32 @id(i32 %3) store %4, %result %5 = load %result %6 = icmp eq %5 3 br %6, %7, %9 7: br %8 8: Unnamed Call-Instruction = call BasicVoidType (...)* @__VERIFIER_error() br %9 9: %10 = load %1 ret %10 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) SymbolicExecutionGraphToLassoProof (EQUIVALENT) Converted SEGraph to 1 independent lasso. ---------------------------------------- (6) Obligation: Lasso ---------------------------------------- (7) Lasso2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 35 rulesP rules: f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) -> f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) :|: 1 <= v66 && v67 = 3 + v66 && 4 <= v67 f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) -> f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 1 <= v68 && v69 = 3 + v68 && 4 <= v69 f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: TRUE f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 0 = 0 f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: v55 != 0 f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: TRUE f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 1 + v71 = v55 f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) :|: 1 <= v85 && v86 = 3 + v85 && 4 <= v86 f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) -> f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) :|: 1 <= v87 && v88 = 3 + v87 && 4 <= v88 f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) -> f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 1 <= v89 && v90 = 3 + v89 && 4 <= v90 f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: TRUE f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: v71 != 0 f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: TRUE f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 1 + v92 = v71 f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: 0 = 0 f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_256(v92, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) :|: TRUE f_256(v55, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) -> f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) :|: 1 <= v64 && v65 = 3 + v64 && 4 <= v65 f_201 -> f_202(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_202(v1, v2, 3, 1, 4) -> f_203(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 f_203(v1, v3, v2, v4, 3, 1, 4) -> f_204(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 f_204(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_205(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_205(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_206(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_206(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_207(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_207(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_208(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_208(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: 0 = 0 f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_210(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_210(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_256(v7, v1, v2, v3, v4, v5, v6, 0, v7, 3, 1, 4) :|: TRUE Combined rules. Obtained 5 rulesP rules: f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 && v64:1 > 0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 > -1 && v64:1 > 0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 && v64:1 > 0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v92:0 > -1 && v68:0 > 0 && v66:0 > 0 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v64:1 > 0 f_201 -> f_258(v7:0, v64:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 3 + v5:0, 3 + v64:0, 0, v7:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v64:0 > 0 Filtered unneeded arguments: f_258(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_258(x1) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 < -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 < -2 && v92:0 > -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 > -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 > -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_201 -> f_258(v7:0) :|: TRUE ---------------------------------------- (8) Obligation: Rules: f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 < -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(x) -> f_258(x1) :|: x1 < -2 && x1 > -1 && x = 1 + (1 + x1) f_258(x2) -> f_258(x3) :|: x3 > -2 && x3 < -1 && x2 = 1 + (1 + x3) f_258(x4) -> f_258(x5) :|: x5 > -1 && x4 = 1 + (1 + x5) f_201 -> f_258(v7:0) :|: TRUE Start term: f_201 ---------------------------------------- (9) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_258_1,1) (f_201_1,2) ---------------------------------------- (10) Obligation: START: 2; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 < -2 && oldX1 < -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 < -2 && oldX1 > -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 > -2 && oldX1 < -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 > -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 2; oldX0 := x0; oldX1 := nondet(); assume(0 = 0); x0 := oldX1; TO: 1; ---------------------------------------- (11) T2 (COMPLETE) Found this recurrent set for cutpoint 5: x0-oldX1 <= 0 and x0+1 <= 0 and x0 <= 0 ---------------------------------------- (12) NO ---------------------------------------- (13) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 1 SCC. ---------------------------------------- (14) Obligation: SCC ---------------------------------------- (15) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 25 rulesP rules: f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) -> f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) :|: 1 <= v66 && v67 = 3 + v66 && 4 <= v67 f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) -> f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 1 <= v68 && v69 = 3 + v68 && 4 <= v69 f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: TRUE f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 0 = 0 f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: v55 != 0 f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: TRUE f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 1 + v71 = v55 f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) :|: 1 <= v85 && v86 = 3 + v85 && 4 <= v86 f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) -> f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) :|: 1 <= v87 && v88 = 3 + v87 && 4 <= v88 f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) -> f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 1 <= v89 && v90 = 3 + v89 && 4 <= v90 f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: TRUE f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: v71 != 0 f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: TRUE f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 1 + v92 = v71 f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: 0 = 0 f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_256(v92, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) :|: TRUE f_256(v55, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) -> f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) :|: 1 <= v64 && v65 = 3 + v64 && 4 <= v65 Combined rules. Obtained 4 rulesP rules: f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 && v64:1 > 0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 > -1 && v64:1 > 0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 && v64:1 > 0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v92:0 > -1 && v68:0 > 0 && v66:0 > 0 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v64:1 > 0 Filtered unneeded arguments: f_258(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_258(x1) Removed division, modulo operations, cleaned up constraints. Obtained 4 rules.P rules: f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 < -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 < -2 && v92:0 > -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 > -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 > -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) ---------------------------------------- (16) Obligation: Rules: f_258(sum~cons_1~sum~cons_1~v92:0) -> f_258(v92:0) :|: v92:0 < -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(x) -> f_258(x1) :|: x1 < -2 && x1 > -1 && x = 1 + (1 + x1) f_258(x2) -> f_258(x3) :|: x3 > -2 && x3 < -1 && x2 = 1 + (1 + x3) f_258(x4) -> f_258(x5) :|: x5 > -1 && x4 = 1 + (1 + x5) ---------------------------------------- (17) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_258_1,1) ---------------------------------------- (18) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 < -2 && oldX1 < -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 < -2 && oldX1 > -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 > -2 && oldX1 < -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := oldX0 - 2; assume(oldX1 > -1 && oldX0 = 1 + (1 + oldX1)); x0 := oldX0 - 2; TO: 1; ---------------------------------------- (19) T2 (COMPLETE) Found this recurrent set for cutpoint 5: 0 <= 0 and x0+1 <= 0 and x0 <= 0 ---------------------------------------- (20) NO ---------------------------------------- (21) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 25 rulesP rules: f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) -> f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) :|: 1 <= v66 && v67 = 3 + v66 && 4 <= v67 f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) -> f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 1 <= v68 && v69 = 3 + v68 && 4 <= v69 f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: TRUE f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 0 = 0 f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: v55 != 0 f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: TRUE f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 1 + v71 = v55 f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) :|: 1 <= v85 && v86 = 3 + v85 && 4 <= v86 f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) -> f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) :|: 1 <= v87 && v88 = 3 + v87 && 4 <= v88 f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) -> f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 1 <= v89 && v90 = 3 + v89 && 4 <= v90 f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: TRUE f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: v71 != 0 f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: TRUE f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 1 + v92 = v71 f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: 0 = 0 f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_256(v92, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) :|: 1 <= v56 && 4 <= v57 && 1 <= v58 && 4 <= v59 && 1 <= v60 && 4 <= v61 && v56 <= v57 && v58 <= v59 && v60 <= v61 f_256(v55, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) -> f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) :|: 1 <= v64 && v65 = 3 + v64 && 4 <= v65 Combined rules. Obtained 4 rulesP rules: f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v57:0 > 3 && v56:0 > 0 && v58:0 > 0 && v92:0 < -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v59:0 >= v58:0 && v64:1 > 0 && v61:0 >= v60:0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v57:0 > 3 && v56:0 > 0 && v58:0 > 0 && v92:0 > -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v59:0 >= v58:0 && v64:1 > 0 && v61:0 >= v60:0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v68:0 > 0 && v66:0 > 0 && v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v57:0 > 3 && v56:0 > 0 && v58:0 > 0 && v92:0 < -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v59:0 >= v58:0 && v64:1 > 0 && v61:0 >= v60:0 f_258(1 + (1 + v92:0), v64:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, 0, v63:0, 3, 1, 4) -> f_258(v92:0, v64:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 0, v63:0, 3, 1, 4) :|: v92:0 > -1 && v68:0 > 0 && v66:0 > 0 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v57:0 > 3 && v56:0 > 0 && v58:0 > 0 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v59:0 >= v58:0 && v64:1 > 0 && v61:0 >= v60:0 Filtered unneeded arguments: f_258(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> f_258(x1, x3, x4, x5, x6, x7, x8) Removed division, modulo operations, cleaned up constraints. Obtained 4 rules.P rules: f_258(sum~cons_1~sum~cons_1~v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) -> f_258(v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) :|: v57:0 > 3 && v92:0 < -2 && v56:0 > 0 && v58:0 > 0 && v92:0 < -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v61:0 >= v60:0 && v59:0 >= v58:0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) -> f_258(v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) :|: v57:0 > 3 && v92:0 < -2 && v56:0 > 0 && v58:0 > 0 && v92:0 > -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v61:0 >= v60:0 && v59:0 >= v58:0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) -> f_258(v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) :|: v57:0 > 3 && v92:0 > -2 && v56:0 > 0 && v58:0 > 0 && v92:0 < -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v61:0 >= v60:0 && v59:0 >= v58:0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(sum~cons_1~sum~cons_1~v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) -> f_258(v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) :|: v57:0 > 3 && v92:0 > -1 && v56:0 > 0 && v58:0 > 0 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v61:0 >= v60:0 && v59:0 >= v58:0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) ---------------------------------------- (22) Obligation: Rules: f_258(sum~cons_1~sum~cons_1~v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) -> f_258(v92:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0) :|: v57:0 > 3 && v92:0 < -2 && v56:0 > 0 && v58:0 > 0 && v92:0 < -1 && v59:0 > 3 && v60:0 > 0 && v61:0 > 3 && v57:0 >= v56:0 && v61:0 >= v60:0 && v59:0 >= v58:0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_258(x, x1, x2, x3, x4, x5, x6) -> f_258(x7, x1, x2, x3, x4, x5, x6) :|: x2 > 3 && x7 < -2 && x1 > 0 && x3 > 0 && x7 > -1 && x4 > 3 && x5 > 0 && x6 > 3 && x2 >= x1 && x6 >= x5 && x4 >= x3 && x = 1 + (1 + x7) f_258(x8, x9, x10, x11, x12, x13, x14) -> f_258(x15, x9, x10, x11, x12, x13, x14) :|: x10 > 3 && x15 > -2 && x9 > 0 && x11 > 0 && x15 < -1 && x12 > 3 && x13 > 0 && x14 > 3 && x10 >= x9 && x14 >= x13 && x12 >= x11 && x8 = 1 + (1 + x15) f_258(x16, x17, x18, x19, x20, x21, x22) -> f_258(x23, x17, x18, x19, x20, x21, x22) :|: x18 > 3 && x23 > -1 && x17 > 0 && x19 > 0 && x20 > 3 && x21 > 0 && x22 > 3 && x18 >= x17 && x22 >= x21 && x20 >= x19 && x16 = 1 + (1 + x23) ---------------------------------------- (23) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_258_7,1) ---------------------------------------- (24) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := oldX0 - 2; assume(oldX2 > 3 && oldX7 < -2 && oldX1 > 0 && oldX3 > 0 && oldX7 < -1 && oldX4 > 3 && oldX5 > 0 && oldX6 > 3 && oldX2 >= oldX1 && oldX6 >= oldX5 && oldX4 >= oldX3 && oldX0 = 1 + (1 + oldX7)); x0 := oldX0 - 2; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := oldX0 - 2; assume(oldX2 > 3 && oldX7 < -2 && oldX1 > 0 && oldX3 > 0 && oldX7 > -1 && oldX4 > 3 && oldX5 > 0 && oldX6 > 3 && oldX2 >= oldX1 && oldX6 >= oldX5 && oldX4 >= oldX3 && oldX0 = 1 + (1 + oldX7)); x0 := oldX0 - 2; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := oldX0 - 2; assume(oldX2 > 3 && oldX7 > -2 && oldX1 > 0 && oldX3 > 0 && oldX7 < -1 && oldX4 > 3 && oldX5 > 0 && oldX6 > 3 && oldX2 >= oldX1 && oldX6 >= oldX5 && oldX4 >= oldX3 && oldX0 = 1 + (1 + oldX7)); x0 := oldX0 - 2; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := oldX0 - 2; assume(oldX2 > 3 && oldX7 > -1 && oldX1 > 0 && oldX3 > 0 && oldX4 > 3 && oldX5 > 0 && oldX6 > 3 && oldX2 >= oldX1 && oldX6 >= oldX5 && oldX4 >= oldX3 && oldX0 = 1 + (1 + oldX7)); x0 := oldX0 - 2; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; ---------------------------------------- (25) T2 (COMPLETE) Found this recurrent set for cutpoint 5: 0 <= 0 and x0+1 <= 0 and -x1+1 <= 0 and -x3+1 <= 0 and -x5+1 <= 0 and -x2+4 <= 0 and -x4+4 <= 0 and -x6+4 <= 0 and x0 <= 0 and -x2+x1 <= 0 and -x4+x3 <= 0 and -x6+x5 <= 0 ---------------------------------------- (26) NO ---------------------------------------- (27) SEGraph to IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 190 rulesP rules: f_201 -> f_202(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_202(v1, v2, 3, 1, 4) -> f_203(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 f_203(v1, v3, v2, v4, 3, 1, 4) -> f_204(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 f_204(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_205(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_205(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_206(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_206(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_207(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_207(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_208(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_208(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: 0 = 0 f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_210(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_275(0, v1, v2, v3, v4, v5, v6, 3, 1, 4) :|: TRUE f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_462(v7, v499, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4, 2) :|: TRUE f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_540(v7, 2, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_544(v7, v758, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4, 2) :|: TRUE f_209(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_579(v7, 2, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_210(v7, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_256(v7, v1, v2, v3, v4, v5, v6, 0, v7, 3, 1, 4) :|: TRUE f_256(v55, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) -> f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) :|: 1 <= v64 && v65 = 3 + v64 && 4 <= v65 f_258(v55, v64, v56, v57, v58, v59, v60, v61, v65, 0, v63, 3, 1, 4) -> f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) :|: 1 <= v66 && v67 = 3 + v66 && 4 <= v67 f_259(v55, v64, v66, v56, v57, v58, v59, v60, v61, v65, v67, 0, v63, 3, 1, 4) -> f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 1 <= v68 && v69 = 3 + v68 && 4 <= v69 f_260(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: TRUE f_261(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: 0 = 0 f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_263(0, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: v55 = 0 f_262(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) :|: v55 != 0 f_263(0, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_265(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_264(v55, v64, v66, v68, v56, v57, v58, v59, v60, v61, v65, v67, v69, 0, v63, 3, 1, 4) -> f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_265(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_267(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_266(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: TRUE f_267(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_269(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_268(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_269(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_271(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_270(v55, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 1 + v71 = v55 f_271(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_273(0, v64, v66, v68, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_272(v55, v64, v66, v68, 0, v71, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_300(0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v63, 1, 3, 4) :|: TRUE f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_494(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_503(v71, v597, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4, 2) :|: TRUE f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_566(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_573(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_274(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_574(v71, v597, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4, 2) :|: TRUE f_275(0, v1, v2, v3, v4, v5, v6, 3, 1, 4) -> f_277(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_276(v71, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) :|: 1 <= v85 && v86 = 3 + v85 && 4 <= v86 f_277(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) -> f_278(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) :|: TRUE f_278(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) -> f_280(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_279(v71, v85, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, 0, v63, v55, 3, 1, 4) -> f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) :|: 1 <= v87 && v88 = 3 + v87 && 4 <= v88 f_280(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) -> f_282(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_281(v71, v85, v87, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, 0, v63, v55, 3, 1, 4) -> f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 1 <= v89 && v90 = 3 + v89 && 4 <= v90 f_282(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) -> f_284(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) :|: TRUE f_283(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: TRUE f_284(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) -> f_286(v1, v3, v5, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_285(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: 0 = 0 f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_288(0, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 1, 3, 4) :|: v71 = 0 f_287(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) :|: v71 != 0 f_288(0, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 1, 3, 4) -> f_290(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) :|: 0 = 0 f_289(v71, v85, v87, v89, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, 0, v63, v55, 3, 1, 4) -> f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_290(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) -> f_292(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) :|: TRUE f_291(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: TRUE f_292(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) -> f_294(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) :|: TRUE f_293(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_294(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) -> f_296(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) :|: TRUE f_295(v71, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 1 + v92 = v71 f_296(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) -> f_298(0, v85, v87, v89, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 3, 4) :|: 0 = 0 f_297(v71, v85, v87, v89, 0, v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: 0 = 0 f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_304(0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, v63, 2, 1, 3, 4) :|: TRUE f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_463(v92, v509, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4, 2) :|: TRUE f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_541(v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_545(v92, v768, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4, 2) :|: TRUE f_299(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_580(v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE f_300(0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v63, 1, 3, 4) -> f_302(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_301(v92, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_256(v92, v56, v57, v58, v59, v60, v61, 0, v63, 3, 1, 4) :|: TRUE f_302(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_303(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_303(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_305(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_304(0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, v63, 2, 1, 3, 4) -> f_306(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: 0 = 0 f_305(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_307(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_306(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_308(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: 0 = 0 f_307(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_309(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_308(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_310(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: TRUE f_309(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_311(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_310(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_312(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: 0 = 0 f_311(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_313(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_312(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_314(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: 0 = 0 f_313(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_315(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_314(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_316(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: TRUE f_315(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_317(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_316(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_318(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: 0 = 0 f_317(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_319(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_318(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_320(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: TRUE f_319(1, v64, v66, v68, 0, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_374(1, v64, v66, v68, 0, 0, v65, v67, v69, v56, v57, v58, v59, v60, v61, v63, 3, 1, 2, 4) :|: TRUE f_320(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_323(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: TRUE f_323(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_326(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) :|: 0 = 0 f_326(1, v85, v87, v89, 0, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, 2, 3, 4) -> f_350(1, v85, v87, v89, 0, 0, v86, v88, v90, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v63, 2, 3, 1, 2, 4) :|: TRUE f_350(v182, v183, v184, v185, 0, v187, v188, v189, v190, v191, v192, v193, v194, v195, v196, v197, v198, v199, v200, v201, v202, v203, v204, 3, 1, 2, 4) -> f_420(v182, v183, v184, v185, 0, v187, v188, v189, v190, 3, 1, 2, 4) :|: TRUE f_374(v254, v255, v256, v257, 0, v259, v260, v261, v262, v263, v264, v265, v266, v267, v268, v269, 3, 1, 2, 4) -> f_459(v254, v255, v256, v257, 0, v259, v259, v254, v260, v261, v262, 3, 1, 2, 4) :|: TRUE f_420(v378, v379, v380, v381, 0, v383, v384, v385, v386, 3, 1, 2, 4) -> f_501(v378, v379, v380, v381, 0, v383, v383, v378, v384, v385, v386, 3, 1, 2, 4) :|: TRUE f_462(v7, v499, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4, 2) -> f_466(v1, v3, v5, v7, v499, v2, v4, v6, 0, 3, 1, 4, 2) :|: 0 = 0 f_463(v92, v509, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4, 2) -> f_467(v71, v85, v87, v89, 0, v92, v509, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: 0 = 0 f_466(v1, v3, v5, v7, v499, v2, v4, v6, 0, 3, 1, 4, 2) -> f_470(v1, v3, v5, v7, v499, v2, v4, v6, 0, 3, 1, 4, 2) :|: TRUE f_467(v71, v85, v87, v89, 0, v92, v509, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_471(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: v514 = 1 + v509 && 2 <= v514 && v514 <= 3 f_470(v1, v3, v5, v7, v499, v2, v4, v6, 0, 3, 1, 4, 2) -> f_474(v1, v3, v5, v7, v499, v2, v4, v6, 0, 3, 1, 4, 2) :|: 0 = 0 f_471(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_475(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: TRUE f_474(v1, v3, v5, v7, v499, v2, v4, v6, 0, 3, 1, 4, 2) -> f_478(v1, v3, v5, v7, v499, 0, v2, v4, v6, 3, 1, 4, 2) :|: 0 = 0 f_475(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_479(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: 0 = 0 f_478(v1, v3, v5, v7, v499, 0, v2, v4, v6, 3, 1, 4, 2) -> f_482(v1, v3, v5, v7, v499, 0, v2, v4, v6, 3, 1, 4, 2) :|: TRUE f_479(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_483(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) :|: 2 < v514 && v509 = 2 && v514 = 3 && 0 = 0 f_479(v71, v85, v87, v89, 0, v92, v509, v514, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_484(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: v514 <= 2 && v509 = 1 && v514 = 2 && 0 = 0 f_481(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_485(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_482(v1, v3, v5, v7, v499, 0, v2, v4, v6, 3, 1, 4, 2) -> f_486(v1, v3, v5, v7, v499, 0, v2, v4, v6, 3, 1, 4, 2) :|: 0 = 0 f_483(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) -> f_487(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: 0 = 0 f_484(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_488(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: 0 = 0 f_485(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_489(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_487(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_490(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_488(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_491(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: TRUE f_489(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_492(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: 0 = 0 f_490(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_481(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_491(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_493(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: 0 = 0 f_493(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_495(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: TRUE f_494(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_496(v55, v64, v66, v68, 0, v71, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_495(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_497(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: TRUE f_496(v55, v64, v66, v68, 0, v71, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_498(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: 0 = 0 f_497(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_499(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: 0 = 0 f_498(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_500(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: TRUE f_499(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_501(v71, v85, v87, v89, 0, v92, 1, 2, v86, v88, v90, 3, 1, 2, 4) :|: TRUE f_500(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_502(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: 0 = 0 f_502(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_504(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: 0 = 0 f_503(v71, v597, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4, 2) -> f_505(v55, v64, v66, v68, 0, v71, v597, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) :|: 0 = 0 f_504(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_506(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_505(v55, v64, v66, v68, 0, v71, v597, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) -> f_507(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) :|: v601 = 1 + v597 && 2 <= v601 && v601 <= 3 f_506(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_508(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_507(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) -> f_509(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) :|: TRUE f_508(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_510(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_509(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) -> f_511(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) :|: 0 = 0 f_510(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_512(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: 0 = 0 f_511(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) -> f_513(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: 2 < v601 && v597 = 2 && v601 = 3 && 0 = 0 f_511(v55, v64, v66, v68, 0, v71, v597, v601, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4, 2) -> f_514(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: v601 <= 2 && v597 = 1 && v601 = 2 && 0 = 0 f_512(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_537(v55, v64, v66, v68, 0, v71, 2, 3, 1, v65, v67, v69, v56, v57, v58, v59, v60, v61, v63, 4) :|: TRUE f_513(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_517(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: 0 = 0 f_514(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_518(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_517(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_521(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_518(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_522(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_521(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_525(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_522(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_526(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_525(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_529(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_526(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_530(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_529(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_533(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: 0 = 0 f_530(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_534(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: TRUE f_533(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_537(v55, v64, v66, v68, 0, v71, 2, 3, 1, v65, v67, v69, v56, v57, v58, v59, v60, v61, v63, 4) :|: TRUE f_534(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_538(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) :|: 0 = 0 f_538(v55, v64, v66, v68, 0, v71, 1, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 4) -> f_459(v55, v64, v66, v68, 0, v71, 1, 2, v65, v67, v69, 3, 1, 2, 4) :|: TRUE f_540(v7, 2, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_542(v1, v3, v5, v7, 2, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_541(v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_543(v71, v85, v87, v89, 0, v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) :|: 0 = 0 f_542(v1, v3, v5, v7, 2, v2, v4, v6, 0, 3, 1, 4) -> f_546(v1, v3, v5, v7, 2, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_543(v71, v85, v87, v89, 0, v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4) -> f_547(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) :|: 0 = 0 f_544(v7, v758, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4, 2) -> f_548(v1, v3, v5, v7, v758, v2, v4, v6, 0, 3, 1, 4, 2) :|: 0 = 0 f_545(v92, v768, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4, 2) -> f_549(v71, v85, v87, v89, 0, v92, v768, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: 0 = 0 f_546(v1, v3, v5, v7, 2, v2, v4, v6, 0, 3, 1, 4) -> f_550(v1, v3, v5, v7, 2, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_547(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) -> f_551(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) :|: TRUE f_548(v1, v3, v5, v7, v758, v2, v4, v6, 0, 3, 1, 4, 2) -> f_552(v1, v3, v5, v7, v758, v2, v4, v6, 0, 3, 1, 4, 2) :|: TRUE f_549(v71, v85, v87, v89, 0, v92, v768, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_553(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: v773 = 1 + v768 && 2 <= v773 && v773 <= 3 f_550(v1, v3, v5, v7, 2, v2, v4, v6, 0, 3, 1, 4) -> f_554(v1, v3, v5, v7, 2, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_551(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) -> f_555(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) :|: 0 = 0 f_552(v1, v3, v5, v7, v758, v2, v4, v6, 0, 3, 1, 4, 2) -> f_556(v1, v3, v5, v7, v758, v2, v4, v6, 0, 3, 1, 4, 2) :|: 0 = 0 f_553(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_557(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: TRUE f_554(v1, v3, v5, v7, 2, 0, v2, v4, v6, 3, 1, 4) -> f_558(v1, v3, v5, v7, 2, 0, v2, v4, v6, 3, 1, 4) :|: TRUE f_555(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) -> f_559(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: 0 = 0 f_556(v1, v3, v5, v7, v758, v2, v4, v6, 0, 3, 1, 4, 2) -> f_560(v1, v3, v5, v7, v758, 0, v2, v4, v6, 3, 1, 4, 2) :|: 0 = 0 f_557(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_561(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) :|: 0 = 0 f_558(v1, v3, v5, v7, 2, 0, v2, v4, v6, 3, 1, 4) -> f_482(v1, v3, v5, v7, 2, 0, v2, v4, v6, 3, 1, 4, 2) :|: TRUE f_559(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_562(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_560(v1, v3, v5, v7, v758, 0, v2, v4, v6, 3, 1, 4, 2) -> f_563(v1, v3, v5, v7, v758, 0, v2, v4, v6, 3, 1, 4, 2) :|: TRUE f_561(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_564(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) :|: 2 < v773 && v768 = 2 && v773 = 3 && 0 = 0 f_561(v71, v85, v87, v89, 0, v92, v768, v773, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 1, 4, 2) -> f_565(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: v773 <= 2 && v768 = 1 && v773 = 2 && 0 = 0 f_562(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_481(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_563(v1, v3, v5, v7, v758, 0, v2, v4, v6, 3, 1, 4, 2) -> f_482(v1, v3, v5, v7, v758, 0, v2, v4, v6, 3, 1, 4, 2) :|: TRUE f_564(v71, v85, v87, v89, 0, v92, 2, 3, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 1, 4) -> f_567(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: 0 = 0 f_565(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_568(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: 0 = 0 f_566(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_569(v55, v64, v66, v68, 0, v71, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) :|: 0 = 0 f_567(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_570(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_568(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_571(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: TRUE f_569(v55, v64, v66, v68, 0, v71, 2, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 3, 1, 4) -> f_572(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: 0 = 0 f_570(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) -> f_481(v71, v85, v87, v89, 0, v92, 2, 3, 1, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 4) :|: TRUE f_571(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) -> f_491(v71, v85, v87, v89, 0, v92, 1, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v86, v88, v90, v63, v55, 3, 4) :|: TRUE f_572(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_575(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: TRUE f_573(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) -> f_566(v71, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4) :|: TRUE f_574(v71, v597, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4, 2) -> f_503(v71, v597, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, 0, v63, v55, 3, 1, 4, 2) :|: TRUE f_575(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_576(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) :|: 0 = 0 f_576(v55, v64, v66, v68, 0, v71, 2, 3, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 1, 4) -> f_577(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: 0 = 0 f_577(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_578(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_578(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) -> f_506(v55, v64, v66, v68, 0, v71, 2, 3, 1, v56, v57, v58, v59, v60, v61, v65, v67, v69, v63, 4) :|: TRUE f_579(v7, 2, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_540(v7, 2, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_580(v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) -> f_541(v92, 2, v56, v57, v58, v59, v60, v61, v64, v65, v66, v67, v68, v69, v85, v86, v87, v88, v89, v90, 0, v63, v55, v71, 3, 1, 4) :|: TRUE Combined rules. Obtained 30 rulesP rules: f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 > -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v92:0 > -1 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_262(v92:0, v64:1, v66:1, v68:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 3 + v66:1, 3 + v68:1, 0, v63:0, 3, 1, 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v64:1 > 0 && v92:0 < -1 && v66:1 > 0 && v68:1 > 0 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_262(v92:0, v64:1, v66:1, v68:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 3 + v66:1, 3 + v68:1, 0, v63:0, 3, 1, 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v64:1 > 0 && v92:0 > -1 && v66:1 > 0 && v68:1 > 0 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_262(v92:0, v64:1, v66:1, v68:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 3 + v66:1, 3 + v68:1, 0, v63:0, 3, 1, 4) :|: v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v64:1 > 0 && v92:0 < -1 && v66:1 > 0 && v68:1 > 0 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_262(v92:0, v64:1, v66:1, v68:1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, 3 + v64:1, 3 + v66:1, 3 + v68:1, 0, v63:0, 3, 1, 4) :|: v92:0 > -1 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v64:1 > 0 && v66:1 > 0 && v68:1 > 0 f_262(1 + v71:0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_511(1 + v71:0, v64:0, v66:0, v68:0, 0, v71:0, v597:0, 1 + v597:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, v63:0, 3, 1, 4, 2) :|: v71:0 < -1 && v597:0 < 3 && v597:0 > 0 f_262(1 + v71:0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_511(1 + v71:0, v64:0, v66:0, v68:0, 0, v71:0, v597:0, 1 + v597:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, v63:0, 3, 1, 4, 2) :|: v71:0 > -1 && v597:0 < 3 && v597:0 > 0 f_511(v55:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, v63:0, 3, 1, 4, 2) -> f_537(v55:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, 1, v65:0, v67:0, v69:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v63:0, 4) :|: TRUE f_262(0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_273(0, v64:0, v66:0, v68:0, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, v63:0, 3, 4) :|: TRUE f_201 -> f_486(v1:0, v3:0, v5:0, v7:0, 2, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4, 2) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_201 -> f_486(v1:0, v3:0, v5:0, v7:0, v758:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4, 2) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_262(1 + v71:0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_537(1 + v71:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, 1, v65:0, v67:0, v69:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v63:0, 4) :|: v71:0 < -1 f_262(1 + v71:0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_537(1 + v71:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, 1, v65:0, v67:0, v69:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v63:0, 4) :|: v71:0 > -1 f_201 -> f_262(v7:0, v64:0, v66:0, v68:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 3 + v5:0, 3 + v64:0, 3 + v66:0, 3 + v68:0, 0, v7:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v64:0 > 0 && v66:0 > 0 && v68:0 > 0 f_262(1 + v71:0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_459(1, v64:0, v66:0, v68:0, 0, 0, 0, 1, v65:0, v67:0, v69:0, 3, 1, 2, 4) :|: v71:0 < -1 f_262(1 + v71:0, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_459(1, v64:0, v66:0, v68:0, 0, 0, 0, 1, v65:0, v67:0, v69:0, 3, 1, 2, 4) :|: v71:0 > -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 > -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 > -1 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 f_262(1, v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_298(0, v85:0, v87:0, v89:0, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 3, 4) :|: v85:0 > 0 && v87:0 > 0 && v89:0 > 0 f_511(v55:0, v64:0, v66:0, v68:0, 0, v71:0, 1, 2, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, v63:0, 3, 1, 4, 2) -> f_459(v55:0, v64:0, v66:0, v68:0, 0, v71:0, 1, 2, v65:0, v67:0, v69:0, 3, 1, 2, 4) :|: TRUE f_201 -> f_286(v1:0, v3:0, v5:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 < -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 > -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 > -2 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 && v92:0 < -1 f_262(1 + (1 + v92:0), v64:0, v66:0, v68:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, 0, v63:0, 3, 1, 4) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v92:0 > -1 && v85:0 > 0 && v87:0 > 0 && v89:0 > 0 Filtered unneeded arguments: f_262(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f_262(x1) f_511(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_511(x7, x8) Removed division, modulo operations, cleaned up constraints. Obtained 30 rules.P rules: f_262(sum~cons_1~sum~cons_1~v92:0) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 > -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v85:0 > 0 && v92:0 > -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v85:0 > 0 && v92:0 > -1 && v89:0 > 0 && v87:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_262(v92:0) :|: v92:0 < -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_262(v92:0) :|: v92:0 < -2 && v92:0 > -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_262(v92:0) :|: v92:0 > -2 && v92:0 < -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_262(v92:0) :|: v92:0 > -1 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~v71:0) -> f_511(v597:0, 1 + v597:0) :|: v597:0 < 3 && v597:0 > 0 && v71:0 < -1 && sum~cons_1~v71:0 = 1 + v71:0 f_262(sum~cons_1~v71:0) -> f_511(v597:0, 1 + v597:0) :|: v597:0 < 3 && v597:0 > 0 && v71:0 > -1 && sum~cons_1~v71:0 = 1 + v71:0 f_511(cons_2, cons_3) -> f_537(v55:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, 1, v65:0, v67:0, v69:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v63:0, 4) :|: TRUE && cons_2 = 2 && cons_3 = 3 f_262(cons_0) -> f_273(0, v64:0, v66:0, v68:0, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v65:0, v67:0, v69:0, v63:0, 3, 4) :|: TRUE && cons_0 = 0 f_201 -> f_486(v1:0, v3:0, v5:0, v7:0, 2, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4, 2) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_201 -> f_486(v1:0, v3:0, v5:0, v7:0, v758:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4, 2) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_262(sum~cons_1~v71:0) -> f_537(1 + v71:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, 1, v65:0, v67:0, v69:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v63:0, 4) :|: v71:0 < -1 && sum~cons_1~v71:0 = 1 + v71:0 f_262(sum~cons_1~v71:0) -> f_537(1 + v71:0, v64:0, v66:0, v68:0, 0, v71:0, 2, 3, 1, v65:0, v67:0, v69:0, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v63:0, 4) :|: v71:0 > -1 && sum~cons_1~v71:0 = 1 + v71:0 f_201 -> f_262(v7:0) :|: TRUE f_262(sum~cons_1~v71:0) -> f_459(1, v64:0, v66:0, v68:0, 0, 0, 0, 1, v65:0, v67:0, v69:0, 3, 1, 2, 4) :|: v71:0 < -1 && sum~cons_1~v71:0 = 1 + v71:0 f_262(sum~cons_1~v71:0) -> f_459(1, v64:0, v66:0, v68:0, 0, 0, 0, 1, v65:0, v67:0, v69:0, 3, 1, 2, 4) :|: v71:0 > -1 && sum~cons_1~v71:0 = 1 + v71:0 f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 > -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 > -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 1, 2, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 > -1 && v89:0 > 0 && v87:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(cons_1) -> f_298(0, v85:0, v87:0, v89:0, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 3, 4) :|: v87:0 > 0 && v89:0 > 0 && v85:0 > 0 && cons_1 = 1 f_511(cons_1, cons_2) -> f_459(v55:0, v64:0, v66:0, v68:0, 0, v71:0, 1, 2, v65:0, v67:0, v69:0, 3, 1, 2, 4) :|: TRUE && cons_1 = 1 && cons_2 = 2 f_201 -> f_286(v1:0, v3:0, v5:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 > -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 > -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(sum~cons_1~sum~cons_1~v92:0) -> f_501(1, v85:0, v87:0, v89:0, 0, 0, 0, 1, 3 + v85:0, 3 + v87:0, 3 + v89:0, 3, 1, 2, 4) :|: v85:0 > 0 && v92:0 > -1 && v89:0 > 0 && v87:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) ---------------------------------------- (28) Obligation: Rules: f_262(sum~cons_1~sum~cons_1~v92:0) -> f_492(1 + v92:0, v85:0, v87:0, v89:0, 0, v92:0, 2, 3, 1, v56:0, v57:0, v58:0, v59:0, v60:0, v61:0, v64:0, v65:0, v66:0, v67:0, v68:0, v69:0, 3 + v85:0, 3 + v87:0, 3 + v89:0, v63:0, 1 + (1 + v92:0), 4) :|: v85:0 > 0 && v92:0 < -2 && v87:0 > 0 && v92:0 < -1 && v89:0 > 0 && sum~cons_1~sum~cons_1~v92:0 = 1 + (1 + v92:0) f_262(x) -> f_492(1 + x1, x2, x3, x4, 0, x1, 2, 3, 1, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, 3 + x2, 3 + x3, 3 + x4, x17, 1 + (1 + x1), 4) :|: x2 > 0 && x1 < -2 && x3 > 0 && x1 > -1 && x4 > 0 && x = 1 + (1 + x1) f_262(x18) -> f_492(1 + x19, x20, x21, x22, 0, x19, 2, 3, 1, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, 3 + x20, 3 + x21, 3 + x22, x35, 1 + (1 + x19), 4) :|: x20 > 0 && x19 > -2 && x21 > 0 && x19 < -1 && x22 > 0 && x18 = 1 + (1 + x19) f_262(x36) -> f_492(1 + x37, x38, x39, x40, 0, x37, 2, 3, 1, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, 3 + x38, 3 + x39, 3 + x40, x53, 1 + (1 + x37), 4) :|: x38 > 0 && x37 > -1 && x40 > 0 && x39 > 0 && x36 = 1 + (1 + x37) f_262(x54) -> f_262(x55) :|: x55 < -2 && x55 < -1 && x54 = 1 + (1 + x55) f_262(x56) -> f_262(x57) :|: x57 < -2 && x57 > -1 && x56 = 1 + (1 + x57) f_262(x58) -> f_262(x59) :|: x59 > -2 && x59 < -1 && x58 = 1 + (1 + x59) f_262(x60) -> f_262(x61) :|: x61 > -1 && x60 = 1 + (1 + x61) f_262(sum~cons_1~v71:0) -> f_511(v597:0, 1 + v597:0) :|: v597:0 < 3 && v597:0 > 0 && v71:0 < -1 && sum~cons_1~v71:0 = 1 + v71:0 f_262(x62) -> f_511(x63, 1 + x63) :|: x63 < 3 && x63 > 0 && x64 > -1 && x62 = 1 + x64 f_511(x65, x66) -> f_537(x67, x68, x69, x70, 0, x71, 2, 3, 1, x72, x73, x74, x75, x76, x77, x78, x79, x80, x81, 4) :|: TRUE && x65 = 2 && x66 = 3 f_262(x82) -> f_273(0, x83, x84, x85, 1, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95, 3, 4) :|: TRUE && x82 = 0 f_201 -> f_486(v1:0, v3:0, v5:0, v7:0, 2, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4, 2) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_201 -> f_486(x96, x97, x98, x99, x100, 0, 3 + x96, 3 + x97, 3 + x98, 3, 1, 4, 2) :|: x96 > 0 && x98 > 0 && x97 > 0 f_262(x101) -> f_537(1 + x102, x103, x104, x105, 0, x102, 2, 3, 1, x106, x107, x108, x109, x110, x111, x112, x113, x114, x115, 4) :|: x102 < -1 && x101 = 1 + x102 f_262(x116) -> f_537(1 + x117, x118, x119, x120, 0, x117, 2, 3, 1, x121, x122, x123, x124, x125, x126, x127, x128, x129, x130, 4) :|: x117 > -1 && x116 = 1 + x117 f_201 -> f_262(x131) :|: TRUE f_262(x132) -> f_459(1, x133, x134, x135, 0, 0, 0, 1, x136, x137, x138, 3, 1, 2, 4) :|: x139 < -1 && x132 = 1 + x139 f_262(x140) -> f_459(1, x141, x142, x143, 0, 0, 0, 1, x144, x145, x146, 3, 1, 2, 4) :|: x147 > -1 && x140 = 1 + x147 f_262(x148) -> f_501(1 + x149, x150, x151, x152, 0, x149, 1, 2, 3 + x150, 3 + x151, 3 + x152, 3, 1, 2, 4) :|: x150 > 0 && x149 < -2 && x151 > 0 && x149 < -1 && x152 > 0 && x148 = 1 + (1 + x149) f_262(x153) -> f_501(1 + x154, x155, x156, x157, 0, x154, 1, 2, 3 + x155, 3 + x156, 3 + x157, 3, 1, 2, 4) :|: x155 > 0 && x154 < -2 && x156 > 0 && x154 > -1 && x157 > 0 && x153 = 1 + (1 + x154) f_262(x158) -> f_501(1 + x159, x160, x161, x162, 0, x159, 1, 2, 3 + x160, 3 + x161, 3 + x162, 3, 1, 2, 4) :|: x160 > 0 && x159 > -2 && x161 > 0 && x159 < -1 && x162 > 0 && x158 = 1 + (1 + x159) f_262(x163) -> f_501(1 + x164, x165, x166, x167, 0, x164, 1, 2, 3 + x165, 3 + x166, 3 + x167, 3, 1, 2, 4) :|: x165 > 0 && x164 > -1 && x167 > 0 && x166 > 0 && x163 = 1 + (1 + x164) f_262(x168) -> f_298(0, x169, x170, x171, 1, x172, x173, x174, x175, x176, x177, x178, x179, x180, x181, x182, x183, 3 + x169, 3 + x170, 3 + x171, x184, 3, 4) :|: x170 > 0 && x171 > 0 && x169 > 0 && x168 = 1 f_511(x185, x186) -> f_459(x187, x188, x189, x190, 0, x191, 1, 2, x192, x193, x194, 3, 1, 2, 4) :|: TRUE && x185 = 1 && x186 = 2 f_201 -> f_286(x195, x196, x197, 0, 3 + x195, 3 + x196, 3 + x197, 3, 1, 4) :|: x195 > 0 && x197 > 0 && x196 > 0 f_262(x198) -> f_501(1, x199, x200, x201, 0, 0, 0, 1, 3 + x199, 3 + x200, 3 + x201, 3, 1, 2, 4) :|: x199 > 0 && x202 < -2 && x200 > 0 && x202 < -1 && x201 > 0 && x198 = 1 + (1 + x202) f_262(x203) -> f_501(1, x204, x205, x206, 0, 0, 0, 1, 3 + x204, 3 + x205, 3 + x206, 3, 1, 2, 4) :|: x204 > 0 && x207 < -2 && x205 > 0 && x207 > -1 && x206 > 0 && x203 = 1 + (1 + x207) f_262(x208) -> f_501(1, x209, x210, x211, 0, 0, 0, 1, 3 + x209, 3 + x210, 3 + x211, 3, 1, 2, 4) :|: x209 > 0 && x212 > -2 && x210 > 0 && x212 < -1 && x211 > 0 && x208 = 1 + (1 + x212) f_262(x213) -> f_501(1, x214, x215, x216, 0, 0, 0, 1, 3 + x214, 3 + x215, 3 + x216, 3, 1, 2, 4) :|: x214 > 0 && x217 > -1 && x216 > 0 && x215 > 0 && x213 = 1 + (1 + x217) Start term: f_201 ---------------------------------------- (29) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_262_27,1) (f_492_27,2) (f_511_27,3) (f_537_27,4) (f_273_27,5) (f_201_27,6) (f_486_27,7) (f_459_27,8) (f_501_27,9) (f_298_27,10) (f_286_27,11) ---------------------------------------- (30) Obligation: START: 6; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 < -2 && oldX29 > 0 && oldX27 < -1 && oldX30 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 2; x7 := 3; x8 := 1; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := oldX41; x20 := oldX42; x21 := 3 + oldX28; x22 := 3 + oldX29; x23 := 3 + oldX30; x24 := oldX43; x25 := 1 + (1 + oldX27); x26 := 4; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 < -2 && oldX29 > 0 && oldX27 > -1 && oldX30 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 2; x7 := 3; x8 := 1; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := oldX41; x20 := oldX42; x21 := 3 + oldX28; x22 := 3 + oldX29; x23 := 3 + oldX30; x24 := oldX43; x25 := 1 + (1 + oldX27); x26 := 4; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 > -2 && oldX29 > 0 && oldX27 < -1 && oldX30 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 2; x7 := 3; x8 := 1; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := oldX41; x20 := oldX42; x21 := 3 + oldX28; x22 := 3 + oldX29; x23 := 3 + oldX30; x24 := oldX43; x25 := 1 + (1 + oldX27); x26 := 4; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 > -1 && oldX30 > 0 && oldX29 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 2; x7 := 3; x8 := 1; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := oldX41; x20 := oldX42; x21 := 3 + oldX28; x22 := 3 + oldX29; x23 := 3 + oldX30; x24 := oldX43; x25 := 1 + (1 + oldX27); x26 := 4; 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 := x26; oldX27 := oldX0 - 2; 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(); oldX51 := nondet(); oldX52 := nondet(); oldX53 := nondet(); assume(oldX27 < -2 && oldX27 < -1 && oldX0 = 1 + (1 + oldX27)); x0 := oldX0 - 2; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := oldX31; x5 := oldX32; x6 := oldX33; x7 := oldX34; x8 := oldX35; x9 := oldX36; x10 := oldX37; x11 := oldX38; x12 := oldX39; x13 := oldX40; x14 := oldX41; x15 := oldX42; x16 := oldX43; x17 := oldX44; x18 := oldX45; x19 := oldX46; x20 := oldX47; x21 := oldX48; x22 := oldX49; x23 := oldX50; x24 := oldX51; x25 := oldX52; x26 := oldX53; 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; oldX26 := x26; oldX27 := oldX0 - 2; 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(); oldX51 := nondet(); oldX52 := nondet(); oldX53 := nondet(); assume(oldX27 < -2 && oldX27 > -1 && oldX0 = 1 + (1 + oldX27)); x0 := oldX0 - 2; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := oldX31; x5 := oldX32; x6 := oldX33; x7 := oldX34; x8 := oldX35; x9 := oldX36; x10 := oldX37; x11 := oldX38; x12 := oldX39; x13 := oldX40; x14 := oldX41; x15 := oldX42; x16 := oldX43; x17 := oldX44; x18 := oldX45; x19 := oldX46; x20 := oldX47; x21 := oldX48; x22 := oldX49; x23 := oldX50; x24 := oldX51; x25 := oldX52; x26 := oldX53; 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; oldX26 := x26; oldX27 := oldX0 - 2; 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(); oldX51 := nondet(); oldX52 := nondet(); oldX53 := nondet(); assume(oldX27 > -2 && oldX27 < -1 && oldX0 = 1 + (1 + oldX27)); x0 := oldX0 - 2; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := oldX31; x5 := oldX32; x6 := oldX33; x7 := oldX34; x8 := oldX35; x9 := oldX36; x10 := oldX37; x11 := oldX38; x12 := oldX39; x13 := oldX40; x14 := oldX41; x15 := oldX42; x16 := oldX43; x17 := oldX44; x18 := oldX45; x19 := oldX46; x20 := oldX47; x21 := oldX48; x22 := oldX49; x23 := oldX50; x24 := oldX51; x25 := oldX52; x26 := oldX53; 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; oldX26 := x26; oldX27 := oldX0 - 2; 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(); oldX51 := nondet(); oldX52 := nondet(); oldX53 := nondet(); assume(oldX27 > -1 && oldX0 = 1 + (1 + oldX27)); x0 := oldX0 - 2; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := oldX31; x5 := oldX32; x6 := oldX33; x7 := oldX34; x8 := oldX35; x9 := oldX36; x10 := oldX37; x11 := oldX38; x12 := oldX39; x13 := oldX40; x14 := oldX41; x15 := oldX42; x16 := oldX43; x17 := oldX44; x18 := oldX45; x19 := oldX46; x20 := oldX47; x21 := oldX48; x22 := oldX49; x23 := oldX50; x24 := oldX51; x25 := oldX52; x26 := oldX53; 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; oldX26 := x26; oldX53 := 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(); oldX50 := nondet(); oldX51 := nondet(); oldX52 := nondet(); assume(oldX27 < 3 && oldX27 > 0 && oldX53 < -1 && oldX0 = 1 + oldX53); x0 := oldX27; x1 := 1 + oldX27; x2 := oldX28; x3 := oldX29; x4 := oldX30; x5 := oldX31; x6 := oldX32; x7 := oldX33; x8 := oldX34; x9 := oldX35; x10 := oldX36; x11 := oldX37; x12 := oldX38; x13 := oldX39; x14 := oldX40; x15 := oldX41; x16 := oldX42; x17 := oldX43; x18 := oldX44; x19 := oldX45; x20 := oldX46; x21 := oldX47; x22 := oldX48; x23 := oldX49; x24 := oldX50; x25 := oldX51; x26 := oldX52; TO: 3; 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 := x26; oldX53 := 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(); oldX50 := nondet(); oldX51 := nondet(); oldX52 := nondet(); assume(oldX27 < 3 && oldX27 > 0 && oldX53 > -1 && oldX0 = 1 + oldX53); x0 := oldX27; x1 := 1 + oldX27; x2 := oldX28; x3 := oldX29; x4 := oldX30; x5 := oldX31; x6 := oldX32; x7 := oldX33; x8 := oldX34; x9 := oldX35; x10 := oldX36; x11 := oldX37; x12 := oldX38; x13 := oldX39; x14 := oldX40; x15 := oldX41; x16 := oldX42; x17 := oldX43; x18 := oldX44; x19 := oldX45; x20 := oldX46; x21 := oldX47; x22 := oldX48; x23 := oldX49; x24 := oldX50; x25 := oldX51; x26 := oldX52; TO: 3; FROM: 3; 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 := x26; 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 && oldX0 = 2 && oldX1 = 3); x0 := oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX31; x6 := 2; x7 := 3; x8 := 1; x9 := oldX32; x10 := oldX33; x11 := oldX34; x12 := oldX35; x13 := oldX36; x14 := oldX37; x15 := oldX38; x16 := oldX39; x17 := oldX40; x18 := oldX41; x19 := 4; x20 := oldX42; x21 := oldX43; x22 := oldX44; x23 := oldX45; x24 := oldX46; x25 := oldX47; x26 := oldX48; TO: 4; 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 := x26; 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(0 = 0 && oldX0 = 0); x0 := 0; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 1; x5 := oldX30; x6 := oldX31; x7 := oldX32; x8 := oldX33; x9 := oldX34; x10 := oldX35; x11 := oldX36; x12 := oldX37; x13 := oldX38; x14 := oldX39; x15 := 3; x16 := 4; x17 := oldX40; x18 := oldX41; x19 := oldX42; x20 := oldX43; x21 := oldX44; x22 := oldX45; x23 := oldX46; x24 := oldX47; x25 := oldX48; x26 := oldX49; TO: 5; FROM: 6; 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 := x26; 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(oldX27 > 0 && oldX29 > 0 && oldX28 > 0); x0 := oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 2; x5 := 0; x6 := 3 + oldX27; x7 := 3 + oldX28; x8 := 3 + oldX29; x9 := 3; x10 := 1; x11 := 4; x12 := 2; x13 := oldX31; x14 := oldX32; x15 := oldX33; x16 := oldX34; x17 := oldX35; x18 := oldX36; x19 := oldX37; x20 := oldX38; x21 := oldX39; x22 := oldX40; x23 := oldX41; x24 := oldX42; x25 := oldX43; x26 := oldX44; TO: 7; FROM: 6; 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 := x26; 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(oldX27 > 0 && oldX29 > 0 && oldX28 > 0); x0 := oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := oldX31; x5 := 0; x6 := 3 + oldX27; x7 := 3 + oldX28; x8 := 3 + oldX29; x9 := 3; x10 := 1; x11 := 4; x12 := 2; 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; x26 := oldX45; TO: 7; 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 := x26; oldX27 := oldX0 - 1; 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(); assume(oldX27 < -1 && oldX0 = 1 + oldX27); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 1; x6 := 2; x7 := 3; x8 := 1; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := 4; x20 := oldX41; x21 := oldX42; x22 := oldX43; x23 := oldX44; x24 := oldX45; x25 := oldX46; x26 := oldX47; TO: 4; 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 := x26; oldX27 := oldX0 - 1; 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(); assume(oldX27 > -1 && oldX0 = 1 + oldX27); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 1; x6 := 2; x7 := 3; x8 := 1; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := 4; x20 := oldX41; x21 := oldX42; x22 := oldX43; x23 := oldX44; x24 := oldX45; x25 := oldX46; x26 := oldX47; TO: 4; FROM: 6; 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 := x26; 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(); oldX51 := nondet(); oldX52 := nondet(); oldX53 := nondet(); assume(0 = 0); x0 := oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := oldX31; x5 := oldX32; x6 := oldX33; x7 := oldX34; x8 := oldX35; x9 := oldX36; x10 := oldX37; x11 := oldX38; x12 := oldX39; x13 := oldX40; x14 := oldX41; x15 := oldX42; x16 := oldX43; x17 := oldX44; x18 := oldX45; x19 := oldX46; x20 := oldX47; x21 := oldX48; x22 := oldX49; x23 := oldX50; x24 := oldX51; x25 := oldX52; x26 := oldX53; 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; oldX26 := x26; oldX45 := 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(oldX45 < -1 && oldX0 = 1 + oldX45); x0 := 1; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 0; x6 := 0; x7 := 1; x8 := oldX30; x9 := oldX31; x10 := oldX32; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX33; x16 := oldX34; x17 := oldX35; x18 := oldX36; x19 := oldX37; x20 := oldX38; x21 := oldX39; x22 := oldX40; x23 := oldX41; x24 := oldX42; x25 := oldX43; x26 := 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 := x26; oldX45 := 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(oldX45 > -1 && oldX0 = 1 + oldX45); x0 := 1; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 0; x6 := 0; x7 := 1; x8 := oldX30; x9 := oldX31; x10 := oldX32; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX33; x16 := oldX34; x17 := oldX35; x18 := oldX36; x19 := oldX37; x20 := oldX38; x21 := oldX39; x22 := oldX40; x23 := oldX41; x24 := oldX42; x25 := oldX43; x26 := 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 < -2 && oldX29 > 0 && oldX27 < -1 && oldX30 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 1; x7 := 2; x8 := 3 + oldX28; x9 := 3 + oldX29; x10 := 3 + oldX30; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX31; x16 := oldX32; x17 := oldX33; x18 := oldX34; x19 := oldX35; x20 := oldX36; x21 := oldX37; x22 := oldX38; x23 := oldX39; x24 := oldX40; x25 := oldX41; x26 := oldX42; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 < -2 && oldX29 > 0 && oldX27 > -1 && oldX30 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 1; x7 := 2; x8 := 3 + oldX28; x9 := 3 + oldX29; x10 := 3 + oldX30; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX31; x16 := oldX32; x17 := oldX33; x18 := oldX34; x19 := oldX35; x20 := oldX36; x21 := oldX37; x22 := oldX38; x23 := oldX39; x24 := oldX40; x25 := oldX41; x26 := oldX42; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 > -2 && oldX29 > 0 && oldX27 < -1 && oldX30 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 1; x7 := 2; x8 := 3 + oldX28; x9 := 3 + oldX29; x10 := 3 + oldX30; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX31; x16 := oldX32; x17 := oldX33; x18 := oldX34; x19 := oldX35; x20 := oldX36; x21 := oldX37; x22 := oldX38; x23 := oldX39; x24 := oldX40; x25 := oldX41; x26 := oldX42; 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 := x26; oldX27 := oldX0 - 2; 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(oldX28 > 0 && oldX27 > -1 && oldX30 > 0 && oldX29 > 0 && oldX0 = 1 + (1 + oldX27)); x0 := 1 + oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX0 - 2; x6 := 1; x7 := 2; x8 := 3 + oldX28; x9 := 3 + oldX29; x10 := 3 + oldX30; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX31; x16 := oldX32; x17 := oldX33; x18 := oldX34; x19 := oldX35; x20 := oldX36; x21 := oldX37; x22 := oldX38; x23 := oldX39; x24 := oldX40; x25 := oldX41; x26 := oldX42; 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 := x26; 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(oldX28 > 0 && oldX29 > 0 && oldX27 > 0 && oldX0 = 1); x0 := 0; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 1; 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 := 3 + oldX27; x18 := 3 + oldX28; x19 := 3 + oldX29; x20 := oldX42; x21 := 3; x22 := 4; x23 := oldX43; x24 := oldX44; x25 := oldX45; x26 := oldX46; TO: 10; FROM: 3; 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 := x26; 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 && oldX0 = 1 && oldX1 = 2); x0 := oldX27; x1 := oldX28; x2 := oldX29; x3 := oldX30; x4 := 0; x5 := oldX31; x6 := 1; x7 := 2; x8 := oldX32; x9 := oldX33; x10 := oldX34; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX35; x16 := oldX36; x17 := oldX37; x18 := oldX38; x19 := oldX39; x20 := oldX40; x21 := oldX41; x22 := oldX42; x23 := oldX43; x24 := oldX44; x25 := oldX45; x26 := oldX46; TO: 8; FROM: 6; 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 := x26; 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(oldX27 > 0 && oldX29 > 0 && oldX28 > 0); x0 := oldX27; x1 := oldX28; x2 := oldX29; x3 := 0; x4 := 3 + oldX27; x5 := 3 + oldX28; x6 := 3 + oldX29; x7 := 3; x8 := 1; x9 := 4; x10 := oldX30; x11 := oldX31; 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; x26 := oldX46; TO: 11; 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 := x26; oldX42 := oldX0 - 2; 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(); assume(oldX27 > 0 && oldX42 < -2 && oldX28 > 0 && oldX42 < -1 && oldX29 > 0 && oldX0 = 1 + (1 + oldX42)); x0 := 1; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 0; x6 := 0; x7 := 1; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 3 + oldX29; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; x22 := oldX37; x23 := oldX38; x24 := oldX39; x25 := oldX40; x26 := oldX41; 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 := x26; oldX42 := oldX0 - 2; 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(); assume(oldX27 > 0 && oldX42 < -2 && oldX28 > 0 && oldX42 > -1 && oldX29 > 0 && oldX0 = 1 + (1 + oldX42)); x0 := 1; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 0; x6 := 0; x7 := 1; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 3 + oldX29; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; x22 := oldX37; x23 := oldX38; x24 := oldX39; x25 := oldX40; x26 := oldX41; 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 := x26; oldX42 := oldX0 - 2; 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(); assume(oldX27 > 0 && oldX42 > -2 && oldX28 > 0 && oldX42 < -1 && oldX29 > 0 && oldX0 = 1 + (1 + oldX42)); x0 := 1; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 0; x6 := 0; x7 := 1; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 3 + oldX29; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; x22 := oldX37; x23 := oldX38; x24 := oldX39; x25 := oldX40; x26 := oldX41; 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 := x26; oldX42 := oldX0 - 2; 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(); assume(oldX27 > 0 && oldX42 > -1 && oldX29 > 0 && oldX28 > 0 && oldX0 = 1 + (1 + oldX42)); x0 := 1; x1 := oldX27; x2 := oldX28; x3 := oldX29; x4 := 0; x5 := 0; x6 := 0; x7 := 1; x8 := 3 + oldX27; x9 := 3 + oldX28; x10 := 3 + oldX29; x11 := 3; x12 := 1; x13 := 2; x14 := 4; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; x22 := oldX37; x23 := oldX38; x24 := oldX39; x25 := oldX40; x26 := oldX41; TO: 9; ---------------------------------------- (31) T2 (COMPLETE) Found this recurrent set for cutpoint 14: x0-oldX27 <= 0 and x0+1 <= 0 and x0 <= 0 ---------------------------------------- (32) NO