/export/starexec/sandbox/solver/bin/starexec_run_c /export/starexec/sandbox/benchmark/theBenchmark.c /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could not be shown: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 178 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 7192 ms] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToLassoProof [EQUIVALENT, 0 ms] (6) LLVM Symbolic Execution Lasso (7) Lasso2IRS [SOUND, 160 ms] (8) IntTRS (9) IRS2T2 [EQUIVALENT, 0 ms] (10) T2IntSys (11) T2 [COMPLETE, 1633 ms] (12) NO (13) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (14) LLVM Symbolic Execution SCC (15) SCC2IRS [SOUND, 134 ms] (16) IntTRS (17) IRS2T2 [EQUIVALENT, 0 ms] (18) T2IntSys (19) T2 [COMPLETE, 1384 ms] (20) NO (21) SCC2IRS [SOUND, 0 ms] (22) IntTRS (23) IRS2T2 [EQUIVALENT, 0 ms] (24) T2IntSys (25) T2 [COMPLETE, 1923 ms] (26) NO (27) SEGraph to IRS [SOUND, 341 ms] (28) IntTRS (29) IRS2T2 [EQUIVALENT, 9 ms] (30) T2IntSys (31) T2 [COMPLETE, 4268 ms] (32) NO ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "bsearch" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (i i32, j i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %2 = alloca i32, align 4 %3 = alloca i32, align 4 %mid = alloca i32, align 4 store %i, %2 store %j, %3 %4 = load %2 %5 = load %3 %6 = icmp sge %4 %5 br %6, %7, %9 7: %8 = load %2 store %8, %1 br %25 9: %10 = load %2 %11 = load %3 %12 = add %10 %11 %13 = sdiv %12 2 store %13, %mid %14 = call i32 (...)* @__VERIFIER_nondet_int() %15 = icmp ne %14 0 br %15, %16, %20 16: %17 = load %2 %18 = load %mid %19 = call i32 @bsearch(i32 %17, i32 %18) store %19, %1 br %25 20: %21 = load %mid %22 = add %21 1 %23 = load %3 %24 = call i32 @bsearch(i32 %22, i32 %23) store %24, %1 br %25 25: %26 = load %1 ret %26 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %x = alloca i32, align 4 %y = alloca i32, align 4 store 0, %1 %2 = call i32 (...)* @__VERIFIER_nondet_int() store %2, %x %3 = call i32 (...)* @__VERIFIER_nondet_int() store %3, %y %4 = load %x %5 = load %y %6 = call i32 @bsearch(i32 %4, i32 %5) %7 = load %1 ret %7 Analyze Termination of all function calls matching the pattern: main() ---------------------------------------- (3) LLVMToTerminationGraphProof (EQUIVALENT) Constructed symbolic execution graph for LLVM program and proved memory safety. ---------------------------------------- (4) Obligation: SE Graph ---------------------------------------- (5) SymbolicExecutionGraphToLassoProof (EQUIVALENT) Converted SEGraph to 1 independent lasso. ---------------------------------------- (6) Obligation: Lasso ---------------------------------------- (7) Lasso2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 48 rulesP rules: f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) -> f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) :|: 1 <= v126 && v127 = 3 + v126 && 4 <= v127 f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) -> f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) :|: 1 <= v128 && v129 = 3 + v128 && 4 <= v129 f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) -> f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 1 <= v130 && v131 = 3 + v130 && 4 <= v131 f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: v113 < v114 f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: TRUE f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: v135 = v113 + v114 f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v136 = v135 / 2 f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 != 0 f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 = 0 f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: 0 = 0 f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) :|: TRUE f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) -> f_244(v113, v136, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: TRUE f_244(v113, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) -> f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) :|: 1 <= v124 && v125 = 3 + v124 && 4 <= v125 f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v157 = 1 + v136 f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: 0 = 0 f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) :|: TRUE f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) -> f_244(v157, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: TRUE f_145 -> f_146(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_146(v1, v2, 3, 1, 4) -> f_147(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 f_147(v1, v3, v2, v4, 3, 1, 4) -> f_148(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 f_148(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_149(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_149(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_150(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_150(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_151(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_151(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_152(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_152(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_153(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_153(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_154(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_154(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_155(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_155(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: 0 = 0 f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_157(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_157(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_199(v7, v9, v1, v2, v3, v4, v5, v6, 0, v9, 3, 1, 4) :|: TRUE f_199(v43, v44, v45, v46, v47, v48, v49, v50, 0, v52, 3, 1, 4) -> f_244(v43, v44, v45, v46, v47, v48, v49, v50, 0, v43, v52, 3, 1, 4) :|: TRUE Combined rules. Obtained 4 rulesP rules: f_145 -> f_246(v7:0, v9:0, v124:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 3 + v5:0, 3 + v124:0, 0, v7:0, v9:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v124:0 > 0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(v113:0, v136:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v156:0 < 0 && v124:1 > 0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(v113:0, v136:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v156:0 > 0 && v124:1 > 0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(1 + v136:0, v114:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v124:1 > 0 Filtered unneeded arguments: f_246(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x1, x2) Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: f_145 -> f_246(v7:0, v9:0) :|: TRUE f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 f_246'(v113:0, v114:0) -> f_246(v113:0, div) :|: v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div > -2 && v113:0 + v114:0 - 2 * div <= 0 && v114:0 > v113:0 f_246'(v113:0, v114:0) -> f_246(v113:0, div) :|: v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div >= 0 && v113:0 + v114:0 - 2 * div < 2 && v114:0 > v113:0 f_246'(v113:0, v114:0) -> f_246(1 + div, v114:0) :|: v113:0 + v114:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_246'(v113:0, v114:0) -> f_246(1 + div, v114:0) :|: v113:0 + v114:0 >= 0 && v114:0 > v113:0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 ---------------------------------------- (8) Obligation: Rules: f_145 -> f_246(v7:0, v9:0) :|: TRUE f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 f_246'(x, x1) -> f_246(x, x2) :|: x + x1 < 0 && x + x1 - 2 * x2 > -2 && x + x1 - 2 * x2 <= 0 && x1 > x f_246'(x3, x4) -> f_246(x3, x5) :|: x3 + x4 >= 0 && x3 + x4 - 2 * x5 >= 0 && x3 + x4 - 2 * x5 < 2 && x4 > x3 f_246'(x6, x7) -> f_246(1 + x8, x7) :|: x6 + x7 < 0 && x7 > x6 && x6 + x7 - 2 * x8 <= 0 && x6 + x7 - 2 * x8 > -2 f_246'(x9, x10) -> f_246(1 + x11, x10) :|: x9 + x10 >= 0 && x10 > x9 && x9 + x10 - 2 * x11 < 2 && x9 + x10 - 2 * x11 >= 0 Start term: f_145 ---------------------------------------- (9) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_145_2,1) (f_246_2,2) (f_246'_2,3) ---------------------------------------- (10) Obligation: START: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); oldX3 := nondet(); assume(0 = 0); x0 := oldX2; x1 := oldX3; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; assume(oldX1 > oldX0); x0 := oldX0; x1 := oldX1; TO: 3; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX2 > -2 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX1 > oldX0); x0 := oldX0; x1 := oldX2; TO: 2; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX2 >= 0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX1 > oldX0); x0 := oldX0; x1 := oldX2; TO: 2; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 < 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX0 + oldX1 - 2 * oldX2 > -2); x0 := 1 + oldX2; x1 := oldX1; TO: 2; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 >= 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX0 + oldX1 - 2 * oldX2 >= 0); x0 := 1 + oldX2; x1 := oldX1; TO: 2; ---------------------------------------- (11) T2 (COMPLETE) Found this recurrent set for cutpoint 6: oldX2 == 0 and oldX3 == 0 and x0 == -1 and x1 == 0 ---------------------------------------- (12) NO ---------------------------------------- (13) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 1 SCC. ---------------------------------------- (14) Obligation: SCC ---------------------------------------- (15) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 34 rulesP rules: f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) -> f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) :|: 1 <= v126 && v127 = 3 + v126 && 4 <= v127 f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) -> f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) :|: 1 <= v128 && v129 = 3 + v128 && 4 <= v129 f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) -> f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 1 <= v130 && v131 = 3 + v130 && 4 <= v131 f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: v113 < v114 f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: TRUE f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: v135 = v113 + v114 f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v136 = v135 / 2 f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 != 0 f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 = 0 f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: 0 = 0 f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) :|: TRUE f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) -> f_244(v113, v136, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: TRUE f_244(v113, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) -> f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) :|: 1 <= v124 && v125 = 3 + v124 && 4 <= v125 f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v157 = 1 + v136 f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: 0 = 0 f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) :|: TRUE f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) -> f_244(v157, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: TRUE Combined rules. Obtained 3 rulesP rules: f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(v113:0, v136:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v156:0 < 0 && v124:1 > 0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(v113:0, v136:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v156:0 > 0 && v124:1 > 0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(1 + v136:0, v114:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v124:1 > 0 Filtered unneeded arguments: f_246(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x1, x2) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 f_246'(v113:0, v114:0) -> f_246(v113:0, div) :|: v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div > -2 && v113:0 + v114:0 - 2 * div <= 0 && v114:0 > v113:0 f_246'(v113:0, v114:0) -> f_246(v113:0, div) :|: v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div >= 0 && v113:0 + v114:0 - 2 * div < 2 && v114:0 > v113:0 f_246'(v113:0, v114:0) -> f_246(1 + div, v114:0) :|: v113:0 + v114:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_246'(v113:0, v114:0) -> f_246(1 + div, v114:0) :|: v113:0 + v114:0 >= 0 && v114:0 > v113:0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 ---------------------------------------- (16) Obligation: Rules: f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 f_246'(x, x1) -> f_246(x, x2) :|: x + x1 < 0 && x + x1 - 2 * x2 > -2 && x + x1 - 2 * x2 <= 0 && x1 > x f_246'(x3, x4) -> f_246(x3, x5) :|: x3 + x4 >= 0 && x3 + x4 - 2 * x5 >= 0 && x3 + x4 - 2 * x5 < 2 && x4 > x3 f_246'(x6, x7) -> f_246(1 + x8, x7) :|: x6 + x7 < 0 && x7 > x6 && x6 + x7 - 2 * x8 <= 0 && x6 + x7 - 2 * x8 > -2 f_246'(x9, x10) -> f_246(1 + x11, x10) :|: x9 + x10 >= 0 && x10 > x9 && x9 + x10 - 2 * x11 < 2 && x9 + x10 - 2 * x11 >= 0 ---------------------------------------- (17) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_246_2,1) (f_246'_2,2) ---------------------------------------- (18) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; assume(oldX1 > oldX0); x0 := oldX0; x1 := oldX1; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX2 > -2 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX1 > oldX0); x0 := oldX0; x1 := oldX2; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX2 >= 0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX1 > oldX0); x0 := oldX0; x1 := oldX2; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 < 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX0 + oldX1 - 2 * oldX2 > -2); x0 := 1 + oldX2; x1 := oldX1; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(oldX0 + oldX1 >= 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX0 + oldX1 - 2 * oldX2 >= 0); x0 := 1 + oldX2; x1 := oldX1; TO: 1; ---------------------------------------- (19) T2 (COMPLETE) Found this recurrent set for cutpoint 7: oldX2 == 0 and x0 == -1 and x1 == 0 ---------------------------------------- (20) NO ---------------------------------------- (21) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 34 rulesP rules: f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) -> f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) :|: 1 <= v126 && v127 = 3 + v126 && 4 <= v127 f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) -> f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) :|: 1 <= v128 && v129 = 3 + v128 && 4 <= v129 f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) -> f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 1 <= v130 && v131 = 3 + v130 && 4 <= v131 f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: v113 < v114 f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: TRUE f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: v135 = v113 + v114 f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v136 = v135 / 2 f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 != 0 f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 = 0 f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: 0 = 0 f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) :|: TRUE f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) -> f_244(v113, v136, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: 1 <= v115 && 4 <= v116 && 1 <= v117 && 4 <= v118 && 1 <= v119 && 4 <= v120 && v115 <= v116 && v117 <= v118 && v119 <= v120 f_244(v113, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) -> f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) :|: 1 <= v124 && v125 = 3 + v124 && 4 <= v125 f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v157 = 1 + v136 f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: 0 = 0 f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) :|: TRUE f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) -> f_244(v157, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: 1 <= v115 && 4 <= v116 && 1 <= v117 && 4 <= v118 && 1 <= v119 && 4 <= v120 && v115 <= v116 && v117 <= v118 && v119 <= v120 Combined rules. Obtained 3 rulesP rules: f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(v113:0, v136:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v156:0 < 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v118:0 >= v117:0 && v124:1 > 0 && v120:0 >= v119:0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(v113:0, v136:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v156:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v118:0 >= v117:0 && v124:1 > 0 && v120:0 >= v119:0 f_246(v113:0, v114:0, v124:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, 0, v122:0, v123:0, 3, 1, 4) -> f_246(1 + v136:0, v114:0, v124:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 0, v122:0, v123:0, 3, 1, 4) :|: v128:0 > 0 && v126:0 > 0 && v130:0 > 0 && v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v124:1 > 0 && v118:0 >= v117:0 && v120:0 >= v119:0 Filtered unneeded arguments: f_246(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x1, x2, x4, x5, x6, x7, x8, x9) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_246(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) -> f_246'(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) :|: v114:0 > v113:0 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v120:0 >= v119:0 && v118:0 >= v117:0 f_246'(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) -> f_246(v113:0, div, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) :|: v114:0 > v113:0 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v113:0 + v114:0 < 0 && v118:0 >= v117:0 && v113:0 + v114:0 - 2 * div > -2 && v113:0 + v114:0 - 2 * div <= 0 && v120:0 >= v119:0 f_246'(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) -> f_246(v113:0, div, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) :|: v114:0 > v113:0 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v113:0 + v114:0 >= 0 && v118:0 >= v117:0 && v113:0 + v114:0 - 2 * div >= 0 && v113:0 + v114:0 - 2 * div < 2 && v120:0 >= v119:0 f_246'(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) -> f_246(1 + div, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) :|: v114:0 > v113:0 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v118:0 >= v117:0 && v113:0 + v114:0 < 0 && v120:0 >= v119:0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_246'(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) -> f_246(1 + div, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) :|: v114:0 > v113:0 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v118:0 >= v117:0 && v113:0 + v114:0 >= 0 && v120:0 >= v119:0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 ---------------------------------------- (22) Obligation: Rules: f_246(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) -> f_246'(v113:0, v114:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0) :|: v114:0 > v113:0 && v116:0 > 3 && v115:0 > 0 && v117:0 > 0 && v118:0 > 3 && v119:0 > 0 && v120:0 > 3 && v116:0 >= v115:0 && v120:0 >= v119:0 && v118:0 >= v117:0 f_246'(x, x1, x2, x3, x4, x5, x6, x7) -> f_246(x, x8, x2, x3, x4, x5, x6, x7) :|: x1 > x && x3 > 3 && x2 > 0 && x4 > 0 && x5 > 3 && x6 > 0 && x7 > 3 && x3 >= x2 && x + x1 < 0 && x5 >= x4 && x + x1 - 2 * x8 > -2 && x + x1 - 2 * x8 <= 0 && x7 >= x6 f_246'(x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x9, x17, x11, x12, x13, x14, x15, x16) :|: x10 > x9 && x12 > 3 && x11 > 0 && x13 > 0 && x14 > 3 && x15 > 0 && x16 > 3 && x12 >= x11 && x9 + x10 >= 0 && x14 >= x13 && x9 + x10 - 2 * x17 >= 0 && x9 + x10 - 2 * x17 < 2 && x16 >= x15 f_246'(x18, x19, x20, x21, x22, x23, x24, x25) -> f_246(1 + x26, x19, x20, x21, x22, x23, x24, x25) :|: x19 > x18 && x21 > 3 && x20 > 0 && x22 > 0 && x23 > 3 && x24 > 0 && x25 > 3 && x21 >= x20 && x23 >= x22 && x18 + x19 < 0 && x25 >= x24 && x18 + x19 - 2 * x26 <= 0 && x18 + x19 - 2 * x26 > -2 f_246'(x27, x28, x29, x30, x31, x32, x33, x34) -> f_246(1 + x35, x28, x29, x30, x31, x32, x33, x34) :|: x28 > x27 && x30 > 3 && x29 > 0 && x31 > 0 && x32 > 3 && x33 > 0 && x34 > 3 && x30 >= x29 && x32 >= x31 && x27 + x28 >= 0 && x34 >= x33 && x27 + x28 - 2 * x35 < 2 && x27 + x28 - 2 * x35 >= 0 ---------------------------------------- (23) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_246_8,1) (f_246'_8,2) ---------------------------------------- (24) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; assume(oldX1 > oldX0 && oldX3 > 3 && oldX2 > 0 && oldX4 > 0 && oldX5 > 3 && oldX6 > 0 && oldX7 > 3 && oldX3 >= oldX2 && oldX7 >= oldX6 && oldX5 >= oldX4); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; x7 := oldX7; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := nondet(); assume(oldX1 > oldX0 && oldX3 > 3 && oldX2 > 0 && oldX4 > 0 && oldX5 > 3 && oldX6 > 0 && oldX7 > 3 && oldX3 >= oldX2 && oldX0 + oldX1 < 0 && oldX5 >= oldX4 && oldX0 + oldX1 - 2 * oldX8 > -2 && oldX0 + oldX1 - 2 * oldX8 <= 0 && oldX7 >= oldX6); x0 := oldX0; x1 := oldX8; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; x7 := oldX7; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := nondet(); assume(oldX1 > oldX0 && oldX3 > 3 && oldX2 > 0 && oldX4 > 0 && oldX5 > 3 && oldX6 > 0 && oldX7 > 3 && oldX3 >= oldX2 && oldX0 + oldX1 >= 0 && oldX5 >= oldX4 && oldX0 + oldX1 - 2 * oldX8 >= 0 && oldX0 + oldX1 - 2 * oldX8 < 2 && oldX7 >= oldX6); x0 := oldX0; x1 := oldX8; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; x7 := oldX7; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := nondet(); assume(oldX1 > oldX0 && oldX3 > 3 && oldX2 > 0 && oldX4 > 0 && oldX5 > 3 && oldX6 > 0 && oldX7 > 3 && oldX3 >= oldX2 && oldX5 >= oldX4 && oldX0 + oldX1 < 0 && oldX7 >= oldX6 && oldX0 + oldX1 - 2 * oldX8 <= 0 && oldX0 + oldX1 - 2 * oldX8 > -2); x0 := 1 + oldX8; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; x7 := oldX7; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := nondet(); assume(oldX1 > oldX0 && oldX3 > 3 && oldX2 > 0 && oldX4 > 0 && oldX5 > 3 && oldX6 > 0 && oldX7 > 3 && oldX3 >= oldX2 && oldX5 >= oldX4 && oldX0 + oldX1 >= 0 && oldX7 >= oldX6 && oldX0 + oldX1 - 2 * oldX8 < 2 && oldX0 + oldX1 - 2 * oldX8 >= 0); x0 := 1 + oldX8; x1 := oldX1; x2 := oldX2; x3 := oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; x7 := oldX7; TO: 1; ---------------------------------------- (25) T2 (COMPLETE) Found this recurrent set for cutpoint 7: oldX8 == 0 and x0 == -1 and x1 == 0 and x2 == 1 and x3 == 4 and x4 == 1 and x5 == 4 and x6 == 1 and x7 == 4 ---------------------------------------- (26) NO ---------------------------------------- (27) SEGraph to IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 146 rulesP rules: f_145 -> f_146(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_146(v1, v2, 3, 1, 4) -> f_147(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 f_147(v1, v3, v2, v4, 3, 1, 4) -> f_148(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 f_148(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_149(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_149(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_150(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_150(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_151(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_151(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_152(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_152(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_153(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: TRUE f_153(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_154(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_154(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_155(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_155(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: 0 = 0 f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_157(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_268(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_359(v7, v9, v1029, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_382(v7, v9, v1324, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_385(v7, v9, v1029, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_396(v7, v9, v1486, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_399(v7, v9, v1528, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_418(v7, v9, v1486, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_156(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_421(v7, v9, v1528, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_157(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_199(v7, v9, v1, v2, v3, v4, v5, v6, 0, v9, 3, 1, 4) :|: TRUE f_199(v43, v44, v45, v46, v47, v48, v49, v50, 0, v52, 3, 1, 4) -> f_244(v43, v44, v45, v46, v47, v48, v49, v50, 0, v43, v52, 3, 1, 4) :|: TRUE f_244(v113, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) -> f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) :|: 1 <= v124 && v125 = 3 + v124 && 4 <= v125 f_246(v113, v114, v124, v115, v116, v117, v118, v119, v120, v125, 0, v122, v123, 3, 1, 4) -> f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) :|: 1 <= v126 && v127 = 3 + v126 && 4 <= v127 f_247(v113, v114, v124, v126, v115, v116, v117, v118, v119, v120, v125, v127, 0, v122, v123, 3, 1, 4) -> f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) :|: 1 <= v128 && v129 = 3 + v128 && 4 <= v129 f_248(v113, v114, v124, v126, v128, v115, v116, v117, v118, v119, v120, v125, v127, v129, 0, v122, v123, 3, 1, 4) -> f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 1 <= v130 && v131 = 3 + v130 && 4 <= v131 f_249(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_250(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: TRUE f_251(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_252(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: 0 = 0 f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_254(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: v114 <= v113 f_253(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) :|: v113 < v114 f_254(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_256(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) :|: 0 = 0 f_255(v113, v114, v124, v126, v128, v130, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 1, 4) -> f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_256(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) -> f_258(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) :|: TRUE f_257(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: TRUE f_258(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) -> f_260(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) :|: 0 = 0 f_259(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_260(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) -> f_262(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) :|: TRUE f_261(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: 0 = 0 f_262(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) -> f_264(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) :|: TRUE f_263(v113, v114, v124, v126, v128, v130, 0, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) :|: v135 = v113 + v114 f_264(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) -> f_266(v113, v114, v124, v126, v128, v130, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, 0, v122, v123, 3, 4) :|: 0 = 0 f_265(v113, v114, v124, v126, v128, v130, 0, v135, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 1, 4) -> f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v136 = v135 / 2 f_267(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_268(v7, v9, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_270(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_269(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_270(v1, v3, v5, v7, v9, v2, v4, v6, 0, 3, 1, 4) -> f_272(v1, v3, v5, v7, v9, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 != 0 f_271(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v156 = 0 f_273(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_274(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_275(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_276(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_277(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_278(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_279(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_280(v113, v114, v124, v126, v128, v130, 0, v135, v136, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: v157 = 1 + v136 f_281(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: 0 = 0 f_282(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_288(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_360(v113, v136, v1043, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_383(v113, v136, v1338, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_386(v113, v136, v1043, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_397(v113, v136, v1500, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_400(v113, v136, v1542, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_419(v113, v136, v1500, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_283(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_422(v113, v136, v1542, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_284(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: 0 = 0 f_285(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, 3, 1, 4) -> f_244(v113, v136, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_290(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_361(v157, v114, v1057, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_384(v157, v114, v1352, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_387(v157, v114, v1057, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_398(v157, v114, v1514, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_401(v157, v114, v1556, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_420(v157, v114, v1514, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_286(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_423(v157, v114, v1556, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_287(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, 3, 1, 4) -> f_244(v157, v114, v115, v116, v117, v118, v119, v120, 0, v122, v123, 3, 1, 4) :|: TRUE f_288(v113, v136, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_289(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_289(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_291(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_290(v157, v114, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_292(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_291(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_293(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_292(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_294(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_293(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_295(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_294(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_296(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_295(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_322(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v125, v127, v129, v131, v115, v116, v117, v118, v119, v120, v122, v123, 3, 2, 4) :|: TRUE f_296(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_300(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_300(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_323(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v125, v127, v129, v131, v115, v116, v117, v118, v119, v120, v122, v123, 3, 2, 1, 4) :|: TRUE f_322(v556, v557, v558, v559, v560, v561, 0, v563, v564, v565, 1, v567, v568, v569, v570, v571, v572, v573, v574, v575, v576, v577, v578, 3, 2, 4) -> f_352(v556, v557, v558, v559, v560, v561, 0, v563, v564, v565, 1, v567, v568, v569, v570, 3, 2, 4) :|: TRUE f_323(v579, v580, v581, v582, v583, v584, 0, v586, v587, v588, v589, v590, v591, v592, v593, v594, v595, v596, v597, v598, v599, v600, 3, 2, 1, 4) -> f_353(v579, v580, v581, v582, v583, v584, 0, v586, v587, v588, v589, v590, v591, v592, 3, 2, 1, 4) :|: TRUE f_352(v918, v919, v920, v921, v922, v923, 0, v925, v926, v927, 1, v929, v930, v931, v932, 3, 2, 4) -> f_354(v918, v919, v920, v921, v922, v923, 0, v925, v926, v927, 1, v918, v929, v930, v931, v932, 3, 2, 4) :|: TRUE f_353(v933, v934, v935, v936, v937, v938, 0, v940, v941, v942, v943, v944, v945, v946, 3, 2, 1, 4) -> f_355(v933, v934, v935, v936, v937, v938, 0, v940, v941, v942, v942, v943, v944, v945, v946, 3, 2, 1, 4) :|: TRUE f_359(v7, v9, v1029, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_365(v1, v3, v5, v7, v9, v1029, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_360(v113, v136, v1043, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_366(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_361(v157, v114, v1057, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_367(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_365(v1, v3, v5, v7, v9, v1029, v2, v4, v6, 0, 3, 1, 4) -> f_371(v1, v3, v5, v7, v9, v1029, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_366(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_372(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_367(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_373(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_372(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_376(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_373(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_377(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_376(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_380(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_377(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_381(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_380(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_354(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1043, v125, v127, v129, v131, 3, 2, 4) :|: TRUE f_381(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_355(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1057, v125, v127, v129, v131, 3, 2, 1, 4) :|: TRUE f_382(v7, v9, v1324, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_388(v1, v3, v5, v7, v9, v1324, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_383(v113, v136, v1338, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_389(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_384(v157, v114, v1352, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_390(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_385(v7, v9, v1029, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_359(v7, v9, v1029, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_386(v113, v136, v1043, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_360(v113, v136, v1043, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_387(v157, v114, v1057, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_361(v157, v114, v1057, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_388(v1, v3, v5, v7, v9, v1324, v2, v4, v6, 0, 3, 1, 4) -> f_391(v1, v3, v5, v7, v9, v1324, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_389(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_392(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_390(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_393(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_392(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_394(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_393(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_395(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_394(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_376(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1338, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_395(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_377(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1352, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_396(v7, v9, v1486, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_402(v1, v3, v5, v7, v9, v1486, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_397(v113, v136, v1500, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_403(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_398(v157, v114, v1514, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_404(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_399(v7, v9, v1528, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_405(v1, v3, v5, v7, v9, v1528, v2, v4, v6, 0, 3, 1, 4) :|: 0 = 0 f_400(v113, v136, v1542, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_406(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: 0 = 0 f_401(v157, v114, v1556, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_407(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: 0 = 0 f_402(v1, v3, v5, v7, v9, v1486, v2, v4, v6, 0, 3, 1, 4) -> f_408(v1, v3, v5, v7, v9, v1486, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_403(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_409(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_404(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_410(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_405(v1, v3, v5, v7, v9, v1528, v2, v4, v6, 0, 3, 1, 4) -> f_411(v1, v3, v5, v7, v9, v1528, 0, v2, v4, v6, 3, 1, 4) :|: 0 = 0 f_406(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_412(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_407(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_413(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_409(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_414(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_410(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_415(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_412(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_416(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_413(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_417(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_414(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_376(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1500, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_415(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_377(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1514, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_416(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) -> f_376(v113, v114, v124, v126, v128, v130, 0, v135, v136, v156, 1, v1542, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 4) :|: TRUE f_417(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) -> f_377(v113, v114, v124, v126, v128, v130, 0, v135, v136, v157, v1556, v115, v116, v117, v118, v119, v120, v125, v127, v129, v131, v122, v123, 3, 2, 1, 4) :|: TRUE f_418(v7, v9, v1486, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_396(v7, v9, v1486, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_419(v113, v136, v1500, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_397(v113, v136, v1500, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_420(v157, v114, v1514, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_398(v157, v114, v1514, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE f_421(v7, v9, v1528, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) -> f_399(v7, v9, v1528, v1, v2, v3, v4, v5, v6, 0, 3, 1, 4) :|: TRUE f_422(v113, v136, v1542, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) -> f_400(v113, v136, v1542, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v114, v135, v156, 1, 3, 2, 4) :|: TRUE f_423(v157, v114, v1556, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) -> f_401(v157, v114, v1556, v115, v116, v117, v118, v119, v120, v124, v125, v126, v127, v128, v129, v130, v131, 0, v122, v123, v113, v136, v135, 3, 2, 1, 4) :|: TRUE Combined rules. Obtained 16 rulesP rules: f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, v136:0, v156:0, 1, v1043:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v114:0 > v113:0 && v156:0 < 0 && v136:0 = (v113:0 + v114:0) / 2 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, v136:0, v156:0, 1, v1043:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v114:0 > v113:0 && v156:0 > 0 && v136:0 = (v113:0 + v114:0) / 2 f_145 -> f_411(v1:0, v3:0, v5:0, v7:0, v9:0, v1528:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_266(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 4) :|: v114:0 <= v113:0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_355(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, v136:0, 1 + v136:0, v1057:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 1, 4) :|: v136:0 = (v113:0 + v114:0) / 2 && v114:0 > v113:0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_355(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, v136:0, 1 + v136:0, 1 + v136:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 1, 4) :|: v136:0 = (v113:0 + v114:0) / 2 && v114:0 > v113:0 f_145 -> f_391(v1:0, v3:0, v5:0, v7:0, v9:0, v1324:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_145 -> f_253(v7:0, v9:0, v124:0, v126:0, v128:0, v130:0, v1:0, 3 + v1:0, v3:0, 3 + v3:0, v5:0, 3 + v5:0, 3 + v124:0, 3 + v126:0, 3 + v128:0, 3 + v130:0, 0, v7:0, v9:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v124:0 > 0 && v126:0 > 0 && v128:0 > 0 && v130:0 > 0 f_145 -> f_408(v1:0, v3:0, v5:0, v7:0, v9:0, v1486:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_145 -> f_272(v1:0, v3:0, v5:0, v7:0, v9:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_145 -> f_371(v1:0, v3:0, v5:0, v7:0, v9:0, v1029:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_253(1 + v136:0, v114:0, v124:1, v126:1, v128:1, v130:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 3 + v126:1, 3 + v128:1, 3 + v130:1, 0, v122:0, v123:0, 3, 1, 4) :|: v114:0 > v113:0 && v136:0 = (v113:0 + v114:0) / 2 && v124:1 > 0 && v126:1 > 0 && v128:1 > 0 && v130:1 > 0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_253(v113:0, v136:0, v124:1, v126:1, v128:1, v130:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 3 + v126:1, 3 + v128:1, 3 + v130:1, 0, v122:0, v123:0, 3, 1, 4) :|: v114:0 > v113:0 && v124:1 > 0 && v136:0 = (v113:0 + v114:0) / 2 && v126:1 > 0 && v128:1 > 0 && v130:1 > 0 && v156:0 < 0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_253(v113:0, v136:0, v124:1, v126:1, v128:1, v130:1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, 3 + v124:1, 3 + v126:1, 3 + v128:1, 3 + v130:1, 0, v122:0, v123:0, 3, 1, 4) :|: v114:0 > v113:0 && v124:1 > 0 && v136:0 = (v113:0 + v114:0) / 2 && v126:1 > 0 && v128:1 > 0 && v130:1 > 0 && v156:0 > 0 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, v136:0, v156:0, 1, v113:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v114:0 > v113:0 && v156:0 < 0 && v136:0 = (v113:0 + v114:0) / 2 f_253(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 1, 4) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, v136:0, v156:0, 1, v113:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v114:0 > v113:0 && v156:0 > 0 && v136:0 = (v113:0 + v114:0) / 2 Filtered unneeded arguments: f_253(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_253(x1, x2) Removed division, modulo operations, cleaned up constraints. Obtained 26 rules.P rules: f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 && v156:0 < 0 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v1043:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v1043:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 && v156:0 > 0 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v1043:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 > 0 && v114:0 > v113:0 && v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v1043:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 > 0 && v114:0 > v113:0 && v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 f_145 -> f_411(v1:0, v3:0, v5:0, v7:0, v9:0, v1528:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_253(v113:0, v114:0) -> f_266(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 1, v115:0, v116:0, v117:0, v118:0, v119:0, v120:0, v125:0, v127:0, v129:0, v131:0, 0, v122:0, v123:0, 3, 4) :|: v114:0 <= v113:0 f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 f_253'(v113:0, v114:0) -> f_355(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, 1 + div, v1057:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 1, 4) :|: v114:0 > v113:0 && v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_355(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, 1 + div, v1057:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 1, 4) :|: v114:0 > v113:0 && v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 f_253'(v113:0, v114:0) -> f_355(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, 1 + div, 1 + div, v125:0, v127:0, v129:0, v131:0, 3, 2, 1, 4) :|: v114:0 > v113:0 && v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_355(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, 1 + div, 1 + div, v125:0, v127:0, v129:0, v131:0, 3, 2, 1, 4) :|: v114:0 > v113:0 && v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 f_145 -> f_391(v1:0, v3:0, v5:0, v7:0, v9:0, v1324:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_145 -> f_253(v7:0, v9:0) :|: TRUE f_145 -> f_408(v1:0, v3:0, v5:0, v7:0, v9:0, v1486:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_145 -> f_272(v1:0, v3:0, v5:0, v7:0, v9:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_145 -> f_371(v1:0, v3:0, v5:0, v7:0, v9:0, v1029:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_253'(v113:0, v114:0) -> f_253(1 + div, v114:0) :|: v113:0 + v114:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_253(1 + div, v114:0) :|: v113:0 + v114:0 >= 0 && v114:0 > v113:0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 f_253'(v113:0, v114:0) -> f_253(v113:0, div) :|: v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div > -2 && v113:0 + v114:0 - 2 * div <= 0 && v114:0 > v113:0 f_253'(v113:0, v114:0) -> f_253(v113:0, div) :|: v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div >= 0 && v113:0 + v114:0 - 2 * div < 2 && v114:0 > v113:0 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v113:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v113:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 < 0 && v114:0 > v113:0 && v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v113:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 > 0 && v114:0 > v113:0 && v113:0 + v114:0 < 0 && v113:0 + v114:0 - 2 * div <= 0 && v113:0 + v114:0 - 2 * div > -2 f_253'(v113:0, v114:0) -> f_354(v113:0, v114:0, v124:0, v126:0, v128:0, v130:0, 0, v113:0 + v114:0, div, v156:0, 1, v113:0, v125:0, v127:0, v129:0, v131:0, 3, 2, 4) :|: v156:0 > 0 && v114:0 > v113:0 && v113:0 + v114:0 >= 0 && v113:0 + v114:0 - 2 * div < 2 && v113:0 + v114:0 - 2 * div >= 0 ---------------------------------------- (28) Obligation: Rules: f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 && v156:0 < 0 f_253'(x, x1) -> f_354(x, x1, x2, x3, x4, x5, 0, x + x1, x6, x7, 1, x8, x9, x10, x11, x12, 3, 2, 4) :|: x7 < 0 && x1 > x && x + x1 < 0 && x + x1 - 2 * x6 <= 0 && x + x1 - 2 * x6 > -2 f_253'(x13, x14) -> f_354(x13, x14, x15, x16, x17, x18, 0, x13 + x14, x19, x20, 1, x21, x22, x23, x24, x25, 3, 2, 4) :|: x20 < 0 && x14 > x13 && x13 + x14 >= 0 && x13 + x14 - 2 * x19 < 2 && x13 + x14 - 2 * x19 >= 0 f_253(x26, x27) -> f_253'(x26, x27) :|: x27 > x26 && x28 > 0 f_253'(x29, x30) -> f_354(x29, x30, x31, x32, x33, x34, 0, x29 + x30, x35, x36, 1, x37, x38, x39, x40, x41, 3, 2, 4) :|: x36 > 0 && x30 > x29 && x29 + x30 < 0 && x29 + x30 - 2 * x35 <= 0 && x29 + x30 - 2 * x35 > -2 f_253'(x42, x43) -> f_354(x42, x43, x44, x45, x46, x47, 0, x42 + x43, x48, x49, 1, x50, x51, x52, x53, x54, 3, 2, 4) :|: x49 > 0 && x43 > x42 && x42 + x43 >= 0 && x42 + x43 - 2 * x48 < 2 && x42 + x43 - 2 * x48 >= 0 f_145 -> f_411(v1:0, v3:0, v5:0, v7:0, v9:0, v1528:0, 0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 3, 1, 4) :|: v1:0 > 0 && v5:0 > 0 && v3:0 > 0 f_253(x55, x56) -> f_266(x55, x56, x57, x58, x59, x60, 1, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, 0, x71, x72, 3, 4) :|: x56 <= x55 f_253(x73, x74) -> f_253'(x73, x74) :|: x74 > x73 f_253'(x75, x76) -> f_355(x75, x76, x77, x78, x79, x80, 0, x75 + x76, x81, 1 + x81, x82, x83, x84, x85, x86, 3, 2, 1, 4) :|: x76 > x75 && x75 + x76 < 0 && x75 + x76 - 2 * x81 <= 0 && x75 + x76 - 2 * x81 > -2 f_253'(x87, x88) -> f_355(x87, x88, x89, x90, x91, x92, 0, x87 + x88, x93, 1 + x93, x94, x95, x96, x97, x98, 3, 2, 1, 4) :|: x88 > x87 && x87 + x88 >= 0 && x87 + x88 - 2 * x93 < 2 && x87 + x88 - 2 * x93 >= 0 f_253'(x99, x100) -> f_355(x99, x100, x101, x102, x103, x104, 0, x99 + x100, x105, 1 + x105, 1 + x105, x106, x107, x108, x109, 3, 2, 1, 4) :|: x100 > x99 && x99 + x100 < 0 && x99 + x100 - 2 * x105 <= 0 && x99 + x100 - 2 * x105 > -2 f_253'(x110, x111) -> f_355(x110, x111, x112, x113, x114, x115, 0, x110 + x111, x116, 1 + x116, 1 + x116, x117, x118, x119, x120, 3, 2, 1, 4) :|: x111 > x110 && x110 + x111 >= 0 && x110 + x111 - 2 * x116 < 2 && x110 + x111 - 2 * x116 >= 0 f_145 -> f_391(x121, x122, x123, x124, x125, x126, 0, 3 + x121, 3 + x122, 3 + x123, 3, 1, 4) :|: x121 > 0 && x123 > 0 && x122 > 0 f_145 -> f_253(x127, x128) :|: TRUE f_145 -> f_408(x129, x130, x131, x132, x133, x134, 0, 3 + x129, 3 + x130, 3 + x131, 3, 1, 4) :|: x129 > 0 && x131 > 0 && x130 > 0 f_145 -> f_272(x135, x136, x137, x138, x139, 0, 3 + x135, 3 + x136, 3 + x137, 3, 1, 4) :|: x135 > 0 && x137 > 0 && x136 > 0 f_145 -> f_371(x140, x141, x142, x143, x144, x145, 0, 3 + x140, 3 + x141, 3 + x142, 3, 1, 4) :|: x140 > 0 && x142 > 0 && x141 > 0 f_253'(x146, x147) -> f_253(1 + x148, x147) :|: x146 + x147 < 0 && x147 > x146 && x146 + x147 - 2 * x148 <= 0 && x146 + x147 - 2 * x148 > -2 f_253'(x149, x150) -> f_253(1 + x151, x150) :|: x149 + x150 >= 0 && x150 > x149 && x149 + x150 - 2 * x151 < 2 && x149 + x150 - 2 * x151 >= 0 f_253'(x152, x153) -> f_253(x152, x154) :|: x152 + x153 < 0 && x152 + x153 - 2 * x154 > -2 && x152 + x153 - 2 * x154 <= 0 && x153 > x152 f_253'(x155, x156) -> f_253(x155, x157) :|: x155 + x156 >= 0 && x155 + x156 - 2 * x157 >= 0 && x155 + x156 - 2 * x157 < 2 && x156 > x155 f_253'(x158, x159) -> f_354(x158, x159, x160, x161, x162, x163, 0, x158 + x159, x164, x165, 1, x158, x166, x167, x168, x169, 3, 2, 4) :|: x165 < 0 && x159 > x158 && x158 + x159 < 0 && x158 + x159 - 2 * x164 <= 0 && x158 + x159 - 2 * x164 > -2 f_253'(x170, x171) -> f_354(x170, x171, x172, x173, x174, x175, 0, x170 + x171, x176, x177, 1, x170, x178, x179, x180, x181, 3, 2, 4) :|: x177 < 0 && x171 > x170 && x170 + x171 >= 0 && x170 + x171 - 2 * x176 < 2 && x170 + x171 - 2 * x176 >= 0 f_253'(x182, x183) -> f_354(x182, x183, x184, x185, x186, x187, 0, x182 + x183, x188, x189, 1, x182, x190, x191, x192, x193, 3, 2, 4) :|: x189 > 0 && x183 > x182 && x182 + x183 < 0 && x182 + x183 - 2 * x188 <= 0 && x182 + x183 - 2 * x188 > -2 f_253'(x194, x195) -> f_354(x194, x195, x196, x197, x198, x199, 0, x194 + x195, x200, x201, 1, x194, x202, x203, x204, x205, 3, 2, 4) :|: x201 > 0 && x195 > x194 && x194 + x195 >= 0 && x194 + x195 - 2 * x200 < 2 && x194 + x195 - 2 * x200 >= 0 Start term: f_145 ---------------------------------------- (29) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_253_22,1) (f_253'_22,2) (f_354_22,3) (f_145_22,4) (f_411_22,5) (f_266_22,6) (f_355_22,7) (f_391_22,8) (f_408_22,9) (f_272_22,10) (f_371_22,11) ---------------------------------------- (30) Obligation: START: 4; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX1 > oldX0 && oldX42 < 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := oldX26; x7 := oldX27; x8 := oldX28; x9 := oldX29; x10 := oldX30; x11 := oldX31; x12 := oldX32; x13 := oldX33; x14 := oldX34; x15 := oldX35; x16 := oldX36; x17 := oldX37; x18 := oldX38; x19 := oldX39; x20 := oldX40; x21 := oldX41; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX28; x12 := oldX29; x13 := oldX30; x14 := oldX31; x15 := oldX32; x16 := 3; x17 := 2; x18 := 4; x19 := oldX33; x20 := oldX34; x21 := oldX35; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX28; x12 := oldX29; x13 := oldX30; x14 := oldX31; x15 := oldX32; x16 := 3; x17 := 2; x18 := 4; x19 := oldX33; x20 := oldX34; x21 := oldX35; TO: 3; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX1 > oldX0 && oldX42 > 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := oldX26; x7 := oldX27; x8 := oldX28; x9 := oldX29; x10 := oldX30; x11 := oldX31; x12 := oldX32; x13 := oldX33; x14 := oldX34; x15 := oldX35; x16 := oldX36; x17 := oldX37; x18 := oldX38; x19 := oldX39; x20 := oldX40; x21 := oldX41; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX28; x12 := oldX29; x13 := oldX30; x14 := oldX31; x15 := oldX32; x16 := 3; x17 := 2; x18 := 4; x19 := oldX33; x20 := oldX34; x21 := oldX35; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX28; x12 := oldX29; x13 := oldX30; x14 := oldX31; x15 := oldX32; x16 := 3; x17 := 2; x18 := 4; x19 := oldX33; x20 := oldX34; x21 := oldX35; TO: 3; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); x0 := oldX22; x1 := oldX23; x2 := oldX24; x3 := oldX25; x4 := oldX26; x5 := oldX27; x6 := 0; x7 := 3 + oldX22; x8 := 3 + oldX23; x9 := 3 + oldX24; x10 := 3; x11 := 1; x12 := 4; x13 := oldX28; x14 := oldX29; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; TO: 5; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); assume(oldX1 <= oldX0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 1; x7 := oldX26; x8 := oldX27; x9 := oldX28; x10 := oldX29; x11 := oldX30; x12 := oldX31; x13 := oldX32; x14 := oldX33; x15 := oldX34; x16 := oldX35; x17 := 0; x18 := oldX36; x19 := oldX37; x20 := 3; x21 := 4; TO: 6; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); assume(oldX1 > oldX0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := oldX26; x7 := oldX27; x8 := oldX28; x9 := oldX29; x10 := oldX30; x11 := oldX31; x12 := oldX32; x13 := oldX33; x14 := oldX34; x15 := oldX35; x16 := oldX36; x17 := oldX37; x18 := oldX38; x19 := oldX39; x20 := oldX40; x21 := oldX41; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := 1 + oldX26; x10 := oldX27; x11 := oldX28; x12 := oldX29; x13 := oldX30; x14 := oldX31; x15 := 3; x16 := 2; x17 := 1; x18 := 4; x19 := oldX32; x20 := oldX33; x21 := oldX34; TO: 7; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := 1 + oldX26; x10 := oldX27; x11 := oldX28; x12 := oldX29; x13 := oldX30; x14 := oldX31; x15 := 3; x16 := 2; x17 := 1; x18 := 4; x19 := oldX32; x20 := oldX33; x21 := oldX34; TO: 7; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); assume(oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := 1 + oldX26; x10 := 1 + oldX26; x11 := oldX27; x12 := oldX28; x13 := oldX29; x14 := oldX30; x15 := 3; x16 := 2; x17 := 1; x18 := 4; x19 := oldX31; x20 := oldX32; x21 := oldX33; TO: 7; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); assume(oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := 1 + oldX26; x10 := 1 + oldX26; x11 := oldX27; x12 := oldX28; x13 := oldX29; x14 := oldX30; x15 := 3; x16 := 2; x17 := 1; x18 := 4; x19 := oldX31; x20 := oldX32; x21 := oldX33; TO: 7; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); x0 := oldX22; x1 := oldX23; x2 := oldX24; x3 := oldX25; x4 := oldX26; x5 := oldX27; x6 := 0; x7 := 3 + oldX22; x8 := 3 + oldX23; x9 := 3 + oldX24; x10 := 3; x11 := 1; x12 := 4; x13 := oldX28; x14 := oldX29; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; TO: 8; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); oldX43 := nondet(); assume(0 = 0); x0 := oldX22; x1 := oldX23; x2 := oldX24; x3 := oldX25; x4 := oldX26; x5 := oldX27; x6 := oldX28; x7 := oldX29; x8 := oldX30; x9 := oldX31; x10 := oldX32; x11 := oldX33; x12 := oldX34; x13 := oldX35; x14 := oldX36; x15 := oldX37; x16 := oldX38; x17 := oldX39; x18 := oldX40; x19 := oldX41; x20 := oldX42; x21 := oldX43; TO: 1; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); x0 := oldX22; x1 := oldX23; x2 := oldX24; x3 := oldX25; x4 := oldX26; x5 := oldX27; x6 := 0; x7 := 3 + oldX22; x8 := 3 + oldX23; x9 := 3 + oldX24; x10 := 3; x11 := 1; x12 := 4; x13 := oldX28; x14 := oldX29; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; TO: 9; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); x0 := oldX22; x1 := oldX23; x2 := oldX24; x3 := oldX25; x4 := oldX26; x5 := 0; x6 := 3 + oldX22; x7 := 3 + oldX23; x8 := 3 + oldX24; x9 := 3; x10 := 1; x11 := 4; x12 := oldX27; x13 := oldX28; x14 := oldX29; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; TO: 10; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); x0 := oldX22; x1 := oldX23; x2 := oldX24; x3 := oldX25; x4 := oldX26; x5 := oldX27; x6 := 0; x7 := 3 + oldX22; x8 := 3 + oldX23; x9 := 3 + oldX24; x10 := 3; x11 := 1; x12 := 4; x13 := oldX28; x14 := oldX29; x15 := oldX30; x16 := oldX31; x17 := oldX32; x18 := oldX33; x19 := oldX34; x20 := oldX35; x21 := oldX36; TO: 11; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX0 + oldX1 < 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX22 <= 0 && oldX0 + oldX1 - 2 * oldX22 > -2); x0 := 1 + oldX22; x1 := oldX1; x2 := oldX23; x3 := oldX24; x4 := oldX25; x5 := oldX26; x6 := oldX27; x7 := oldX28; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX0 + oldX1 >= 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX22 < 2 && oldX0 + oldX1 - 2 * oldX22 >= 0); x0 := 1 + oldX22; x1 := oldX1; x2 := oldX23; x3 := oldX24; x4 := oldX25; x5 := oldX26; x6 := oldX27; x7 := oldX28; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX22 > -2 && oldX0 + oldX1 - 2 * oldX22 <= 0 && oldX1 > oldX0); x0 := oldX0; x1 := oldX22; x2 := oldX23; x3 := oldX24; x4 := oldX25; x5 := oldX26; x6 := oldX27; x7 := oldX28; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); oldX35 := nondet(); oldX36 := nondet(); oldX37 := nondet(); oldX38 := nondet(); oldX39 := nondet(); oldX40 := nondet(); oldX41 := nondet(); oldX42 := nondet(); assume(oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX22 >= 0 && oldX0 + oldX1 - 2 * oldX22 < 2 && oldX1 > oldX0); x0 := oldX0; x1 := oldX22; x2 := oldX23; x3 := oldX24; x4 := oldX25; x5 := oldX26; x6 := oldX27; x7 := oldX28; x8 := oldX29; x9 := oldX30; x10 := oldX31; x11 := oldX32; x12 := oldX33; x13 := oldX34; x14 := oldX35; x15 := oldX36; x16 := oldX37; x17 := oldX38; x18 := oldX39; x19 := oldX40; x20 := oldX41; x21 := oldX42; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX0; x12 := oldX28; x13 := oldX29; x14 := oldX30; x15 := oldX31; x16 := 3; x17 := 2; x18 := 4; x19 := oldX32; x20 := oldX33; x21 := oldX34; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX0; x12 := oldX28; x13 := oldX29; x14 := oldX30; x15 := oldX31; x16 := 3; x17 := 2; x18 := 4; x19 := oldX32; x20 := oldX33; x21 := oldX34; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX0; x12 := oldX28; x13 := oldX29; x14 := oldX30; x15 := oldX31; x16 := 3; x17 := 2; x18 := 4; x19 := oldX32; x20 := oldX33; x21 := oldX34; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := x16; oldX17 := x17; oldX18 := x18; oldX19 := x19; oldX20 := x20; oldX21 := x21; oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); oldX31 := nondet(); oldX32 := nondet(); oldX33 := nondet(); oldX34 := nondet(); assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); x0 := oldX0; x1 := oldX1; x2 := oldX22; x3 := oldX23; x4 := oldX24; x5 := oldX25; x6 := 0; x7 := oldX0 + oldX1; x8 := oldX26; x9 := oldX27; x10 := 1; x11 := oldX0; x12 := oldX28; x13 := oldX29; x14 := oldX30; x15 := oldX31; x16 := 3; x17 := 2; x18 := 4; x19 := oldX32; x20 := oldX33; x21 := oldX34; TO: 3; ---------------------------------------- (31) T2 (COMPLETE) Found this recurrent set for cutpoint 14: oldX22 == 0 and oldX23 == 0 and oldX42 == 0 and x0 == -1 and x1 == 0 ---------------------------------------- (32) NO