/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could be proven: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 177 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 8561 ms] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (6) AND (7) LLVM Symbolic Execution SCC (8) SCC2IRS [SOUND, 388 ms] (9) IntTRS (10) IRS2T2 [EQUIVALENT, 0 ms] (11) T2IntSys (12) T2 [EQUIVALENT, 1384 ms] (13) YES (14) LLVM Symbolic Execution SCC (15) SCC2IRS [SOUND, 247 ms] (16) IntTRS (17) IRS2T2 [EQUIVALENT, 0 ms] (18) T2IntSys (19) T2 [EQUIVALENT, 723 ms] (20) YES (21) LLVM Symbolic Execution SCC (22) SCC2IRS [SOUND, 226 ms] (23) IntTRS (24) IRS2T2 [EQUIVALENT, 0 ms] (25) T2IntSys (26) T2 [EQUIVALENT, 413 ms] (27) YES (28) LLVM Symbolic Execution SCC (29) SCC2IRS [SOUND, 217 ms] (30) IntTRS (31) IRS2T2 [EQUIVALENT, 0 ms] (32) T2IntSys (33) T2 [EQUIVALENT, 242 ms] (34) YES (35) LLVM Symbolic Execution SCC (36) SCC2IRS [SOUND, 100 ms] (37) IntTRS (38) IRS2T2 [EQUIVALENT, 0 ms] (39) T2IntSys (40) T2 [EQUIVALENT, 443 ms] (41) YES (42) LLVM Symbolic Execution SCC (43) SCC2IRS [SOUND, 88 ms] (44) IntTRS (45) IRS2T2 [EQUIVALENT, 0 ms] (46) T2IntSys (47) T2 [EQUIVALENT, 692 ms] (48) YES (49) LLVM Symbolic Execution SCC (50) SCC2IRS [SOUND, 126 ms] (51) IntTRS (52) IRS2T2 [EQUIVALENT, 0 ms] (53) T2IntSys (54) T2 [EQUIVALENT, 1004 ms] (55) YES ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %x = alloca *i32, align 8 %y = alloca *i32, align 8 %z = alloca *i32, align 8 store 0, %1 %2 = alloca i8, numElementsLit: 4 %3 = bitcast *i8 %2 to *i32 store %3, %x %4 = alloca i8, numElementsLit: 4 %5 = bitcast *i8 %4 to *i32 store %5, %y %6 = alloca i8, numElementsLit: 4 %7 = bitcast *i8 %6 to *i32 store %7, %z br %8 8: %9 = load %x %10 = load %9 %11 = icmp sgt %10 0 br %11, %12, %20 12: %13 = load %y %14 = load %13 %15 = icmp sgt %14 0 br %15, %16, %20 16: %17 = load %z %18 = load %17 %19 = icmp sgt %18 0 br %20 20: %21 = phi [0, %12], [0, %8], [%19, %16] br %21, %22, %49 22: %23 = call i32 @__VERIFIER_nondet_int() %24 = icmp ne %23 0 br %24, %25, %30 25: %26 = load %x %27 = load %26 %28 = sub %27 1 %29 = load %x store %28, %29 br %48 30: %31 = call i32 @__VERIFIER_nondet_int() %32 = icmp ne %31 0 br %32, %33, %40 33: %34 = load %y %35 = load %34 %36 = sub %35 1 %37 = load %y store %36, %37 %38 = call i32 @__VERIFIER_nondet_int() %39 = load %z store %38, %39 br %47 40: %41 = load %z %42 = load %41 %43 = sub %42 1 %44 = load %z store %43, %44 %45 = call i32 @__VERIFIER_nondet_int() %46 = load %x store %45, %46 br %47 47: br %48 48: br %8 49: %50 = load %1 ret %50 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) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 7 SCCs. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC ---------------------------------------- (8) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 151 rulesP rules: f_1086(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1092(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1092(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1098(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1098(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1104(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1104(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1111(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1111(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1118(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1118(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1126(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1126(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1134(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1134(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1142(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 < v25209 && 2 <= v25200 f_1142(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1151(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1151(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1159(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1159(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1166(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1166(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1171(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1171(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1177(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 < v25210 f_1177(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1184(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1184(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1193(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1193(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1200(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1200(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1207(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1207(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1214(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: v33742 != 0 f_1207(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1215(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: v33742 = 0 f_1214(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1221(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1221(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1230(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: TRUE f_1230(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1237(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1237(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1243(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1243(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1251(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: 1 + v34663 = v25198 && 0 <= v34663 f_1251(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1259(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1259(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1267(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: TRUE f_1267(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1274(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: TRUE f_1274(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v34663, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) -> f_1275(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, v33742, v25205, v25206, v25207, v25208, v25200, v34663, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 0, 3, 7, 2, 4, 8) :|: TRUE f_1275(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36535, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36545, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1282(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36535, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36545, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1282(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36535, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36545, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1289(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36535, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36545, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1289(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36535, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36545, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1296(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1296(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1304(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 < v36545 && 2 <= v36535 && 2 <= v36543 f_1304(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1313(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1313(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1324(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1324(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1334(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1334(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1345(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1345(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1351(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1351(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1355(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1355(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1359(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1359(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1362(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1362(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1366(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1366(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1371(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1371(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1376(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1376(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v36539, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1381(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1381(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1386(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: v42206 != 0 f_1381(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1387(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) :|: v42206 = 0 f_1386(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1391(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_1391(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1395(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1395(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) -> f_1230(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, v42206, v36535, v36545, v36540, v36541, v36542, v36543, v36544, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 0, 3, 7, 2, 4, 8) :|: TRUE f_1387(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) -> f_1392(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) :|: 0 = 0 f_1392(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) -> f_1396(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) :|: TRUE f_1396(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36540, v36541, v36542, v36543, v36544, v36535, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) -> f_1231(v36528, v36529, v36530, v36531, v36532, v36533, v36534, v36545, 1, v36537, v36538, 0, v36535, v36545, v36540, v36541, v36542, v36543, v36544, v36546, v36547, v36548, v36549, v36550, v36551, v36552, 3, 7, 2, 4, 8) :|: TRUE f_1231(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1238(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1238(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1244(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: v34661 != 0 f_1238(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1245(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: v34661 = 0 f_1244(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1252(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1252(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1260(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1260(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1261(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v34661, v25200, v25210, v25206, v25207, v25208, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1261(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v34958, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1268(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v34958, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: 0 = 0 f_1268(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v34958, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1276(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: 0 = 0 f_1276(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1283(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: 1 + v36937 = v34952 && 0 <= v36937 f_1283(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1290(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: 0 = 0 f_1290(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1297(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: TRUE f_1297(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v34959, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1306(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: TRUE f_1306(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1315(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: 0 = 0 f_1315(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1326(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: TRUE f_1326(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1336(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: TRUE f_1336(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v36937, v37165, v34960, v34961, v34962, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) -> f_1074(v34943, v34944, v34945, v34946, v34947, v34948, v34949, v34950, 1, v34952, v34953, 0, v34955, v34956, v34957, v34960, v34961, v34962, v36937, v37165, v34963, v34964, v34965, v34966, v34967, v34968, v34969, 3, 7, 2, 4, 8) :|: TRUE f_1074(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1086(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25200, v25201, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25209, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1245(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1253(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1253(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1262(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1262(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1441(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25206, v25207, v25208, v25200, v25210, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE f_1441(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45594, v45595, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1443(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45594, v45595, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: 0 = 0 f_1443(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45594, v45595, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1445(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45595, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: 0 = 0 f_1445(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45595, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1446(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: 1 + v45832 = v45590 && 0 <= v45832 f_1446(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1447(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: 0 = 0 f_1447(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1448(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: TRUE f_1448(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45596, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1449(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: TRUE f_1449(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1450(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: 0 = 0 f_1450(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1451(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: TRUE f_1451(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1452(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: TRUE f_1452(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45832, v45834, v45597, v45598, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) -> f_1453(v45580, v45581, v45582, v45583, v45584, v45585, v45586, v45587, 1, v45589, v45590, 0, v45592, v45593, v45597, v45598, v45832, v45834, v45599, v45600, v45601, v45602, v45603, v45604, v45605, 3, 7, 2, 4, 8) :|: TRUE f_1453(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1454(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1454(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1455(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1455(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1456(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1456(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45977, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1457(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1457(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1458(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 < v45987 f_1458(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1460(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1460(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1462(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1462(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1464(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1464(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1466(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1466(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1468(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1468(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1469(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1469(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1470(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1470(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45980, 0, v45982, v45983, v45984, v45985, v45986, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1471(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1471(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1472(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 < v45986 && 2 <= v45980 f_1472(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1474(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1474(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1476(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1476(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1478(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1478(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1480(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1480(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1482(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: v48509 != 0 f_1480(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1483(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: v48509 = 0 f_1482(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1484(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, v45982, v45983, 0, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1484(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, v45982, v45983, 0, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1486(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, v45982, v45983, 0, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1486(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, v45982, v45983, 0, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1427(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, v48509, v45982, v45983, 0, v45984, v45985, v45980, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1427(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45198, v45199, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1430(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45198, v45199, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: 0 = 0 f_1430(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45198, v45199, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1432(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45199, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: 0 = 0 f_1432(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45199, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1435(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: 1 + v45368 = v45193 && 0 <= v45368 f_1435(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1438(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: 0 = 0 f_1438(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1442(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: TRUE f_1442(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1444(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: TRUE f_1444(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) -> f_1354(v45186, v45187, v45188, v45189, v45190, v45191, v45192, v45193, 1, v45195, v45196, v45197, v45368, 0, v45201, v45202, v45203, v45204, v45205, v45206, v45207, v45208, v45209, v45210, v45211, 3, 7, 2, 4, 8) :|: TRUE f_1354(v40141, v40142, v40143, v40144, v40145, v40146, v40147, v40148, 1, v40150, v40151, v40152, v40153, 0, v40155, v40156, v40157, v40158, v40159, v40160, v40161, v40162, v40163, v40164, v40165, 3, 7, 2, 4, 8) -> f_1357(v40141, v40142, v40143, v40144, v40145, v40146, v40147, v40148, 1, v40150, v40151, v40152, v40153, 0, v40155, v40156, v40157, v40158, v40159, v40160, v40161, v40162, v40163, v40164, v40165, 3, 7, 2, 4, 8) :|: TRUE f_1357(v40141, v40142, v40143, v40144, v40145, v40146, v40147, v40148, 1, v40150, v40151, v40152, v40153, 0, v40155, v40156, v40157, v40158, v40159, v40160, v40161, v40162, v40163, v40164, v40165, 3, 7, 2, 4, 8) -> f_1358(v40141, v40142, v40143, v40144, v40145, v40146, v40147, v40148, 1, v40150, v40151, v40152, 0, v40155, v40156, v40157, v40158, v40153, v40159, v40160, v40161, v40162, v40163, v40164, v40165, 3, 7, 2, 4, 8) :|: TRUE f_1358(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40474, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40484, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1361(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40474, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40484, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1361(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40474, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40484, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1365(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1365(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1369(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 < v40484 && 2 <= v40474 && 2 <= v40483 f_1369(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1374(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1374(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1379(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1379(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1384(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1384(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1389(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1389(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1394(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1394(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1398(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1398(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1400(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1400(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1403(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1403(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1406(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1406(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1409(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1409(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1412(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1412(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v40478, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1415(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1415(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1418(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: v44789 != 0 f_1415(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1419(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: v44789 = 0 f_1418(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1422(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1422(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1426(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1426(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1427(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, v44789, v40474, v40484, 0, v40480, v40481, v40482, v40483, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1419(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1423(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: 0 = 0 f_1423(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1428(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1428(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40480, v40481, v40482, v40483, v40474, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) -> f_1429(v40467, v40468, v40469, v40470, v40471, v40472, v40473, v40484, 1, v40476, v40477, 0, v40474, v40484, v40480, v40481, v40482, v40483, v40485, v40486, v40487, v40488, v40489, v40490, v40491, 3, 7, 2, 4, 8) :|: TRUE f_1429(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1431(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: TRUE f_1431(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1433(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: v45367 != 0 f_1431(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1434(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: v45367 = 0 f_1433(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1436(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: 0 = 0 f_1436(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1439(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: TRUE f_1439(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1261(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45367, v45356, v45357, v45358, v45352, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: TRUE f_1434(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1437(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: 0 = 0 f_1437(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1440(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: TRUE f_1440(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45356, v45357, v45358, v45359, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) -> f_1441(v45342, v45343, v45344, v45345, v45346, v45347, v45348, v45349, 1, v45351, v45352, 0, v45354, v45355, v45358, v45352, v45359, v45356, v45357, v45360, v45361, v45362, v45363, v45364, v45365, v45366, 3, 7, 2, 4, 8) :|: TRUE f_1483(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1485(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: 0 = 0 f_1485(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1487(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1487(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) -> f_1429(v45970, v45971, v45972, v45973, v45974, v45975, v45976, v45987, 1, v45979, v45986, 0, v45982, v45983, v45984, v45985, v45980, v45987, v45988, v45989, v45990, v45991, v45992, v45993, v45994, 3, 7, 2, 4, 8) :|: TRUE f_1215(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1222(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: 0 = 0 f_1222(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) -> f_1231(v25191, v25192, v25193, v25194, v25195, v25196, v25197, v25198, 1, v25209, v25210, 0, v25203, v25204, v25205, v25206, v25207, v25208, v25200, v25211, v25212, v25213, v25214, v25215, v25216, v25217, 3, 7, 2, 4, 8) :|: TRUE Combined rules. Obtained 18 rulesP rules: f_1238(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, 1 + v36937:0, v25210:0, 0, v25203:0, v25204:0, v34661:0, v25206:0, v25207:0, v25208:0, v25200:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) -> f_1086(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, 1 + v36937:0, v25210:0, 0, v25203:0, v25204:0, v34661:0, v25206:0, v25207:0, v25208:0, v36937:0, v37165:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) :|: v36937:0 > -1 && v34661:0 < 0 f_1238(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, 1 + v36937:0, v25210:0, 0, v25203:0, v25204:0, v34661:0, v25206:0, v25207:0, v25208:0, v25200:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) -> f_1086(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, 1 + v36937:0, v25210:0, 0, v25203:0, v25204:0, v34661:0, v25206:0, v25207:0, v25208:0, v36937:0, v37165:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) :|: v36937:0 > -1 && v34661:0 > 0 f_1480(v45970:0, v45971:0, v45972:0, v45973:0, v45974:0, v45975:0, v45976:0, v45987:0, 1, v45979:0, v45986:0, 0, 0, v45982:0, v45983:0, v45984:0, v45985:0, v45980:0, v45988:0, v45989:0, v45990:0, v45991:0, v45992:0, v45993:0, v45994:0, 3, 7, 2, 4, 8) -> f_1431(v45970:0, v45971:0, v45972:0, v45973:0, v45974:0, v45975:0, v45976:0, v45987:0, 1, v45979:0, v45986:0, 0, v45982:0, v45983:0, v45367:0, v45984:0, v45985:0, v45980:0, v45987:0, v45988:0, v45989:0, v45990:0, v45991:0, v45992:0, v45993:0, v45994:0, 3, 7, 2, 4, 8) :|: TRUE f_1086(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, 1 + v34663:0, 1, v25200:0, v25201:0, 0, v25203:0, v25204:0, v25205:0, v25206:0, v25207:0, v25208:0, v25209:0, v25210:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) -> f_1381(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v34663:0, 1, v25209:0, v25210:0, v42206:0, v25205:0, v25206:0, v25207:0, v25208:0, v25200:0, 1 + v34663:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 0, 3, 7, 2, 4, 8) :|: v34663:0 > 0 && v25200:0 > 1 && v25209:0 > 0 && v25210:0 > 0 && v33742:0 < 0 && v25208:0 > 1 f_1086(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, 1 + v34663:0, 1, v25200:0, v25201:0, 0, v25203:0, v25204:0, v25205:0, v25206:0, v25207:0, v25208:0, v25209:0, v25210:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) -> f_1381(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v34663:0, 1, v25209:0, v25210:0, v42206:0, v25205:0, v25206:0, v25207:0, v25208:0, v25200:0, 1 + v34663:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 0, 3, 7, 2, 4, 8) :|: v34663:0 > 0 && v25200:0 > 1 && v25209:0 > 0 && v25210:0 > 0 && v33742:0 > 0 && v25208:0 > 1 f_1238(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, v25209:0, 1 + v45832:0, 0, v25203:0, v25204:0, 0, v25206:0, v25207:0, v25208:0, v25200:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) -> f_1480(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v45834:0, 1, v25209:0, v45832:0, v48509:0, 0, v25203:0, v25204:0, v25200:0, 1 + v45832:0, 1 + v45832:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) :|: v45832:0 > 0 && v45834:0 > 0 f_1431(v45342:0, v45343:0, v45344:0, v45345:0, v45346:0, v45347:0, v45348:0, v45349:0, 1, 1 + v36937:0, v45352:0, 0, v45354:0, v45355:0, v45367:0, v45356:0, v45357:0, v45358:0, v45359:0, v45360:0, v45361:0, v45362:0, v45363:0, v45364:0, v45365:0, v45366:0, 3, 7, 2, 4, 8) -> f_1086(v45342:0, v45343:0, v45344:0, v45345:0, v45346:0, v45347:0, v45348:0, v45349:0, 1, 1 + v36937:0, v45352:0, 0, v45354:0, v45355:0, v45367:0, v45358:0, v45352:0, v45359:0, v36937:0, v37165:0, v45360:0, v45361:0, v45362:0, v45363:0, v45364:0, v45365:0, v45366:0, 3, 7, 2, 4, 8) :|: v45367:0 < 0 && v36937:0 > -1 f_1431(v45342:0, v45343:0, v45344:0, v45345:0, v45346:0, v45347:0, v45348:0, v45349:0, 1, 1 + v36937:0, v45352:0, 0, v45354:0, v45355:0, v45367:0, v45356:0, v45357:0, v45358:0, v45359:0, v45360:0, v45361:0, v45362:0, v45363:0, v45364:0, v45365:0, v45366:0, 3, 7, 2, 4, 8) -> f_1086(v45342:0, v45343:0, v45344:0, v45345:0, v45346:0, v45347:0, v45348:0, v45349:0, 1, 1 + v36937:0, v45352:0, 0, v45354:0, v45355:0, v45367:0, v45358:0, v45352:0, v45359:0, v36937:0, v37165:0, v45360:0, v45361:0, v45362:0, v45363:0, v45364:0, v45365:0, v45366:0, 3, 7, 2, 4, 8) :|: v45367:0 > 0 && v36937:0 > -1 f_1431(v45342:0, v45343:0, v45344:0, v45345:0, v45346:0, v45347:0, v45348:0, v45349:0, 1, v45351:0, 1 + v45832:0, 0, v45354:0, v45355:0, 0, v45356:0, v45357:0, v45358:0, v45359:0, v45360:0, v45361:0, v45362:0, v45363:0, v45364:0, v45365:0, v45366:0, 3, 7, 2, 4, 8) -> f_1480(v45342:0, v45343:0, v45344:0, v45345:0, v45346:0, v45347:0, v45348:0, v45834:0, 1, v45351:0, v45832:0, v48509:0, 0, v45354:0, v45355:0, v45356:0, v45357:0, 1 + v45832:0, v45360:0, v45361:0, v45362:0, v45363:0, v45364:0, v45365:0, v45366:0, 3, 7, 2, 4, 8) :|: v45832:0 > 0 && v45834:0 > 0 f_1415(v40467:0, v40468:0, v40469:0, v40470:0, v40471:0, v40472:0, v40473:0, v40484:0, 1, v40476:0, v40477:0, 0, 0, v40480:0, v40481:0, v40482:0, v40483:0, v40474:0, v40485:0, v40486:0, v40487:0, v40488:0, v40489:0, v40490:0, v40491:0, 3, 7, 2, 4, 8) -> f_1431(v40467:0, v40468:0, v40469:0, v40470:0, v40471:0, v40472:0, v40473:0, v40484:0, 1, v40476:0, v40477:0, 0, v40474:0, v40484:0, v45367:0, v40480:0, v40481:0, v40482:0, v40483:0, v40485:0, v40486:0, v40487:0, v40488:0, v40489:0, v40490:0, v40491:0, 3, 7, 2, 4, 8) :|: TRUE f_1381(v36528:0, v36529:0, v36530:0, v36531:0, v36532:0, v36533:0, v36534:0, v36545:0, 1, v36537:0, v36538:0, 0, v36540:0, v36541:0, v36542:0, v36543:0, v36544:0, v36535:0, v36546:0, v36547:0, v36548:0, v36549:0, v36550:0, v36551:0, v36552:0, 0, 3, 7, 2, 4, 8) -> f_1238(v36528:0, v36529:0, v36530:0, v36531:0, v36532:0, v36533:0, v36534:0, v36545:0, 1, v36537:0, v36538:0, 0, v36535:0, v36545:0, v34661:0, v36541:0, v36542:0, v36543:0, v36544:0, v36546:0, v36547:0, v36548:0, v36549:0, v36550:0, v36551:0, v36552:0, 3, 7, 2, 4, 8) :|: TRUE f_1086(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, v25200:0, v25201:0, 0, v25203:0, v25204:0, v25205:0, v25206:0, v25207:0, v25208:0, v25209:0, v25210:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) -> f_1238(v25191:0, v25192:0, v25193:0, v25194:0, v25195:0, v25196:0, v25197:0, v25198:0, 1, v25209:0, v25210:0, 0, v25203:0, v25204:0, v34661:0, v25206:0, v25207:0, v25208:0, v25200:0, v25211:0, v25212:0, v25213:0, v25214:0, v25215:0, v25216:0, v25217:0, 3, 7, 2, 4, 8) :|: v25200:0 > 1 && v25210:0 > 0 && v25209:0 > 0 f_1381(v36528:0, v36529:0, v36530:0, v36531:0, v36532:0, v36533:0, v36534:0, 1 + v34663:0, 1, v36537:0, v36538:0, v42206:0, v36540:0, v36541:0, v36542:0, v36543:0, v36544:0, v36535:0, v36546:0, v36547:0, v36548:0, v36549:0, v36550:0, v36551:0, v36552:0, 0, 3, 7, 2, 4, 8) -> f_1381(v36528:0, v36529:0, v36530:0, v36531:0, v36532:0, v36533:0, v36534:0, v34663:0, 1, v36537:0, v36538:0, v42206:1, v36540:0, v36541:0, v36542:0, v36543:0, v36544:0, 1 + v34663:0, v36546:0, v36547:0, v36548:0, v36549:0, v36550:0, v36551:0, v36552:0, 0, 3, 7, 2, 4, 8) :|: v34663:0 > 0 && v42206:0 < 0 && v36543:0 > 1 f_1381(v36528:0, v36529:0, v36530:0, v36531:0, v36532:0, v36533:0, v36534:0, 1 + v34663:0, 1, v36537:0, v36538:0, v42206:0, v36540:0, v36541:0, v36542:0, v36543:0, v36544:0, v36535:0, v36546:0, v36547:0, v36548:0, v36549:0, v36550:0, v36551:0, v36552:0, 0, 3, 7, 2, 4, 8) -> f_1381(v36528:0, v36529:0, v36530:0, v36531:0, v36532:0, v36533:0, v36534:0, v34663:0, 1, v36537:0, v36538:0, v42206:1, v36540:0, v36541:0, v36542:0, v36543:0, v36544:0, 1 + v34663:0, v36546:0, v36547:0, v36548:0, v36549:0, v36550:0, v36551:0, v36552:0, 0, 3, 7, 2, 4, 8) :|: v34663:0 > 0 && v42206:0 > 0 && v36543:0 > 1 f_1480(v45970:0, v45971:0, v45972:0, v45973:0, v45974:0, v45975:0, v45976:0, 1 + v45368:0, 1, v45979:0, v45986:0, v48509:0, 0, v45982:0, v45983:0, v45984:0, v45985:0, v45980:0, v45988:0, v45989:0, v45990:0, v45991:0, v45992:0, v45993:0, v45994:0, 3, 7, 2, 4, 8) -> f_1415(v45970:0, v45971:0, v45972:0, v45973:0, v45974:0, v45975:0, v45976:0, v45368:0, 1, v45979:0, v45986:0, v44789:0, 0, v45984:0, v45985:0, v45980:0, 1 + v45368:0, 1 + v45368:0, v45988:0, v45989:0, v45990:0, v45991:0, v45992:0, v45993:0, v45994:0, 3, 7, 2, 4, 8) :|: v45368:0 > 0 && v48509:0 < 0 f_1480(v45970:0, v45971:0, v45972:0, v45973:0, v45974:0, v45975:0, v45976:0, 1 + v45368:0, 1, v45979:0, v45986:0, v48509:0, 0, v45982:0, v45983:0, v45984:0, v45985:0, v45980:0, v45988:0, v45989:0, v45990:0, v45991:0, v45992:0, v45993:0, v45994:0, 3, 7, 2, 4, 8) -> f_1415(v45970:0, v45971:0, v45972:0, v45973:0, v45974:0, v45975:0, v45976:0, v45368:0, 1, v45979:0, v45986:0, v44789:0, 0, v45984:0, v45985:0, v45980:0, 1 + v45368:0, 1 + v45368:0, v45988:0, v45989:0, v45990:0, v45991:0, v45992:0, v45993:0, v45994:0, 3, 7, 2, 4, 8) :|: v45368:0 > 0 && v48509:0 > 0 f_1415(v40467:0, v40468:0, v40469:0, v40470:0, v40471:0, v40472:0, v40473:0, 1 + v45368:0, 1, v40476:0, v40477:0, v44789:0, 0, v40480:0, v40481:0, v40482:0, v40483:0, v40474:0, v40485:0, v40486:0, v40487:0, v40488:0, v40489:0, v40490:0, v40491:0, 3, 7, 2, 4, 8) -> f_1415(v40467:0, v40468:0, v40469:0, v40470:0, v40471:0, v40472:0, v40473:0, v45368:0, 1, v40476:0, v40477:0, v44789:1, 0, v40480:0, v40481:0, v40482:0, v40483:0, 1 + v45368:0, v40485:0, v40486:0, v40487:0, v40488:0, v40489:0, v40490:0, v40491:0, 3, 7, 2, 4, 8) :|: v45368:0 > 0 && v44789:0 < 0 && v40483:0 > 1 f_1415(v40467:0, v40468:0, v40469:0, v40470:0, v40471:0, v40472:0, v40473:0, 1 + v45368:0, 1, v40476:0, v40477:0, v44789:0, 0, v40480:0, v40481:0, v40482:0, v40483:0, v40474:0, v40485:0, v40486:0, v40487:0, v40488:0, v40489:0, v40490:0, v40491:0, 3, 7, 2, 4, 8) -> f_1415(v40467:0, v40468:0, v40469:0, v40470:0, v40471:0, v40472:0, v40473:0, v45368:0, 1, v40476:0, v40477:0, v44789:1, 0, v40480:0, v40481:0, v40482:0, v40483:0, 1 + v45368:0, v40485:0, v40486:0, v40487:0, v40488:0, v40489:0, v40490:0, v40491:0, 3, 7, 2, 4, 8) :|: v45368:0 > 0 && v44789:0 > 0 && v40483:0 > 1 Filtered unneeded arguments: f_1238(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) -> f_1238(x8, x10, x11, x15, x18) f_1480(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30) -> f_1480(x8, x10, x11, x12) f_1086(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32) -> f_1086(x8, x10, x18, x19, x20) f_1431(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) -> f_1431(x8, x10, x11, x15, x19) f_1415(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30) -> f_1415(x8, x10, x11, x12, x17) f_1381(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) -> f_1381(x8, x10, x11, x12, x16) Removed division, modulo operations, cleaned up constraints. Obtained 17 rules.P rules: f_1238(v25198:0, sum~cons_1~v36937:0, v25210:0, v34661:0, v25208:0) -> f_1086(v25198:0, 1 + v36937:0, v25208:0, v36937:0, v37165:0) :|: v36937:0 > -1 && v34661:0 < 0 && sum~cons_1~v36937:0 = 1 + v36937:0 f_1238(v25198:0, sum~cons_1~v36937:0, v25210:0, v34661:0, v25208:0) -> f_1086(v25198:0, 1 + v36937:0, v25208:0, v36937:0, v37165:0) :|: v36937:0 > -1 && v34661:0 > 0 && sum~cons_1~v36937:0 = 1 + v36937:0 f_1480(v45987:0, v45979:0, v45986:0, cons_0) -> f_1431(v45987:0, v45979:0, v45986:0, v45367:0, v45987:0) :|: TRUE && cons_0 = 0 f_1086(sum~cons_1~v34663:0, v25200:0, v25208:0, v25209:0, v25210:0) -> f_1381(v34663:0, v25209:0, v25210:0, v42206:0, v25208:0) :|: v25200:0 > 1 && v34663:0 > 0 && v25209:0 > 0 && v25208:0 > 1 && v25210:0 > 0 && sum~cons_1~v34663:0 = 1 + v34663:0 f_1238(v25198:0, v25209:0, sum~cons_1~v45832:0, cons_0, v25208:0) -> f_1480(v45834:0, v25209:0, v45832:0, v48509:0) :|: v45832:0 > 0 && v45834:0 > 0 && sum~cons_1~v45832:0 = 1 + v45832:0 && cons_0 = 0 f_1431(v45349:0, sum~cons_1~v36937:0, v45352:0, v45367:0, v45359:0) -> f_1086(v45349:0, 1 + v36937:0, v45359:0, v36937:0, v37165:0) :|: v45367:0 < 0 && v36937:0 > -1 && sum~cons_1~v36937:0 = 1 + v36937:0 f_1431(v45349:0, sum~cons_1~v36937:0, v45352:0, v45367:0, v45359:0) -> f_1086(v45349:0, 1 + v36937:0, v45359:0, v36937:0, v37165:0) :|: v45367:0 > 0 && v36937:0 > -1 && sum~cons_1~v36937:0 = 1 + v36937:0 f_1431(v45349:0, v45351:0, sum~cons_1~v45832:0, cons_0, v45359:0) -> f_1480(v45834:0, v45351:0, v45832:0, v48509:0) :|: v45832:0 > 0 && v45834:0 > 0 && sum~cons_1~v45832:0 = 1 + v45832:0 && cons_0 = 0 f_1415(v40484:0, v40476:0, v40477:0, cons_0, v40483:0) -> f_1431(v40484:0, v40476:0, v40477:0, v45367:0, v40483:0) :|: TRUE && cons_0 = 0 f_1381(v36545:0, v36537:0, v36538:0, cons_0, v36543:0) -> f_1238(v36545:0, v36537:0, v36538:0, v34661:0, v36543:0) :|: TRUE && cons_0 = 0 f_1086(v25198:0, v25200:0, v25208:0, v25209:0, v25210:0) -> f_1238(v25198:0, v25209:0, v25210:0, v34661:0, v25208:0) :|: v25210:0 > 0 && v25209:0 > 0 && v25200:0 > 1 f_1381(sum~cons_1~v34663:0, v36537:0, v36538:0, v42206:0, v36543:0) -> f_1381(v34663:0, v36537:0, v36538:0, v42206:1, v36543:0) :|: v42206:0 < 0 && v36543:0 > 1 && v34663:0 > 0 && sum~cons_1~v34663:0 = 1 + v34663:0 f_1381(sum~cons_1~v34663:0, v36537:0, v36538:0, v42206:0, v36543:0) -> f_1381(v34663:0, v36537:0, v36538:0, v42206:1, v36543:0) :|: v42206:0 > 0 && v36543:0 > 1 && v34663:0 > 0 && sum~cons_1~v34663:0 = 1 + v34663:0 f_1480(sum~cons_1~v45368:0, v45979:0, v45986:0, v48509:0) -> f_1415(v45368:0, v45979:0, v45986:0, v44789:0, 1 + v45368:0) :|: v45368:0 > 0 && v48509:0 < 0 && sum~cons_1~v45368:0 = 1 + v45368:0 f_1480(sum~cons_1~v45368:0, v45979:0, v45986:0, v48509:0) -> f_1415(v45368:0, v45979:0, v45986:0, v44789:0, 1 + v45368:0) :|: v45368:0 > 0 && v48509:0 > 0 && sum~cons_1~v45368:0 = 1 + v45368:0 f_1415(sum~cons_1~v45368:0, v40476:0, v40477:0, v44789:0, v40483:0) -> f_1415(v45368:0, v40476:0, v40477:0, v44789:1, v40483:0) :|: v44789:0 < 0 && v40483:0 > 1 && v45368:0 > 0 && sum~cons_1~v45368:0 = 1 + v45368:0 f_1415(sum~cons_1~v45368:0, v40476:0, v40477:0, v44789:0, v40483:0) -> f_1415(v45368:0, v40476:0, v40477:0, v44789:1, v40483:0) :|: v44789:0 > 0 && v40483:0 > 1 && v45368:0 > 0 && sum~cons_1~v45368:0 = 1 + v45368:0 ---------------------------------------- (9) Obligation: Rules: f_1238(v25198:0, sum~cons_1~v36937:0, v25210:0, v34661:0, v25208:0) -> f_1086(v25198:0, 1 + v36937:0, v25208:0, v36937:0, v37165:0) :|: v36937:0 > -1 && v34661:0 < 0 && sum~cons_1~v36937:0 = 1 + v36937:0 f_1238(x, x1, x2, x3, x4) -> f_1086(x, 1 + x5, x4, x5, x6) :|: x5 > -1 && x3 > 0 && x1 = 1 + x5 f_1480(v45987:0, v45979:0, v45986:0, cons_0) -> f_1431(v45987:0, v45979:0, v45986:0, v45367:0, v45987:0) :|: TRUE && cons_0 = 0 f_1086(x7, x8, x9, x10, x11) -> f_1381(x12, x10, x11, x13, x9) :|: x8 > 1 && x12 > 0 && x10 > 0 && x9 > 1 && x11 > 0 && x7 = 1 + x12 f_1238(x14, x15, x16, x17, x18) -> f_1480(x19, x15, x20, x21) :|: x20 > 0 && x19 > 0 && x16 = 1 + x20 && x17 = 0 f_1431(x22, x23, x24, x25, x26) -> f_1086(x22, 1 + x27, x26, x27, x28) :|: x25 < 0 && x27 > -1 && x23 = 1 + x27 f_1431(x29, x30, x31, x32, x33) -> f_1086(x29, 1 + x34, x33, x34, x35) :|: x32 > 0 && x34 > -1 && x30 = 1 + x34 f_1431(x36, x37, x38, x39, x40) -> f_1480(x41, x37, x42, x43) :|: x42 > 0 && x41 > 0 && x38 = 1 + x42 && x39 = 0 f_1415(x44, x45, x46, x47, x48) -> f_1431(x44, x45, x46, x49, x48) :|: TRUE && x47 = 0 f_1381(x50, x51, x52, x53, x54) -> f_1238(x50, x51, x52, x55, x54) :|: TRUE && x53 = 0 f_1086(x56, x57, x58, x59, x60) -> f_1238(x56, x59, x60, x61, x58) :|: x60 > 0 && x59 > 0 && x57 > 1 f_1381(sum~cons_1~v34663:0, v36537:0, v36538:0, v42206:0, v36543:0) -> f_1381(v34663:0, v36537:0, v36538:0, v42206:1, v36543:0) :|: v42206:0 < 0 && v36543:0 > 1 && v34663:0 > 0 && sum~cons_1~v34663:0 = 1 + v34663:0 f_1381(x62, x63, x64, x65, x66) -> f_1381(x67, x63, x64, x68, x66) :|: x65 > 0 && x66 > 1 && x67 > 0 && x62 = 1 + x67 f_1480(x69, x70, x71, x72) -> f_1415(x73, x70, x71, x74, 1 + x73) :|: x73 > 0 && x72 < 0 && x69 = 1 + x73 f_1480(x75, x76, x77, x78) -> f_1415(x79, x76, x77, x80, 1 + x79) :|: x79 > 0 && x78 > 0 && x75 = 1 + x79 f_1415(sum~cons_1~v45368:0, v40476:0, v40477:0, v44789:0, v40483:0) -> f_1415(v45368:0, v40476:0, v40477:0, v44789:1, v40483:0) :|: v44789:0 < 0 && v40483:0 > 1 && v45368:0 > 0 && sum~cons_1~v45368:0 = 1 + v45368:0 f_1415(x81, x82, x83, x84, x85) -> f_1415(x86, x82, x83, x87, x85) :|: x84 > 0 && x85 > 1 && x86 > 0 && x81 = 1 + x86 ---------------------------------------- (10) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_1238_5,1) (f_1086_5,2) (f_1480_5,3) (f_1431_5,4) (f_1381_5,5) (f_1415_5,6) ---------------------------------------- (11) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 0; TO: 3; FROM: 0; TO: 4; FROM: 0; TO: 5; FROM: 0; TO: 6; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX1 - 1; oldX6 := nondet(); assume(oldX5 > -1 && oldX3 < 0 && oldX1 = 1 + oldX5); x0 := oldX0; x1 := 1 + oldX5; x2 := oldX4; x3 := oldX1 - 1; x4 := oldX6; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX1 - 1; oldX6 := nondet(); assume(oldX5 > -1 && oldX3 > 0 && oldX1 = 1 + oldX5); x0 := oldX0; x1 := 1 + oldX5; x2 := oldX4; x3 := oldX1 - 1; x4 := oldX6; TO: 2; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := nondet(); assume(0 = 0 && oldX3 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX5; x4 := oldX0; TO: 4; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX1 > 1 && oldX5 > 0 && oldX3 > 0 && oldX2 > 1 && oldX4 > 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX3; x2 := oldX4; x3 := oldX6; x4 := oldX2; TO: 5; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX6 := oldX2 - 1; oldX5 := nondet(); oldX7 := nondet(); oldX8 := nondet(); assume(oldX6 > 0 && oldX5 > 0 && oldX2 = 1 + oldX6 && oldX3 = 0); x0 := oldX5; x1 := oldX1; x2 := oldX2 - 1; x3 := oldX7; x4 := oldX8; TO: 3; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX1 - 1; oldX6 := nondet(); assume(oldX3 < 0 && oldX5 > -1 && oldX1 = 1 + oldX5); x0 := oldX0; x1 := 1 + oldX5; x2 := oldX4; x3 := oldX1 - 1; x4 := oldX6; TO: 2; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX1 - 1; oldX6 := nondet(); assume(oldX3 > 0 && oldX5 > -1 && oldX1 = 1 + oldX5); x0 := oldX0; x1 := 1 + oldX5; x2 := oldX4; x3 := oldX1 - 1; x4 := oldX6; TO: 2; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX6 := oldX2 - 1; oldX5 := nondet(); oldX7 := nondet(); oldX8 := nondet(); assume(oldX6 > 0 && oldX5 > 0 && oldX2 = 1 + oldX6 && oldX3 = 0); x0 := oldX5; x1 := oldX1; x2 := oldX2 - 1; x3 := oldX7; x4 := oldX8; TO: 3; FROM: 6; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := nondet(); assume(0 = 0 && oldX3 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX5; x4 := oldX4; TO: 4; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := nondet(); assume(0 = 0 && oldX3 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX5; x4 := oldX4; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := nondet(); assume(oldX4 > 0 && oldX3 > 0 && oldX1 > 1); x0 := oldX0; x1 := oldX3; x2 := oldX4; x3 := oldX5; x4 := oldX2; TO: 1; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX3 < 0 && oldX4 > 1 && oldX5 > 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX2; x3 := oldX6; x4 := oldX4; TO: 5; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX3 > 0 && oldX4 > 1 && oldX5 > 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX2; x3 := oldX6; x4 := oldX4; TO: 5; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX5 > 0 && oldX3 < 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX2; x3 := oldX6; x4 := 1 + oldX5; TO: 6; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX5 > 0 && oldX3 > 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX2; x3 := oldX6; x4 := 1 + oldX5; TO: 6; FROM: 6; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX3 < 0 && oldX4 > 1 && oldX5 > 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX2; x3 := oldX6; x4 := oldX4; TO: 6; FROM: 6; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := oldX0 - 1; oldX6 := nondet(); assume(oldX3 > 0 && oldX4 > 1 && oldX5 > 0 && oldX0 = 1 + oldX5); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX2; x3 := oldX6; x4 := oldX4; TO: 6; ---------------------------------------- (12) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 12, 13, 14, 15, 16, 17, 18, 21, 22, 30, 33, 34, 35, 45, 48, 49, 50, 60, 63, 64, 65 using the following rank functions: - Rank function 1: RF for loc. 10: -1+12*x1 RF for loc. 11: 6+12*x3 RF for loc. 12: -2+12*x1 RF for loc. 13: -2+12*x1 RF for loc. 14: 12*x1 RF for loc. 15: -2+12*x1 RF for loc. 16: 5+12*x3 RF for loc. 20: -2+12*x1 RF for loc. 24: -2+12*x1 RF for loc. 28: 12*x1 Bound for (chained) transitions 12: 11 Bound for (chained) transitions 13: 11 Bound for (chained) transitions 21: 17 Bound for (chained) transitions 22: 17 Bound for (chained) transitions 33: 10 Bound for (chained) transitions 34: 10 - Rank function 2: RF for loc. 10: -1+11*x2 RF for loc. 11: 1 RF for loc. 12: 9+11*x2 RF for loc. 13: 11*x2 RF for loc. 14: 11*x2 RF for loc. 15: 1+11*x2 RF for loc. 16: 0 RF for loc. 20: -1+11*x2 RF for loc. 24: 1+11*x2 RF for loc. 28: 11*x2 Bound for (chained) transitions 14: 21 Bound for (chained) transitions 18: 1 Bound for (chained) transitions 35: 21 - Rank function 3: RF for loc. 10: -1+3*x0 RF for loc. 12: -2+4*x0 RF for loc. 13: -3+3*oldX0+x0 RF for loc. 14: 3*x0 RF for loc. 15: 1+4*x0 RF for loc. 20: -4+3*oldX0+x0 RF for loc. 24: 4*x0 RF for loc. 28: 3*x0 Bound for (chained) transitions 16: 6 Bound for (chained) transitions 17: 6 Bound for (chained) transitions 49: 8 Bound for (chained) transitions 64: 6 Bound for (chained) transitions 65: 6 - Rank function 4: RF for loc. 10: 0 RF for loc. 12: oldX4+x0 RF for loc. 13: -1+2*oldX0+oldX4-x4 RF for loc. 14: 2 RF for loc. 15: 1+2*x0 RF for loc. 20: -2+2*oldX0+oldX4-x4 RF for loc. 24: 2*x0 RF for loc. 28: 1 Bound for (chained) transitions 50: 4 Bound for (chained) transitions 60: 2 Bound for (chained) transitions 63: 1 - Rank function 5: RF for loc. 12: 0 RF for loc. 13: -2 RF for loc. 15: 0 RF for loc. 20: -3 RF for loc. 24: -1 Bound for (chained) transitions 15: 0 Bound for (chained) transitions 30: -2 Bound for (chained) transitions 45: 0 - Rank function 6: RF for loc. 13: -1 RF for loc. 24: 0 Bound for (chained) transitions 48: 0 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: SCC ---------------------------------------- (15) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 81 rulesP rules: f_1080(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v25556, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1088(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v25556, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: 0 = 0 f_1088(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v25556, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1094(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: 0 = 0 f_1094(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1100(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: 1 + v26790 = v25552 && 0 <= v26790 f_1100(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1106(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: 0 = 0 f_1106(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1113(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: TRUE f_1113(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v25557, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1121(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: TRUE f_1121(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1129(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: 0 = 0 f_1129(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1137(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: TRUE f_1137(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_1146(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: TRUE f_1146(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v26790, v26935, v25558, v25559, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) -> f_844(v25543, v25544, v25545, v25546, v25547, v25548, v25549, v25550, 1, v25552, v25553, 0, v25555, v25558, v25559, v26790, v26935, v25560, v25561, v25562, v25563, v25564, v25565, v25566, 3, 7, 2, 4, 8) :|: TRUE f_844(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_853(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_853(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_861(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_861(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_869(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_869(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_875(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_875(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_882(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_882(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_890(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_890(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_898(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_898(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14100, v14101, 0, v14103, v14104, v14105, v14106, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_906(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_906(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_914(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 < v14106 && 2 <= v14100 f_914(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_924(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_924(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_933(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_933(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_944(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_944(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14101, 0, v14103, v14104, v14105, v14100, v14107, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_951(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_951(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_960(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 < v14107 f_960(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_970(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_970(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_981(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_981(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_990(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_990(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1000(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, v22847, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_1000(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, v22847, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1010(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: v22847 = 0 f_1010(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1019(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_1019(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1028(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_1028(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14103, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1039(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_1039(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1050(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: v23601 != 0 f_1039(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1051(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: v23601 = 0 f_1050(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1063(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_1063(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1076(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_1076(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_754(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v23601, v14100, v14107, v14104, v14105, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_754(v9904, v9905, v9906, v9907, v9908, v9909, v9910, v9911, 1, v9913, v9914, 0, v9916, v9917, v9918, v9919, v9920, v9921, v9922, v9923, v9924, v9925, v9926, v9927, 3, 7, 2, 4, 8) -> f_1080(v9904, v9905, v9906, v9907, v9908, v9909, v9910, v9911, 1, v9913, v9914, 0, v9916, v9917, v9918, v9919, v9920, v9921, v9922, v9923, v9924, v9925, v9926, v9927, 3, 7, 2, 4, 8) :|: TRUE f_1051(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1064(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: 0 = 0 f_1064(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_1077(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_1077(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14104, v14105, v14100, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) -> f_756(v14091, v14092, v14093, v14094, v14095, v14096, v14097, v14098, 1, v14106, v14107, 0, v14100, v14107, v14104, v14105, v14108, v14109, v14110, v14111, v14112, v14113, v14114, 3, 7, 2, 4, 8) :|: TRUE f_756(v9991, v9992, v9993, v9994, v9995, v9996, v9997, v9998, 1, v10000, v10001, 0, v10003, v10004, v10005, v10006, v10007, v10008, v10009, v10010, v10011, v10012, v10013, 3, 7, 2, 4, 8) -> f_1082(v9991, v9992, v9993, v9994, v9995, v9996, v9997, v9998, 1, v10000, v10001, 0, v10003, v10004, v10005, v10006, v10007, v10008, v10009, v10010, v10011, v10012, v10013, 3, 7, 2, 4, 8) :|: TRUE f_1082(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v25656, v25657, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1089(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v25656, v25657, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1089(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v25656, v25657, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1095(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v25657, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1095(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v25657, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1101(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 1 + v26791 = v25652 && 0 <= v26791 f_1101(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1107(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1107(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1114(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1114(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1122(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1122(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1130(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1130(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1138(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1138(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1147(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1147(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1155(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1155(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1162(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1162(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1169(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1169(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v25649, 1, v25651, v25652, 0, v25654, v25655, v26791, v26936, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1174(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1174(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1180(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 < v26936 f_1180(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1187(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1187(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1196(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1196(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1203(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1203(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1210(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1210(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1218(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1218(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1225(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1225(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1234(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1234(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v25652, 0, v25654, v25655, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1239(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1239(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1246(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 < v26791 && 2 <= v25652 f_1246(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1254(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1254(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1263(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1263(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1270(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1270(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1278(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, v36580, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1278(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, v36580, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1286(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: v36580 = 0 f_1286(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1293(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1293(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1300(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1300(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1309(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1309(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1318(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: v37167 != 0 f_1309(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1319(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: v37167 = 0 f_1318(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1329(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1329(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1340(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1340(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1080(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v37167, v25654, v25655, v25652, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1319(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1330(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: 0 = 0 f_1330(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1341(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE f_1341(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) -> f_1082(v25642, v25643, v25644, v25645, v25646, v25647, v25648, v26936, 1, v25651, v26791, 0, v25654, v25655, v25652, v26791, v25658, v25659, v25660, v25661, v25662, v25663, v25664, 3, 7, 2, 4, 8) :|: TRUE Combined rules. Obtained 6 rulesP rules: f_1309(v25642:0, v25643:0, v25644:0, v25645:0, v25646:0, v25647:0, v25648:0, v26936:0, 1, v25651:0, v26791:0, 0, v37167:0, v25654:0, v25655:0, v25652:0, v25658:0, v25659:0, v25660:0, v25661:0, v25662:0, v25663:0, v25664:0, 3, 7, 2, 4, 8) -> f_1080(v25642:0, v25643:0, v25644:0, v25645:0, v25646:0, v25647:0, v25648:0, v26936:0, 1, v25651:0, v26791:0, 0, v37167:0, v25654:0, v25655:0, v25652:0, v26791:0, v25658:0, v25659:0, v25660:0, v25661:0, v25662:0, v25663:0, v25664:0, 3, 7, 2, 4, 8) :|: v37167:0 < 0 f_1309(v25642:0, v25643:0, v25644:0, v25645:0, v25646:0, v25647:0, v25648:0, v26936:0, 1, v25651:0, v26791:0, 0, v37167:0, v25654:0, v25655:0, v25652:0, v25658:0, v25659:0, v25660:0, v25661:0, v25662:0, v25663:0, v25664:0, 3, 7, 2, 4, 8) -> f_1080(v25642:0, v25643:0, v25644:0, v25645:0, v25646:0, v25647:0, v25648:0, v26936:0, 1, v25651:0, v26791:0, 0, v37167:0, v25654:0, v25655:0, v25652:0, v26791:0, v25658:0, v25659:0, v25660:0, v25661:0, v25662:0, v25663:0, v25664:0, 3, 7, 2, 4, 8) :|: v37167:0 > 0 f_1309(v25642:0, v25643:0, v25644:0, v25645:0, v25646:0, v25647:0, v25648:0, v26936:0, 1, v25651:0, 1 + v26791:1, 0, 0, v25654:0, v25655:0, v25652:0, v25658:0, v25659:0, v25660:0, v25661:0, v25662:0, v25663:0, v25664:0, 3, 7, 2, 4, 8) -> f_1309(v25642:0, v25643:0, v25644:0, v25645:0, v25646:0, v25647:0, v25648:0, v26936:1, 1, v25651:0, v26791:1, 0, v37167:1, v25654:0, v25655:0, 1 + v26791:1, v25658:0, v25659:0, v25660:0, v25661:0, v25662:0, v25663:0, v25664:0, 3, 7, 2, 4, 8) :|: v26791:1 > 0 && v26936:1 > 0 f_1080(v25543:0, v25544:0, v25545:0, v25546:0, v25547:0, v25548:0, v25549:0, v25550:0, 1, 1 + v26790:0, v25553:0, 0, v25555:0, v25556:0, v25557:0, v25558:0, v25559:0, v25560:0, v25561:0, v25562:0, v25563:0, v25564:0, v25565:0, v25566:0, 3, 7, 2, 4, 8) -> f_1309(v25543:0, v25544:0, v25545:0, v25546:0, v25547:0, v25548:0, v25549:0, v26936:0, 1, v26790:0, v26791:0, 0, v37167:0, 1 + v26790:0, 1 + v26791:0, 1 + v26791:0, v25560:0, v25561:0, v25562:0, v25563:0, v25564:0, v25565:0, v25566:0, 3, 7, 2, 4, 8) :|: v26790:0 > 0 && v26791:0 > 0 && v26936:0 > 0 f_1080(v25543:0, v25544:0, v25545:0, v25546:0, v25547:0, v25548:0, v25549:0, v25550:0, 1, 1 + v26790:0, v25553:0, 0, v25555:0, v25556:0, v25557:0, v25558:0, v25559:0, v25560:0, v25561:0, v25562:0, v25563:0, v25564:0, v25565:0, v25566:0, 3, 7, 2, 4, 8) -> f_1080(v25543:0, v25544:0, v25545:0, v25546:0, v25547:0, v25548:0, v25549:0, v25550:0, 1, v26790:0, v26935:0, 0, v23601:0, 1 + v26790:0, v26935:0, v25558:0, v25559:0, v25560:0, v25561:0, v25562:0, v25563:0, v25564:0, v25565:0, v25566:0, 3, 7, 2, 4, 8) :|: v26790:0 > 0 && v23601:0 < 0 && v26935:0 > 0 f_1080(v25543:0, v25544:0, v25545:0, v25546:0, v25547:0, v25548:0, v25549:0, v25550:0, 1, 1 + v26790:0, v25553:0, 0, v25555:0, v25556:0, v25557:0, v25558:0, v25559:0, v25560:0, v25561:0, v25562:0, v25563:0, v25564:0, v25565:0, v25566:0, 3, 7, 2, 4, 8) -> f_1080(v25543:0, v25544:0, v25545:0, v25546:0, v25547:0, v25548:0, v25549:0, v25550:0, 1, v26790:0, v26935:0, 0, v23601:0, 1 + v26790:0, v26935:0, v25558:0, v25559:0, v25560:0, v25561:0, v25562:0, v25563:0, v25564:0, v25565:0, v25566:0, 3, 7, 2, 4, 8) :|: v26790:0 > 0 && v23601:0 > 0 && v26935:0 > 0 Filtered unneeded arguments: f_1309(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) -> f_1309(x10, x11, x13) f_1080(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29) -> f_1080(x10) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_1309(v25651:0, v26791:0, v37167:0) -> f_1080(v25651:0) :|: v37167:0 < 0 f_1309(v25651:0, v26791:0, v37167:0) -> f_1080(v25651:0) :|: v37167:0 > 0 f_1309(v25651:0, sum~cons_1~v26791:1, cons_0) -> f_1309(v25651:0, v26791:1, v37167:1) :|: v26791:1 > 0 && sum~cons_1~v26791:1 = 1 + v26791:1 && cons_0 = 0 f_1080(sum~cons_1~v26790:0) -> f_1309(v26790:0, v26791:0, v37167:0) :|: v26790:0 > 0 && v26791:0 > 0 && sum~cons_1~v26790:0 = 1 + v26790:0 f_1080(sum~cons_1~v26790:0) -> f_1080(v26790:0) :|: v26790:0 > 0 && sum~cons_1~v26790:0 = 1 + v26790:0 ---------------------------------------- (16) Obligation: Rules: f_1309(v25651:0, v26791:0, v37167:0) -> f_1080(v25651:0) :|: v37167:0 < 0 f_1309(x, x1, x2) -> f_1080(x) :|: x2 > 0 f_1309(x3, x4, x5) -> f_1309(x3, x6, x7) :|: x6 > 0 && x4 = 1 + x6 && x5 = 0 f_1080(x8) -> f_1309(x9, x10, x11) :|: x9 > 0 && x10 > 0 && x8 = 1 + x9 f_1080(sum~cons_1~v26790:0) -> f_1080(v26790:0) :|: v26790:0 > 0 && sum~cons_1~v26790:0 = 1 + v26790:0 ---------------------------------------- (17) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_1309_3,1) (f_1080_3,2) ---------------------------------------- (18) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := nondet(); oldX4 := nondet(); assume(oldX2 < 0); x0 := oldX0; x1 := oldX3; x2 := oldX4; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := nondet(); oldX4 := nondet(); assume(oldX2 > 0); x0 := oldX0; x1 := oldX3; x2 := oldX4; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := oldX1 - 1; oldX4 := nondet(); assume(oldX3 > 0 && oldX1 = 1 + oldX3 && oldX2 = 0); x0 := oldX0; x1 := oldX1 - 1; x2 := oldX4; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := oldX0 - 1; oldX4 := nondet(); oldX5 := nondet(); assume(oldX3 > 0 && oldX4 > 0 && oldX0 = 1 + oldX3); x0 := oldX0 - 1; x1 := oldX4; x2 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := oldX0 - 1; oldX4 := nondet(); oldX5 := nondet(); assume(oldX3 > 0 && oldX0 = 1 + oldX3); x0 := oldX0 - 1; x1 := oldX4; x2 := oldX5; TO: 2; ---------------------------------------- (19) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 2, 5, 6, 7, 17, 20, 21 using the following rank functions: - Rank function 1: RF for loc. 6: 2+3*x0 RF for loc. 7: 1+3*x0 RF for loc. 8: 2+3*x0 RF for loc. 12: 3*x0 Bound for (chained) transitions 20: 6 Bound for (chained) transitions 21: 6 - Rank function 2: RF for loc. 6: 0 RF for loc. 7: -1 RF for loc. 8: 0 RF for loc. 12: -2 Bound for (chained) transitions 5: 0 Bound for (chained) transitions 17: -1 - Rank function 3: RF for loc. 6: x1 RF for loc. 7: -oldX2+x1 RF for loc. 8: x1 Bound for (chained) transitions 7: 2 - Rank function 4: RF for loc. 6: 1 RF for loc. 7: -oldX2 RF for loc. 8: 0 Bound for (chained) transitions 6: 0 - Rank function 5: RF for loc. 6: 0 RF for loc. 8: -1 Bound for (chained) transitions 2: 0 ---------------------------------------- (20) YES ---------------------------------------- (21) Obligation: SCC ---------------------------------------- (22) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 71 rulesP rules: f_490(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_502(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_502(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_514(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_514(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_524(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_524(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_531(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_531(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_538(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_538(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_545(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 < v978 && 2 <= v22 f_545(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_554(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_554(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_563(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_563(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_572(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_572(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_581(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_581(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_591(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v5569 != 0 f_581(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_592(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v5569 = 0 f_591(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_602(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, v18, v63, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_602(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, v18, v63, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_613(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, v18, v63, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_613(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, v18, v63, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_619(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, v5569, v18, v63, 0, v22, v1054, v2, v4, v6, v8, v10, v13, v16, 3, 7, 2, 4, 8) :|: TRUE f_619(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6383, v6384, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_627(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6383, v6384, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: 0 = 0 f_627(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6383, v6384, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_636(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6384, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: 0 = 0 f_636(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6384, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_646(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: 1 + v6597 = v6378 && 0 <= v6597 f_646(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_656(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: 0 = 0 f_656(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_666(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: TRUE f_666(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_676(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: TRUE f_676(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, v6597, 0, v6386, v6387, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) -> f_677(v6371, v6372, v6373, v6374, v6375, v6376, v6377, v6378, 1, v6380, v6381, v6382, 0, v6386, v6387, v6597, v6388, v6389, v6390, v6391, v6392, v6393, v6394, 3, 7, 2, 4, 8) :|: TRUE f_677(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8482, 1, v8484, v8485, v8486, 0, v8488, v8489, v8490, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_686(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8482, 1, v8484, v8485, v8486, 0, v8488, v8489, v8490, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_686(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8482, 1, v8484, v8485, v8486, 0, v8488, v8489, v8490, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_695(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8482, 1, v8484, v8485, v8486, 0, v8488, v8489, v8490, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_695(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8482, 1, v8484, v8485, v8486, 0, v8488, v8489, v8490, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_704(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_704(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_713(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 < v8490 && 2 <= v8482 && 2 <= v8489 f_713(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_724(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_724(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_736(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_736(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_748(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_748(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_759(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_759(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_768(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_768(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_776(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_776(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_784(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_784(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_793(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_793(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_804(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_804(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_816(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_816(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_828(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_828(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v8486, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_838(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_838(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_849(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: v13850 != 0 f_838(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_850(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: v13850 = 0 f_849(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_857(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_857(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_865(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_865(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_619(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, v13850, v8482, v8490, 0, v8488, v8489, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_850(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_858(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: 0 = 0 f_858(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_866(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_866(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8488, v8489, v8482, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) -> f_621(v8475, v8476, v8477, v8478, v8479, v8480, v8481, v8490, 1, v8484, v8485, 0, v8482, v8490, v8488, v8489, v8491, v8492, v8493, v8494, v8495, v8496, v8497, 3, 7, 2, 4, 8) :|: TRUE f_621(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_628(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6595, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_628(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6595, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_638(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: v6595 = 0 f_638(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_648(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_648(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_658(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_658(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_668(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_668(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6463, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_679(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_679(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_688(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 1 + v8617 = v6459 && 0 <= v8617 f_688(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_697(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_697(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_706(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_706(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v6464, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_716(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_716(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_727(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_727(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_739(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_739(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_751(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_751(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_762(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_762(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_770(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_770(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_778(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_778(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v6456, 1, v6458, v6459, 0, v6461, v6462, v8617, v8900, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_786(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_786(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_795(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 < v8900 f_795(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_806(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: 0 = 0 f_806(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_818(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) :|: TRUE f_818(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 2, 4, 8) -> f_479(v6449, v6450, v6451, v6452, v6453, v6454, v6455, v8900, 1, v6458, v6459, 0, v6461, v6462, v8617, v6465, v6466, v6467, v6468, v6469, v6470, v6471, 3, 7, 4, 8, 2) :|: TRUE f_479(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_490(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v22, 0, v18, v63, v978, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_592(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_603(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_603(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_614(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_614(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_621(v1, v3, v5, v7, v9, v12, v15, v1054, 1, v20, v978, 0, v18, v63, v22, v1054, v2, v4, v6, v8, v10, v13, v16, 3, 7, 2, 4, 8) :|: TRUE Combined rules. Obtained 6 rulesP rules: f_490(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v1054:0, 1, v20:0, v22:0, 0, v18:0, v63:0, 1 + v8617:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_490(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v8900:0, 1, v20:0, 1 + v8617:0, 0, v18:0, v63:0, v8617:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) :|: v8617:0 > -1 && v22:0 > 1 && v8900:0 > 0 f_838(v8475:0, v8476:0, v8477:0, v8478:0, v8479:0, v8480:0, v8481:0, v8490:0, 1, v8484:0, 1 + v8617:0, 0, 0, v8488:0, v8489:0, v8482:0, v8491:0, v8492:0, v8493:0, v8494:0, v8495:0, v8496:0, v8497:0, 3, 7, 2, 4, 8) -> f_490(v8475:0, v8476:0, v8477:0, v8478:0, v8479:0, v8480:0, v8481:0, v8900:0, 1, v8484:0, 1 + v8617:0, 0, v8482:0, v8490:0, v8617:0, v8491:0, v8492:0, v8493:0, v8494:0, v8495:0, v8496:0, v8497:0, 3, 7, 4, 8, 2) :|: v8900:0 > 0 && v8617:0 > -1 f_490(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v6597:0, 1, v20:0, v22:0, 0, v18:0, v63:0, v978:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_838(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v6597:0, 1, v20:0, v978:0, v13850:0, 0, v22:0, 1 + v6597:0, 1 + v6597:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 2, 4, 8) :|: v6597:0 > 0 && v22:0 > 1 && v978:0 > 0 && v5569:0 < 0 f_490(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v6597:0, 1, v20:0, v22:0, 0, v18:0, v63:0, v978:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_838(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v6597:0, 1, v20:0, v978:0, v13850:0, 0, v22:0, 1 + v6597:0, 1 + v6597:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 2, 4, 8) :|: v6597:0 > 0 && v22:0 > 1 && v978:0 > 0 && v5569:0 > 0 f_838(v8475:0, v8476:0, v8477:0, v8478:0, v8479:0, v8480:0, v8481:0, 1 + v6597:0, 1, v8484:0, v8485:0, v13850:0, 0, v8488:0, v8489:0, v8482:0, v8491:0, v8492:0, v8493:0, v8494:0, v8495:0, v8496:0, v8497:0, 3, 7, 2, 4, 8) -> f_838(v8475:0, v8476:0, v8477:0, v8478:0, v8479:0, v8480:0, v8481:0, v6597:0, 1, v8484:0, v8485:0, v13850:1, 0, v8488:0, v8489:0, 1 + v6597:0, v8491:0, v8492:0, v8493:0, v8494:0, v8495:0, v8496:0, v8497:0, 3, 7, 2, 4, 8) :|: v6597:0 > 0 && v13850:0 < 0 && v8489:0 > 1 f_838(v8475:0, v8476:0, v8477:0, v8478:0, v8479:0, v8480:0, v8481:0, 1 + v6597:0, 1, v8484:0, v8485:0, v13850:0, 0, v8488:0, v8489:0, v8482:0, v8491:0, v8492:0, v8493:0, v8494:0, v8495:0, v8496:0, v8497:0, 3, 7, 2, 4, 8) -> f_838(v8475:0, v8476:0, v8477:0, v8478:0, v8479:0, v8480:0, v8481:0, v6597:0, 1, v8484:0, v8485:0, v13850:1, 0, v8488:0, v8489:0, 1 + v6597:0, v8491:0, v8492:0, v8493:0, v8494:0, v8495:0, v8496:0, v8497:0, 3, 7, 2, 4, 8) :|: v6597:0 > 0 && v13850:0 > 0 && v8489:0 > 1 Filtered unneeded arguments: f_490(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27) -> f_490(x8, x11, x15) f_838(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) -> f_838(x8, x11, x12, x15) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_490(v1054:0, v22:0, sum~cons_1~v8617:0) -> f_490(v8900:0, 1 + v8617:0, v8617:0) :|: v22:0 > 1 && v8900:0 > 0 && v8617:0 > -1 && sum~cons_1~v8617:0 = 1 + v8617:0 f_838(v8490:0, sum~cons_1~v8617:0, cons_0, v8489:0) -> f_490(v8900:0, 1 + v8617:0, v8617:0) :|: v8900:0 > 0 && v8617:0 > -1 && sum~cons_1~v8617:0 = 1 + v8617:0 && cons_0 = 0 f_490(sum~cons_1~v6597:0, v22:0, v978:0) -> f_838(v6597:0, v978:0, v13850:0, 1 + v6597:0) :|: v22:0 > 1 && v978:0 > 0 && v6597:0 > 0 && sum~cons_1~v6597:0 = 1 + v6597:0 f_838(sum~cons_1~v6597:0, v8485:0, v13850:0, v8489:0) -> f_838(v6597:0, v8485:0, v13850:1, v8489:0) :|: v13850:0 < 0 && v8489:0 > 1 && v6597:0 > 0 && sum~cons_1~v6597:0 = 1 + v6597:0 f_838(sum~cons_1~v6597:0, v8485:0, v13850:0, v8489:0) -> f_838(v6597:0, v8485:0, v13850:1, v8489:0) :|: v13850:0 > 0 && v8489:0 > 1 && v6597:0 > 0 && sum~cons_1~v6597:0 = 1 + v6597:0 ---------------------------------------- (23) Obligation: Rules: f_490(v1054:0, v22:0, sum~cons_1~v8617:0) -> f_490(v8900:0, 1 + v8617:0, v8617:0) :|: v22:0 > 1 && v8900:0 > 0 && v8617:0 > -1 && sum~cons_1~v8617:0 = 1 + v8617:0 f_838(x, x1, x2, x3) -> f_490(x4, 1 + x5, x5) :|: x4 > 0 && x5 > -1 && x1 = 1 + x5 && x2 = 0 f_490(x6, x7, x8) -> f_838(x9, x8, x10, 1 + x9) :|: x7 > 1 && x8 > 0 && x9 > 0 && x6 = 1 + x9 f_838(sum~cons_1~v6597:0, v8485:0, v13850:0, v8489:0) -> f_838(v6597:0, v8485:0, v13850:1, v8489:0) :|: v13850:0 < 0 && v8489:0 > 1 && v6597:0 > 0 && sum~cons_1~v6597:0 = 1 + v6597:0 f_838(x11, x12, x13, x14) -> f_838(x15, x12, x16, x14) :|: x13 > 0 && x14 > 1 && x15 > 0 && x11 = 1 + x15 ---------------------------------------- (24) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_490_4,1) (f_838_4,2) ---------------------------------------- (25) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX5 := oldX2 - 1; oldX4 := nondet(); oldX6 := nondet(); assume(oldX1 > 1 && oldX4 > 0 && oldX5 > -1 && oldX2 = 1 + oldX5); x0 := oldX4; x1 := 1 + oldX5; x2 := oldX2 - 1; x3 := oldX6; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX5 := oldX1 - 1; oldX4 := nondet(); oldX6 := nondet(); assume(oldX4 > 0 && oldX5 > -1 && oldX1 = 1 + oldX5 && oldX2 = 0); x0 := oldX4; x1 := 1 + oldX5; x2 := oldX1 - 1; x3 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX0 - 1; oldX5 := nondet(); assume(oldX1 > 1 && oldX2 > 0 && oldX4 > 0 && oldX0 = 1 + oldX4); x0 := oldX0 - 1; x1 := oldX2; x2 := oldX5; x3 := 1 + oldX4; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX0 - 1; oldX5 := nondet(); assume(oldX2 < 0 && oldX3 > 1 && oldX4 > 0 && oldX0 = 1 + oldX4); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX5; x3 := oldX3; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX0 - 1; oldX5 := nondet(); assume(oldX2 > 0 && oldX3 > 1 && oldX4 > 0 && oldX0 = 1 + oldX4); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX5; x3 := oldX3; TO: 2; ---------------------------------------- (26) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 2, 5, 6, 14, 17, 18, 19 using the following rank functions: - Rank function 1: RF for loc. 6: 3+4*x2 RF for loc. 7: 4*x1 RF for loc. 8: 2+4*x2 RF for loc. 12: 4*x1 Bound for (chained) transitions 5: 6 Bound for (chained) transitions 6: 6 Bound for (chained) transitions 17: 4 - Rank function 2: RF for loc. 6: 1 RF for loc. 7: 1+2*x0 RF for loc. 8: 0 RF for loc. 12: 2*x0 Bound for (chained) transitions 2: 1 Bound for (chained) transitions 18: 4 - Rank function 3: RF for loc. 7: 2*x0 RF for loc. 12: -1+2*x0 Bound for (chained) transitions 19: 3 - Rank function 4: RF for loc. 7: 0 RF for loc. 12: -1 Bound for (chained) transitions 14: 0 ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: SCC ---------------------------------------- (29) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 69 rulesP rules: f_426(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_434(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_434(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_442(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_442(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_450(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_450(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_458(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_458(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_467(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_467(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_478(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_478(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_489(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_489(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_500(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 < v977 && 2 <= v20 f_500(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_512(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_512(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_522(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_522(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_529(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_529(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v22, 0, v18, v423, v20, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_536(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_536(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_543(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 < v1053 f_543(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_552(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_552(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_561(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_561(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_570(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_570(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_579(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_579(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_589(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v5568 != 0 f_579(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_590(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v5568 = 0 f_589(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_600(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_600(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_611(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_611(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_624(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_624(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_631(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_631(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_641(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 1 + v6596 = v63 && 0 <= v6596 f_641(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_651(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_651(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_661(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_661(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_671(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_671(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v6596, v423, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_436(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, v5568, v423, v20, v6596, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_436(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, v62, v20, v1059, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_444(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, v62, v20, v1059, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_444(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, v62, v20, v1059, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_452(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, v62, v20, v1059, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_452(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, v62, v20, v1059, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_461(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_461(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_470(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 < v1059 && 2 <= v18 f_470(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_481(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_481(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_492(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_492(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_504(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_504(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_515(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_515(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_525(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_525(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_532(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_532(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_539(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_539(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_547(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_547(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_556(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_556(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_565(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_565(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_574(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_574(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v932, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_583(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_583(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_593(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: v5570 != 0 f_583(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_594(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v5570 = 0 f_593(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_604(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_604(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_615(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_615(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_611(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, v5570, v18, v62, v20, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_594(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_605(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_605(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_616(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_616(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v62, v20, v18, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_612(v1, v3, v5, v7, v9, v12, v15, v1059, 1, v65, v69, 0, v18, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_612(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_625(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_625(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_632(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v6594 != 0 f_632(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_642(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_642(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_652(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_652(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_662(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_662(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_672(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_672(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_682(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 1 + v8523 = v977 && 0 <= v8523 f_682(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_691(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_691(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_700(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_700(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_709(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_709(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_719(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_719(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_731(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_731(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_743(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_743(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_418(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v6594, v8523, v8896, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_418(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_426(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, 0, v18, v423, v977, v1053, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_590(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_601(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_601(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_612(v1, v3, v5, v7, v9, v12, v15, v63, 1, v977, v1053, 0, v18, v423, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE Combined rules. Obtained 8 rulesP rules: f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v6596:0, 1, v20:0, v22:0, 0, v18:0, v423:0, v977:0, v1053:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v6596:0, 1, v977:0, v1053:0, v5570:0, v423:0, v20:0, 1 + v6596:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) :|: v6596:0 > 0 && v20:0 > 1 && v977:0 > 0 && v1053:0 > 0 && v5568:0 < 0 f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v6596:0, 1, v20:0, v22:0, 0, v18:0, v423:0, v977:0, v1053:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v6596:0, 1, v977:0, v1053:0, v5570:0, v423:0, v20:0, 1 + v6596:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) :|: v6596:0 > 0 && v20:0 > 1 && v977:0 > 0 && v1053:0 > 0 && v5568:0 > 0 f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v63:0, 1, v20:0, v22:0, 0, v18:0, v423:0, 1 + v8523:0, v1053:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v63:0, 1, 1 + v8523:0, v1053:0, 0, v18:0, v6594:0, v8523:0, v8896:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) :|: v6594:0 < 0 && v20:0 > 1 && v8523:0 > -1 && v1053:0 > 0 f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v63:0, 1, v20:0, v22:0, 0, v18:0, v423:0, 1 + v8523:0, v1053:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) -> f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v63:0, 1, 1 + v8523:0, v1053:0, 0, v18:0, v6594:0, v8523:0, v8896:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) :|: v6594:0 > 0 && v20:0 > 1 && v8523:0 > -1 && v1053:0 > 0 f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v1059:0, 1, 1 + v8523:0, v69:0, 0, v62:0, v20:0, v18:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) -> f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v1059:0, 1, 1 + v8523:0, v69:0, 0, v18:0, v6594:0, v8523:0, v8896:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) :|: v8523:0 > -1 && v6594:0 < 0 f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v1059:0, 1, 1 + v8523:0, v69:0, 0, v62:0, v20:0, v18:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) -> f_426(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v1059:0, 1, 1 + v8523:0, v69:0, 0, v18:0, v6594:0, v8523:0, v8896:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8, 2) :|: v8523:0 > -1 && v6594:0 > 0 f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v6596:0, 1, v65:0, v69:0, v5570:0, v62:0, v20:0, v18:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) -> f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v6596:0, 1, v65:0, v69:0, v5570:1, v62:0, v20:0, 1 + v6596:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) :|: v6596:0 > 0 && v5570:0 < 0 f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v6596:0, 1, v65:0, v69:0, v5570:0, v62:0, v20:0, v18:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) -> f_583(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v6596:0, 1, v65:0, v69:0, v5570:1, v62:0, v20:0, 1 + v6596:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8, 2) :|: v6596:0 > 0 && v5570:0 > 0 Filtered unneeded arguments: f_426(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) -> f_426(x8, x10, x15, x16) f_583(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) -> f_583(x8, x10, x12) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_426(sum~cons_1~v6596:0, v20:0, v977:0, v1053:0) -> f_583(v6596:0, v977:0, v5570:0) :|: v20:0 > 1 && v6596:0 > 0 && v1053:0 > 0 && v977:0 > 0 && sum~cons_1~v6596:0 = 1 + v6596:0 f_426(v63:0, v20:0, sum~cons_1~v8523:0, v1053:0) -> f_426(v63:0, 1 + v8523:0, v8523:0, v8896:0) :|: v8523:0 > -1 && v1053:0 > 0 && v20:0 > 1 && sum~cons_1~v8523:0 = 1 + v8523:0 f_583(v1059:0, sum~cons_1~v8523:0, cons_0) -> f_426(v1059:0, 1 + v8523:0, v8523:0, v8896:0) :|: v8523:0 > -1 && sum~cons_1~v8523:0 = 1 + v8523:0 && cons_0 = 0 f_583(sum~cons_1~v6596:0, v65:0, v5570:0) -> f_583(v6596:0, v65:0, v5570:1) :|: v6596:0 > 0 && v5570:0 < 0 && sum~cons_1~v6596:0 = 1 + v6596:0 f_583(sum~cons_1~v6596:0, v65:0, v5570:0) -> f_583(v6596:0, v65:0, v5570:1) :|: v6596:0 > 0 && v5570:0 > 0 && sum~cons_1~v6596:0 = 1 + v6596:0 ---------------------------------------- (30) Obligation: Rules: f_426(sum~cons_1~v6596:0, v20:0, v977:0, v1053:0) -> f_583(v6596:0, v977:0, v5570:0) :|: v20:0 > 1 && v6596:0 > 0 && v1053:0 > 0 && v977:0 > 0 && sum~cons_1~v6596:0 = 1 + v6596:0 f_426(x, x1, x2, x3) -> f_426(x, 1 + x4, x4, x5) :|: x4 > -1 && x3 > 0 && x1 > 1 && x2 = 1 + x4 f_583(v1059:0, sum~cons_1~v8523:0, cons_0) -> f_426(v1059:0, 1 + v8523:0, v8523:0, v8896:0) :|: v8523:0 > -1 && sum~cons_1~v8523:0 = 1 + v8523:0 && cons_0 = 0 f_583(x6, x7, x8) -> f_583(x9, x7, x10) :|: x9 > 0 && x8 < 0 && x6 = 1 + x9 f_583(x11, x12, x13) -> f_583(x14, x12, x15) :|: x14 > 0 && x13 > 0 && x11 = 1 + x14 ---------------------------------------- (31) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_426_4,1) (f_583_4,2) ---------------------------------------- (32) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX0 - 1; oldX5 := nondet(); oldX6 := nondet(); assume(oldX1 > 1 && oldX4 > 0 && oldX3 > 0 && oldX2 > 0 && oldX0 = 1 + oldX4); x0 := oldX0 - 1; x1 := oldX2; x2 := oldX5; x3 := oldX6; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX2 - 1; oldX5 := nondet(); assume(oldX4 > -1 && oldX3 > 0 && oldX1 > 1 && oldX2 = 1 + oldX4); x0 := oldX0; x1 := 1 + oldX4; x2 := oldX2 - 1; x3 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX1 - 1; oldX5 := nondet(); assume(oldX4 > -1 && oldX1 = 1 + oldX4 && oldX2 = 0); x0 := oldX0; x1 := 1 + oldX4; x2 := oldX1 - 1; x3 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX0 - 1; oldX5 := nondet(); oldX6 := nondet(); assume(oldX4 > 0 && oldX2 < 0 && oldX0 = 1 + oldX4); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX5; x3 := oldX6; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := oldX0 - 1; oldX5 := nondet(); oldX6 := nondet(); assume(oldX4 > 0 && oldX2 > 0 && oldX0 = 1 + oldX4); x0 := oldX0 - 1; x1 := oldX1; x2 := oldX5; x3 := oldX6; TO: 2; ---------------------------------------- (33) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 2, 5, 6, 14, 17, 18, 19 using the following rank functions: - Rank function 1: RF for loc. 6: -1+5*x0 RF for loc. 7: 1+5*x0 RF for loc. 8: -1+5*x0 RF for loc. 12: 5*x0 Bound for (chained) transitions 5: 9 Bound for (chained) transitions 18: 10 Bound for (chained) transitions 19: 10 - Rank function 2: RF for loc. 6: 2*x2 RF for loc. 7: 2*x1 RF for loc. 8: -1+2*x2 RF for loc. 12: -1+2*x1 Bound for (chained) transitions 17: 1 - Rank function 3: RF for loc. 6: 2*x2 RF for loc. 7: 0 RF for loc. 8: -1+2*x2 RF for loc. 12: -1 Bound for (chained) transitions 6: 1 Bound for (chained) transitions 14: 0 - Rank function 4: RF for loc. 6: 0 RF for loc. 8: -1 Bound for (chained) transitions 2: 0 ---------------------------------------- (34) YES ---------------------------------------- (35) Obligation: SCC ---------------------------------------- (36) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 35 rulesP rules: f_293(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_296(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_296(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_299(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_299(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_302(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_302(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_306(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_306(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_310(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_310(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_314(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_314(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_318(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 < v65 && 2 <= v20 f_318(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_324(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_324(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_329(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_329(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_334(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_334(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v22, 0, v62, v20, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_339(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_339(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_345(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 < v69 f_345(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_352(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_352(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_359(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_359(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_366(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_366(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_373(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_373(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, v932, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_381(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v932 = 0 f_381(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_387(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_387(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_393(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_393(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v62, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_399(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_399(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_405(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v1055 != 0 f_405(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_413(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_413(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_421(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_421(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_429(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_429(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v20, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_437(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_437(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_445(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 1 + v1557 = v65 && 0 <= v1557 f_445(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_453(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_453(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_462(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_462(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_472(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_472(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_483(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_483(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_494(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_494(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_506(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_506(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_517(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_517(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_290(v1, v3, v5, v7, v9, v12, v15, v18, 1, v65, v69, 0, v1055, v1557, v1679, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_290(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_293(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v62, v65, v69, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE Combined rules. Obtained 2 rulesP rules: f_293(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, v20:0, v22:0, 0, v62:0, 1 + v1557:0, v69:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8) -> f_293(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, 1 + v1557:0, v69:0, 0, v1055:0, v1557:0, v1679:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8) :|: v20:0 > 1 && v1557:0 > -1 && v69:0 > 0 && v1055:0 < 0 f_293(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, v20:0, v22:0, 0, v62:0, 1 + v1557:0, v69:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8) -> f_293(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, 1 + v1557:0, v69:0, 0, v1055:0, v1557:0, v1679:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8) :|: v20:0 > 1 && v1557:0 > -1 && v69:0 > 0 && v1055:0 > 0 Filtered unneeded arguments: f_293(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26) -> f_293(x10, x14, x15) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_293(v20:0, sum~cons_1~v1557:0, v69:0) -> f_293(1 + v1557:0, v1557:0, v1679:0) :|: v1557:0 > -1 && v69:0 > 0 && v20:0 > 1 && sum~cons_1~v1557:0 = 1 + v1557:0 ---------------------------------------- (37) Obligation: Rules: f_293(v20:0, sum~cons_1~v1557:0, v69:0) -> f_293(1 + v1557:0, v1557:0, v1679:0) :|: v1557:0 > -1 && v69:0 > 0 && v20:0 > 1 && sum~cons_1~v1557:0 = 1 + v1557:0 ---------------------------------------- (38) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_293_3,1) ---------------------------------------- (39) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := oldX1 - 1; oldX4 := nondet(); assume(oldX3 > -1 && oldX2 > 0 && oldX0 > 1 && oldX1 = 1 + oldX3); x0 := 1 + oldX3; x1 := oldX1 - 1; x2 := oldX4; TO: 1; ---------------------------------------- (40) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 1, 3, 4 using the following rank functions: - Rank function 1: RF for loc. 5: 1+2*x1 RF for loc. 6: 2*x1 Bound for (chained) transitions 3: 2 Bound for (chained) transitions 4: 2 - Rank function 2: RF for loc. 5: 0 RF for loc. 6: -1 Bound for (chained) transitions 1: 0 ---------------------------------------- (41) YES ---------------------------------------- (42) Obligation: SCC ---------------------------------------- (43) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 35 rulesP rules: f_291(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_294(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_294(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_297(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_297(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_300(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_300(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_303(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 < v70 f_303(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_307(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_307(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_311(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_311(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_315(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_315(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_320(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_320(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_326(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_326(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_331(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_331(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_336(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_336(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v22, 0, v66, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_341(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_341(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_347(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 < v66 && 2 <= v22 f_347(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_354(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_354(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_361(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_361(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_368(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_368(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_375(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, v933, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_375(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, v933, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_383(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v933 = 0 f_383(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_389(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_389(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_395(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_395(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_401(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1056, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_401(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1056, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_409(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: v1056 = 0 f_409(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_417(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_417(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_425(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: TRUE f_425(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_433(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) :|: 0 = 0 f_433(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v22, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8, 2) -> f_441(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_441(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_449(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 1 + v1634 = v66 && 0 <= v1634 f_449(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_457(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_457(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_466(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_466(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_477(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_477(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_488(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: 0 = 0 f_488(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_499(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_499(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_511(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_511(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_287(v1, v3, v5, v7, v9, v12, v15, v70, 1, v20, v66, 0, v1634, v1682, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE f_287(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) -> f_291(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, 0, v66, v70, v2, v4, v6, v8, v10, v13, v16, 3, 7, 4, 8) :|: TRUE Combined rules. Obtained 1 rulesP rules: f_291(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, v20:0, v22:0, 0, 1 + v1634:0, v70:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8) -> f_291(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v70:0, 1, v20:0, 1 + v1634:0, 0, v1634:0, v1682:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 3, 7, 4, 8) :|: v70:0 > 0 && v22:0 > 1 && v1634:0 > -1 Filtered unneeded arguments: f_291(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) -> f_291(x11, x13, x14) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_291(v22:0, sum~cons_1~v1634:0, v70:0) -> f_291(1 + v1634:0, v1634:0, v1682:0) :|: v22:0 > 1 && v1634:0 > -1 && v70:0 > 0 && sum~cons_1~v1634:0 = 1 + v1634:0 ---------------------------------------- (44) Obligation: Rules: f_291(v22:0, sum~cons_1~v1634:0, v70:0) -> f_291(1 + v1634:0, v1634:0, v1682:0) :|: v22:0 > 1 && v1634:0 > -1 && v70:0 > 0 && sum~cons_1~v1634:0 = 1 + v1634:0 ---------------------------------------- (45) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_291_3,1) ---------------------------------------- (46) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := oldX1 - 1; oldX4 := nondet(); assume(oldX0 > 1 && oldX3 > -1 && oldX2 > 0 && oldX1 = 1 + oldX3); x0 := 1 + oldX3; x1 := oldX1 - 1; x2 := oldX4; TO: 1; ---------------------------------------- (47) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 1, 3, 4 using the following rank functions: - Rank function 1: RF for loc. 5: 1+2*x1 RF for loc. 6: 2*x1 Bound for (chained) transitions 3: 2 Bound for (chained) transitions 4: 2 - Rank function 2: RF for loc. 5: 0 RF for loc. 6: -1 Bound for (chained) transitions 1: 0 ---------------------------------------- (48) YES ---------------------------------------- (49) Obligation: SCC ---------------------------------------- (50) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 26 rulesP rules: f_266(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, v61, v63, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_269(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: 0 = 0 f_269(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_272(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 < v63 && 2 <= v18 f_272(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_276(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_276(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_280(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_280(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_284(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_284(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_288(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_288(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_292(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_292(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_295(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_295(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_298(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_298(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_301(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_301(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_305(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_305(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_309(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_309(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_313(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_313(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v61, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_317(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_317(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_322(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: v297 != 0 f_322(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_327(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_327(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_332(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: TRUE f_332(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_337(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) :|: 0 = 0 f_337(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v18, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8, 2) -> f_342(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: 0 = 0 f_342(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_349(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: 1 + v424 = v63 && 0 <= v424 f_349(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_356(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: 0 = 0 f_356(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_363(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: TRUE f_363(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_370(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: TRUE f_370(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_377(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: TRUE f_377(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_263(v1, v3, v5, v7, v9, v12, v15, v63, 1, v20, v22, v297, v424, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: TRUE f_263(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, v61, v63, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) -> f_266(v1, v3, v5, v7, v9, v12, v15, v18, 1, v20, v22, v61, v63, v2, v4, v6, v8, v10, v13, v16, 0, 3, 7, 4, 8) :|: 0 = 0 Combined rules. Obtained 2 rulesP rules: f_266(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, v20:0, v22:0, v61:0, 1 + v424:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8) -> f_266(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v424:0, 1, v20:0, v22:0, v297:0, v424:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8) :|: v18:0 > 1 && v424:0 > -1 && v297:0 < 0 f_266(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, v18:0, 1, v20:0, v22:0, v61:0, 1 + v424:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8) -> f_266(v1:0, v3:0, v5:0, v7:0, v9:0, v12:0, v15:0, 1 + v424:0, 1, v20:0, v22:0, v297:0, v424:0, v2:0, v4:0, v6:0, v8:0, v10:0, v13:0, v16:0, 0, 3, 7, 4, 8) :|: v18:0 > 1 && v424:0 > -1 && v297:0 > 0 Filtered unneeded arguments: f_266(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) -> f_266(x8, x13) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_266(v18:0, sum~cons_1~v424:0) -> f_266(1 + v424:0, v424:0) :|: v18:0 > 1 && v424:0 > -1 && sum~cons_1~v424:0 = 1 + v424:0 ---------------------------------------- (51) Obligation: Rules: f_266(v18:0, sum~cons_1~v424:0) -> f_266(1 + v424:0, v424:0) :|: v18:0 > 1 && v424:0 > -1 && sum~cons_1~v424:0 = 1 + v424:0 ---------------------------------------- (52) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_266_2,1) ---------------------------------------- (53) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := oldX1 - 1; assume(oldX0 > 1 && oldX2 > -1 && oldX1 = 1 + oldX2); x0 := 1 + oldX2; x1 := oldX1 - 1; TO: 1; ---------------------------------------- (54) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 1, 3, 4 using the following rank functions: - Rank function 1: RF for loc. 5: 1+2*x1 RF for loc. 6: 2*x1 Bound for (chained) transitions 3: 2 Bound for (chained) transitions 4: 2 - Rank function 2: RF for loc. 5: 0 RF for loc. 6: -1 Bound for (chained) transitions 1: 0 ---------------------------------------- (55) YES