37.61/15.25 MAYBE 37.61/15.27 proof of /export/starexec/sandbox2/benchmark/theBenchmark.c 37.61/15.27 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 37.61/15.27 37.61/15.27 37.61/15.27 Termination of the given C Problem could not be shown: 37.61/15.27 37.61/15.27 (0) C Problem 37.61/15.27 (1) CToLLVMProof [EQUIVALENT, 174 ms] 37.61/15.27 (2) LLVM problem 37.61/15.27 (3) LLVMToTerminationGraphProof [EQUIVALENT, 6002 ms] 37.61/15.27 (4) LLVM Symbolic Execution Graph 37.61/15.27 (5) SymbolicExecutionGraphToLassoProof [EQUIVALENT, 0 ms] 37.61/15.27 (6) LLVM Symbolic Execution Lasso 37.61/15.27 (7) Lasso2IRS [SOUND, 126 ms] 37.61/15.27 (8) IntTRS 37.61/15.27 (9) IRS2T2 [EQUIVALENT, 0 ms] 37.61/15.27 (10) T2IntSys 37.61/15.27 (11) T2 [COMPLETE, 1803 ms] 37.61/15.27 (12) NO 37.61/15.27 (13) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 37.61/15.27 (14) LLVM Symbolic Execution SCC 37.61/15.27 (15) SCC2IRS [SOUND, 125 ms] 37.61/15.27 (16) IntTRS 37.61/15.27 (17) IRS2T2 [EQUIVALENT, 0 ms] 37.61/15.27 (18) T2IntSys 37.61/15.27 (19) T2 [COMPLETE, 1445 ms] 37.61/15.27 (20) NO 37.61/15.27 (21) SCC2IRS [SOUND, 8 ms] 37.61/15.27 (22) IntTRS 37.61/15.27 (23) IntTRSCompressionProof [EQUIVALENT, 0 ms] 37.61/15.27 (24) IntTRS 37.61/15.27 (25) IntTRSPeriodicNontermProof [COMPLETE, 73 ms] 37.61/15.27 (26) NO 37.61/15.27 (27) SEGraph to IRS [SOUND, 371 ms] 37.61/15.27 (28) IntTRS 37.61/15.27 (29) IRS2T2 [EQUIVALENT, 9 ms] 37.61/15.27 (30) T2IntSys 37.61/15.27 (31) T2 [COMPLETE, 4531 ms] 37.61/15.27 (32) NO 37.61/15.27 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (0) 37.61/15.27 Obligation: 37.61/15.27 c file /export/starexec/sandbox2/benchmark/theBenchmark.c 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (1) CToLLVMProof (EQUIVALENT) 37.61/15.27 Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (2) 37.61/15.27 Obligation: 37.61/15.27 LLVM Problem 37.61/15.27 37.61/15.27 Aliases: 37.61/15.27 37.61/15.27 Data layout: 37.61/15.27 37.61/15.27 "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" 37.61/15.27 37.61/15.27 Machine: 37.61/15.27 37.61/15.27 "x86_64-pc-linux-gnu" 37.61/15.27 37.61/15.27 Type definitions: 37.61/15.27 37.61/15.27 Global variables: 37.61/15.27 37.61/15.27 Function declarations and definitions: 37.61/15.27 37.61/15.27 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc 37.61/15.27 *BasicFunctionTypename: "bsearch" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (i i32, j i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 37.61/15.27 0: 37.61/15.27 %1 = alloca i32, align 4 37.61/15.27 %2 = alloca i32, align 4 37.61/15.27 %3 = alloca i32, align 4 37.61/15.27 %mid = alloca i32, align 4 37.61/15.27 store %i, %2 37.61/15.27 store %j, %3 37.61/15.27 %4 = load %2 37.61/15.27 %5 = load %3 37.61/15.27 %6 = icmp sge %4 %5 37.61/15.27 br %6, %7, %9 37.61/15.27 7: 37.61/15.27 %8 = load %2 37.61/15.27 store %8, %1 37.61/15.27 br %25 37.61/15.27 9: 37.61/15.27 %10 = load %2 37.61/15.27 %11 = load %3 37.61/15.27 %12 = add %10 %11 37.61/15.27 %13 = sdiv %12 2 37.61/15.27 store %13, %mid 37.61/15.27 %14 = call i32 (...)* @__VERIFIER_nondet_int() 37.61/15.27 %15 = icmp ne %14 0 37.61/15.27 br %15, %16, %20 37.61/15.27 16: 37.61/15.27 %17 = load %2 37.61/15.27 %18 = load %mid 37.61/15.27 %19 = call i32 @bsearch(i32 %17, i32 %18) 37.61/15.27 store %19, %1 37.61/15.27 br %25 37.61/15.27 20: 37.61/15.27 %21 = load %mid 37.61/15.27 %22 = add %21 1 37.61/15.27 %23 = load %3 37.61/15.27 %24 = call i32 @bsearch(i32 %22, i32 %23) 37.61/15.27 store %24, %1 37.61/15.27 br %25 37.61/15.27 25: 37.61/15.27 %26 = load %1 37.61/15.27 ret %26 37.61/15.27 37.61/15.27 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 37.61/15.27 0: 37.61/15.27 %1 = alloca i32, align 4 37.61/15.27 %x = alloca i32, align 4 37.61/15.27 %y = alloca i32, align 4 37.61/15.27 store 0, %1 37.61/15.27 %2 = call i32 (...)* @__VERIFIER_nondet_int() 37.61/15.27 store %2, %x 37.61/15.27 %3 = call i32 (...)* @__VERIFIER_nondet_int() 37.61/15.27 store %3, %y 37.61/15.27 %4 = load %x 37.61/15.27 %5 = load %y 37.61/15.27 %6 = call i32 @bsearch(i32 %4, i32 %5) 37.61/15.27 %7 = load %1 37.61/15.27 ret %7 37.61/15.27 37.61/15.27 37.61/15.27 Analyze Termination of all function calls matching the pattern: 37.61/15.27 main() 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (3) LLVMToTerminationGraphProof (EQUIVALENT) 37.61/15.27 Constructed symbolic execution graph for LLVM program and proved memory safety. 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (4) 37.61/15.27 Obligation: 37.61/15.27 SE Graph 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (5) SymbolicExecutionGraphToLassoProof (EQUIVALENT) 37.61/15.27 Converted SEGraph to 1 independent lasso. 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (6) 37.61/15.27 Obligation: 37.61/15.27 Lasso 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (7) Lasso2IRS (SOUND) 37.61/15.27 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 37.61/15.27 Generated rules. Obtained 48 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_145 -> f_146(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 37.61/15.27 f_146(v1, v2, 3, 1, 4) -> f_147(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 37.61/15.27 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 37.61/15.27 f_148(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_149(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Combined rules. Obtained 4 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Filtered unneeded arguments: 37.61/15.27 f_246(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x1, x2) 37.61/15.27 Removed division, modulo operations, cleaned up constraints. Obtained 6 rules.P rules: 37.61/15.27 f_145 -> f_246(v7:0, v9:0) :|: TRUE 37.61/15.27 f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (8) 37.61/15.27 Obligation: 37.61/15.27 Rules: 37.61/15.27 f_145 -> f_246(v7:0, v9:0) :|: TRUE 37.61/15.27 f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 37.61/15.27 f_246'(x, x1) -> f_246(x, x2) :|: x + x1 < 0 && x + x1 - 2 * x2 > -2 && x + x1 - 2 * x2 <= 0 && x1 > x 37.61/15.27 f_246'(x3, x4) -> f_246(x3, x5) :|: x3 + x4 >= 0 && x3 + x4 - 2 * x5 >= 0 && x3 + x4 - 2 * x5 < 2 && x4 > x3 37.61/15.27 f_246'(x6, x7) -> f_246(1 + x8, x7) :|: x6 + x7 < 0 && x7 > x6 && x6 + x7 - 2 * x8 <= 0 && x6 + x7 - 2 * x8 > -2 37.61/15.27 f_246'(x9, x10) -> f_246(1 + x11, x10) :|: x9 + x10 >= 0 && x10 > x9 && x9 + x10 - 2 * x11 < 2 && x9 + x10 - 2 * x11 >= 0 37.61/15.27 Start term: f_145 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (9) IRS2T2 (EQUIVALENT) 37.61/15.27 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 37.61/15.27 37.61/15.27 (f_145_2,1) 37.61/15.27 (f_246_2,2) 37.61/15.27 (f_246'_2,3) 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (10) 37.61/15.27 Obligation: 37.61/15.27 START: 1; 37.61/15.27 37.61/15.27 FROM: 1; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 oldX3 := nondet(); 37.61/15.27 assume(0 = 0); 37.61/15.27 x0 := oldX2; 37.61/15.27 x1 := oldX3; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 FROM: 2; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 assume(oldX1 > oldX0); 37.61/15.27 x0 := oldX0; 37.61/15.27 x1 := oldX1; 37.61/15.27 TO: 3; 37.61/15.27 37.61/15.27 FROM: 3; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX2 > -2 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX1 > oldX0); 37.61/15.27 x0 := oldX0; 37.61/15.27 x1 := oldX2; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 FROM: 3; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX2 >= 0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX1 > oldX0); 37.61/15.27 x0 := oldX0; 37.61/15.27 x1 := oldX2; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 FROM: 3; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 < 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX0 + oldX1 - 2 * oldX2 > -2); 37.61/15.27 x0 := 1 + oldX2; 37.61/15.27 x1 := oldX1; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 FROM: 3; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 >= 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX0 + oldX1 - 2 * oldX2 >= 0); 37.61/15.27 x0 := 1 + oldX2; 37.61/15.27 x1 := oldX1; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (11) T2 (COMPLETE) 37.61/15.27 Found this recurrent set for cutpoint 6: oldX2 == 0 and oldX3 == 0 and x0 == -1 and x1 == 0 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (12) 37.61/15.27 NO 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (13) SymbolicExecutionGraphToSCCProof (SOUND) 37.61/15.27 Splitted symbolic execution graph to 1 SCC. 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (14) 37.61/15.27 Obligation: 37.61/15.27 SCC 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (15) SCC2IRS (SOUND) 37.61/15.27 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 37.61/15.27 Generated rules. Obtained 34 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Combined rules. Obtained 3 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Filtered unneeded arguments: 37.61/15.27 f_246(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x1, x2) 37.61/15.27 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 37.61/15.27 f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (16) 37.61/15.27 Obligation: 37.61/15.27 Rules: 37.61/15.27 f_246(v113:0, v114:0) -> f_246'(v113:0, v114:0) :|: v114:0 > v113:0 37.61/15.27 f_246'(x, x1) -> f_246(x, x2) :|: x + x1 < 0 && x + x1 - 2 * x2 > -2 && x + x1 - 2 * x2 <= 0 && x1 > x 37.61/15.27 f_246'(x3, x4) -> f_246(x3, x5) :|: x3 + x4 >= 0 && x3 + x4 - 2 * x5 >= 0 && x3 + x4 - 2 * x5 < 2 && x4 > x3 37.61/15.27 f_246'(x6, x7) -> f_246(1 + x8, x7) :|: x6 + x7 < 0 && x7 > x6 && x6 + x7 - 2 * x8 <= 0 && x6 + x7 - 2 * x8 > -2 37.61/15.27 f_246'(x9, x10) -> f_246(1 + x11, x10) :|: x9 + x10 >= 0 && x10 > x9 && x9 + x10 - 2 * x11 < 2 && x9 + x10 - 2 * x11 >= 0 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (17) IRS2T2 (EQUIVALENT) 37.61/15.27 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 37.61/15.27 37.61/15.27 (f_246_2,1) 37.61/15.27 (f_246'_2,2) 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (18) 37.61/15.27 Obligation: 37.61/15.27 START: 0; 37.61/15.27 37.61/15.27 FROM: 0; 37.61/15.27 TO: 1; 37.61/15.27 37.61/15.27 FROM: 0; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 FROM: 1; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 assume(oldX1 > oldX0); 37.61/15.27 x0 := oldX0; 37.61/15.27 x1 := oldX1; 37.61/15.27 TO: 2; 37.61/15.27 37.61/15.27 FROM: 2; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX2 > -2 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX1 > oldX0); 37.61/15.27 x0 := oldX0; 37.61/15.27 x1 := oldX2; 37.61/15.27 TO: 1; 37.61/15.27 37.61/15.27 FROM: 2; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX2 >= 0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX1 > oldX0); 37.61/15.27 x0 := oldX0; 37.61/15.27 x1 := oldX2; 37.61/15.27 TO: 1; 37.61/15.27 37.61/15.27 FROM: 2; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 < 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 <= 0 && oldX0 + oldX1 - 2 * oldX2 > -2); 37.61/15.27 x0 := 1 + oldX2; 37.61/15.27 x1 := oldX1; 37.61/15.27 TO: 1; 37.61/15.27 37.61/15.27 FROM: 2; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := nondet(); 37.61/15.27 assume(oldX0 + oldX1 >= 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX2 < 2 && oldX0 + oldX1 - 2 * oldX2 >= 0); 37.61/15.27 x0 := 1 + oldX2; 37.61/15.27 x1 := oldX1; 37.61/15.27 TO: 1; 37.61/15.27 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (19) T2 (COMPLETE) 37.61/15.27 Found this recurrent set for cutpoint 7: oldX2 == 0 and x0 == -1 and x1 == 0 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (20) 37.61/15.27 NO 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (21) SCC2IRS (SOUND) 37.61/15.27 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 37.61/15.27 Generated rules. Obtained 34 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Combined rules. Obtained 3 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Filtered unneeded arguments: 37.61/15.27 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) 37.61/15.27 Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (22) 37.61/15.27 Obligation: 37.61/15.27 Rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (23) IntTRSCompressionProof (EQUIVALENT) 37.61/15.27 Compressed rules. 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (24) 37.61/15.27 Obligation: 37.61/15.27 Rules: 37.61/15.27 f_246(v113:0:0, v114:0:0, v115:0:0, v116:0:0, v117:0:0, v118:0:0, v119:0:0, v120:0:0) -> f_246(1 + x26:0, v114:0:0, v115:0:0, v116:0:0, v117:0:0, v118:0:0, v119:0:0, v120:0:0) :|: v113:0:0 + v114:0:0 - 2 * x26:0 > -2 && v113:0:0 + v114:0:0 - 2 * x26:0 <= 0 && v120:0:0 >= v119:0:0 && v113:0:0 + v114:0:0 < 0 && v118:0:0 >= v117:0:0 && v116:0:0 >= v115:0:0 && v120:0:0 > 3 && v119:0:0 > 0 && v118:0:0 > 3 && v117:0:0 > 0 && v115:0:0 > 0 && v116:0:0 > 3 && v114:0:0 > v113:0:0 37.61/15.27 f_246(x, x1, x2, x3, x4, x5, x6, x7) -> f_246(1 + x8, x1, x2, x3, x4, x5, x6, x7) :|: x + x1 - 2 * x8 >= 0 && x + x1 - 2 * x8 < 2 && x7 >= x6 && x + x1 >= 0 && x5 >= x4 && x3 >= x2 && x7 > 3 && x6 > 0 && x5 > 3 && x4 > 0 && x2 > 0 && x3 > 3 && x1 > x 37.61/15.27 f_246(x9, x10, x11, x12, x13, x14, x15, x16) -> f_246(x9, x17, x11, x12, x13, x14, x15, x16) :|: x16 >= x15 && x9 + x10 - 2 * x17 < 2 && x9 + x10 - 2 * x17 >= 0 && x14 >= x13 && x9 + x10 >= 0 && x12 >= x11 && x16 > 3 && x15 > 0 && x14 > 3 && x13 > 0 && x11 > 0 && x12 > 3 && x10 > x9 37.61/15.27 f_246(x18, x19, x20, x21, x22, x23, x24, x25) -> f_246(x18, x26, x20, x21, x22, x23, x24, x25) :|: x25 >= x24 && x18 + x19 - 2 * x26 <= 0 && x18 + x19 - 2 * x26 > -2 && x23 >= x22 && x18 + x19 < 0 && x21 >= x20 && x25 > 3 && x24 > 0 && x23 > 3 && x22 > 0 && x20 > 0 && x21 > 3 && x19 > x18 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (25) IntTRSPeriodicNontermProof (COMPLETE) 37.61/15.27 Normalized system to the following form: 37.61/15.27 f(pc, v113:0:0, v114:0:0, v115:0:0, v116:0:0, v117:0:0, v118:0:0, v119:0:0, v120:0:0) -> f(1, 1 + x26:0, v114:0:0, v115:0:0, v116:0:0, v117:0:0, v118:0:0, v119:0:0, v120:0:0) :|: pc = 1 && (v113:0:0 + v114:0:0 - 2 * x26:0 > -2 && v113:0:0 + v114:0:0 - 2 * x26:0 <= 0 && v120:0:0 >= v119:0:0 && v113:0:0 + v114:0:0 < 0 && v118:0:0 >= v117:0:0 && v116:0:0 >= v115:0:0 && v120:0:0 > 3 && v119:0:0 > 0 && v118:0:0 > 3 && v117:0:0 > 0 && v115:0:0 > 0 && v116:0:0 > 3 && v114:0:0 > v113:0:0) 37.61/15.27 f(pc, x, x1, x2, x3, x4, x5, x6, x7) -> f(1, 1 + x8, x1, x2, x3, x4, x5, x6, x7) :|: pc = 1 && (x + x1 - 2 * x8 >= 0 && x + x1 - 2 * x8 < 2 && x7 >= x6 && x + x1 >= 0 && x5 >= x4 && x3 >= x2 && x7 > 3 && x6 > 0 && x5 > 3 && x4 > 0 && x2 > 0 && x3 > 3 && x1 > x) 37.61/15.27 f(pc, x9, x10, x11, x12, x13, x14, x15, x16) -> f(1, x9, x17, x11, x12, x13, x14, x15, x16) :|: pc = 1 && (x16 >= x15 && x9 + x10 - 2 * x17 < 2 && x9 + x10 - 2 * x17 >= 0 && x14 >= x13 && x9 + x10 >= 0 && x12 >= x11 && x16 > 3 && x15 > 0 && x14 > 3 && x13 > 0 && x11 > 0 && x12 > 3 && x10 > x9) 37.61/15.27 f(pc, x18, x19, x20, x21, x22, x23, x24, x25) -> f(1, x18, x26, x20, x21, x22, x23, x24, x25) :|: pc = 1 && (x25 >= x24 && x18 + x19 - 2 * x26 <= 0 && x18 + x19 - 2 * x26 > -2 && x23 >= x22 && x18 + x19 < 0 && x21 >= x20 && x25 > 3 && x24 > 0 && x23 > 3 && x22 > 0 && x20 > 0 && x21 > 3 && x19 > x18) 37.61/15.27 Witness term starting non-terminating reduction: f(1, -7, -6, 1, 4, 1, 4, 2, 4) 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (26) 37.61/15.27 NO 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (27) SEGraph to IRS (SOUND) 37.61/15.27 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 37.61/15.27 Generated rules. Obtained 146 rulesP rules: 37.61/15.27 f_145 -> f_146(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 37.61/15.27 f_146(v1, v2, 3, 1, 4) -> f_147(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 37.61/15.27 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 37.61/15.27 f_148(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_149(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Combined rules. Obtained 16 rulesP rules: 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Filtered unneeded arguments: 37.61/15.27 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) 37.61/15.27 Removed division, modulo operations, cleaned up constraints. Obtained 26 rules.P rules: 37.61/15.27 f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 && v156:0 < 0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 && v156:0 > 0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_145 -> f_253(v7:0, v9:0) :|: TRUE 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (28) 37.61/15.27 Obligation: 37.61/15.27 Rules: 37.61/15.27 f_253(v113:0, v114:0) -> f_253'(v113:0, v114:0) :|: v114:0 > v113:0 && v156:0 < 0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_253(x26, x27) -> f_253'(x26, x27) :|: x27 > x26 && x28 > 0 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_253(x73, x74) -> f_253'(x73, x74) :|: x74 > x73 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_145 -> f_253(x127, x128) :|: TRUE 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 f_253'(x146, x147) -> f_253(1 + x148, x147) :|: x146 + x147 < 0 && x147 > x146 && x146 + x147 - 2 * x148 <= 0 && x146 + x147 - 2 * x148 > -2 37.61/15.27 f_253'(x149, x150) -> f_253(1 + x151, x150) :|: x149 + x150 >= 0 && x150 > x149 && x149 + x150 - 2 * x151 < 2 && x149 + x150 - 2 * x151 >= 0 37.61/15.27 f_253'(x152, x153) -> f_253(x152, x154) :|: x152 + x153 < 0 && x152 + x153 - 2 * x154 > -2 && x152 + x153 - 2 * x154 <= 0 && x153 > x152 37.61/15.27 f_253'(x155, x156) -> f_253(x155, x157) :|: x155 + x156 >= 0 && x155 + x156 - 2 * x157 >= 0 && x155 + x156 - 2 * x157 < 2 && x156 > x155 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 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 37.61/15.27 Start term: f_145 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (29) IRS2T2 (EQUIVALENT) 37.61/15.27 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 37.61/15.27 37.61/15.27 (f_253_22,1) 37.61/15.27 (f_253'_22,2) 37.61/15.27 (f_354_22,3) 37.61/15.27 (f_145_22,4) 37.61/15.27 (f_411_22,5) 37.61/15.27 (f_266_22,6) 37.61/15.27 (f_355_22,7) 37.61/15.27 (f_391_22,8) 37.61/15.27 (f_408_22,9) 37.61/15.27 (f_272_22,10) 37.61/15.27 (f_371_22,11) 37.61/15.27 37.61/15.27 ---------------------------------------- 37.61/15.27 37.61/15.27 (30) 37.61/15.27 Obligation: 37.61/15.27 START: 4; 37.61/15.27 37.61/15.27 FROM: 1; 37.61/15.27 oldX0 := x0; 37.61/15.27 oldX1 := x1; 37.61/15.27 oldX2 := x2; 37.61/15.27 oldX3 := x3; 37.61/15.27 oldX4 := x4; 37.61/15.27 oldX5 := x5; 37.61/15.27 oldX6 := x6; 37.61/15.27 oldX7 := x7; 37.61/15.27 oldX8 := x8; 37.61/15.27 oldX9 := x9; 37.61/15.27 oldX10 := x10; 37.61/15.27 oldX11 := x11; 37.61/15.27 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 assume(oldX1 > oldX0 && oldX42 < 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := oldX26; 37.61/15.28 x7 := oldX27; 37.61/15.28 x8 := oldX28; 37.61/15.28 x9 := oldX29; 37.61/15.28 x10 := oldX30; 37.61/15.28 x11 := oldX31; 37.61/15.28 x12 := oldX32; 37.61/15.28 x13 := oldX33; 37.61/15.28 x14 := oldX34; 37.61/15.28 x15 := oldX35; 37.61/15.28 x16 := oldX36; 37.61/15.28 x17 := oldX37; 37.61/15.28 x18 := oldX38; 37.61/15.28 x19 := oldX39; 37.61/15.28 x20 := oldX40; 37.61/15.28 x21 := oldX41; 37.61/15.28 TO: 2; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX28; 37.61/15.28 x12 := oldX29; 37.61/15.28 x13 := oldX30; 37.61/15.28 x14 := oldX31; 37.61/15.28 x15 := oldX32; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX33; 37.61/15.28 x20 := oldX34; 37.61/15.28 x21 := oldX35; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX28; 37.61/15.28 x12 := oldX29; 37.61/15.28 x13 := oldX30; 37.61/15.28 x14 := oldX31; 37.61/15.28 x15 := oldX32; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX33; 37.61/15.28 x20 := oldX34; 37.61/15.28 x21 := oldX35; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 1; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 assume(oldX1 > oldX0 && oldX42 > 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := oldX26; 37.61/15.28 x7 := oldX27; 37.61/15.28 x8 := oldX28; 37.61/15.28 x9 := oldX29; 37.61/15.28 x10 := oldX30; 37.61/15.28 x11 := oldX31; 37.61/15.28 x12 := oldX32; 37.61/15.28 x13 := oldX33; 37.61/15.28 x14 := oldX34; 37.61/15.28 x15 := oldX35; 37.61/15.28 x16 := oldX36; 37.61/15.28 x17 := oldX37; 37.61/15.28 x18 := oldX38; 37.61/15.28 x19 := oldX39; 37.61/15.28 x20 := oldX40; 37.61/15.28 x21 := oldX41; 37.61/15.28 TO: 2; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX28; 37.61/15.28 x12 := oldX29; 37.61/15.28 x13 := oldX30; 37.61/15.28 x14 := oldX31; 37.61/15.28 x15 := oldX32; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX33; 37.61/15.28 x20 := oldX34; 37.61/15.28 x21 := oldX35; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX28; 37.61/15.28 x12 := oldX29; 37.61/15.28 x13 := oldX30; 37.61/15.28 x14 := oldX31; 37.61/15.28 x15 := oldX32; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX33; 37.61/15.28 x20 := oldX34; 37.61/15.28 x21 := oldX35; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 4; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); 37.61/15.28 x0 := oldX22; 37.61/15.28 x1 := oldX23; 37.61/15.28 x2 := oldX24; 37.61/15.28 x3 := oldX25; 37.61/15.28 x4 := oldX26; 37.61/15.28 x5 := oldX27; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := 3 + oldX22; 37.61/15.28 x8 := 3 + oldX23; 37.61/15.28 x9 := 3 + oldX24; 37.61/15.28 x10 := 3; 37.61/15.28 x11 := 1; 37.61/15.28 x12 := 4; 37.61/15.28 x13 := oldX28; 37.61/15.28 x14 := oldX29; 37.61/15.28 x15 := oldX30; 37.61/15.28 x16 := oldX31; 37.61/15.28 x17 := oldX32; 37.61/15.28 x18 := oldX33; 37.61/15.28 x19 := oldX34; 37.61/15.28 x20 := oldX35; 37.61/15.28 x21 := oldX36; 37.61/15.28 TO: 5; 37.61/15.28 37.61/15.28 FROM: 1; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 assume(oldX1 <= oldX0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 1; 37.61/15.28 x7 := oldX26; 37.61/15.28 x8 := oldX27; 37.61/15.28 x9 := oldX28; 37.61/15.28 x10 := oldX29; 37.61/15.28 x11 := oldX30; 37.61/15.28 x12 := oldX31; 37.61/15.28 x13 := oldX32; 37.61/15.28 x14 := oldX33; 37.61/15.28 x15 := oldX34; 37.61/15.28 x16 := oldX35; 37.61/15.28 x17 := 0; 37.61/15.28 x18 := oldX36; 37.61/15.28 x19 := oldX37; 37.61/15.28 x20 := 3; 37.61/15.28 x21 := 4; 37.61/15.28 TO: 6; 37.61/15.28 37.61/15.28 FROM: 1; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 assume(oldX1 > oldX0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := oldX26; 37.61/15.28 x7 := oldX27; 37.61/15.28 x8 := oldX28; 37.61/15.28 x9 := oldX29; 37.61/15.28 x10 := oldX30; 37.61/15.28 x11 := oldX31; 37.61/15.28 x12 := oldX32; 37.61/15.28 x13 := oldX33; 37.61/15.28 x14 := oldX34; 37.61/15.28 x15 := oldX35; 37.61/15.28 x16 := oldX36; 37.61/15.28 x17 := oldX37; 37.61/15.28 x18 := oldX38; 37.61/15.28 x19 := oldX39; 37.61/15.28 x20 := oldX40; 37.61/15.28 x21 := oldX41; 37.61/15.28 TO: 2; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 assume(oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := 1 + oldX26; 37.61/15.28 x10 := oldX27; 37.61/15.28 x11 := oldX28; 37.61/15.28 x12 := oldX29; 37.61/15.28 x13 := oldX30; 37.61/15.28 x14 := oldX31; 37.61/15.28 x15 := 3; 37.61/15.28 x16 := 2; 37.61/15.28 x17 := 1; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX32; 37.61/15.28 x20 := oldX33; 37.61/15.28 x21 := oldX34; 37.61/15.28 TO: 7; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 assume(oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := 1 + oldX26; 37.61/15.28 x10 := oldX27; 37.61/15.28 x11 := oldX28; 37.61/15.28 x12 := oldX29; 37.61/15.28 x13 := oldX30; 37.61/15.28 x14 := oldX31; 37.61/15.28 x15 := 3; 37.61/15.28 x16 := 2; 37.61/15.28 x17 := 1; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX32; 37.61/15.28 x20 := oldX33; 37.61/15.28 x21 := oldX34; 37.61/15.28 TO: 7; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 assume(oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := 1 + oldX26; 37.61/15.28 x10 := 1 + oldX26; 37.61/15.28 x11 := oldX27; 37.61/15.28 x12 := oldX28; 37.61/15.28 x13 := oldX29; 37.61/15.28 x14 := oldX30; 37.61/15.28 x15 := 3; 37.61/15.28 x16 := 2; 37.61/15.28 x17 := 1; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX31; 37.61/15.28 x20 := oldX32; 37.61/15.28 x21 := oldX33; 37.61/15.28 TO: 7; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 assume(oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := 1 + oldX26; 37.61/15.28 x10 := 1 + oldX26; 37.61/15.28 x11 := oldX27; 37.61/15.28 x12 := oldX28; 37.61/15.28 x13 := oldX29; 37.61/15.28 x14 := oldX30; 37.61/15.28 x15 := 3; 37.61/15.28 x16 := 2; 37.61/15.28 x17 := 1; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX31; 37.61/15.28 x20 := oldX32; 37.61/15.28 x21 := oldX33; 37.61/15.28 TO: 7; 37.61/15.28 37.61/15.28 FROM: 4; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); 37.61/15.28 x0 := oldX22; 37.61/15.28 x1 := oldX23; 37.61/15.28 x2 := oldX24; 37.61/15.28 x3 := oldX25; 37.61/15.28 x4 := oldX26; 37.61/15.28 x5 := oldX27; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := 3 + oldX22; 37.61/15.28 x8 := 3 + oldX23; 37.61/15.28 x9 := 3 + oldX24; 37.61/15.28 x10 := 3; 37.61/15.28 x11 := 1; 37.61/15.28 x12 := 4; 37.61/15.28 x13 := oldX28; 37.61/15.28 x14 := oldX29; 37.61/15.28 x15 := oldX30; 37.61/15.28 x16 := oldX31; 37.61/15.28 x17 := oldX32; 37.61/15.28 x18 := oldX33; 37.61/15.28 x19 := oldX34; 37.61/15.28 x20 := oldX35; 37.61/15.28 x21 := oldX36; 37.61/15.28 TO: 8; 37.61/15.28 37.61/15.28 FROM: 4; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 oldX43 := nondet(); 37.61/15.28 assume(0 = 0); 37.61/15.28 x0 := oldX22; 37.61/15.28 x1 := oldX23; 37.61/15.28 x2 := oldX24; 37.61/15.28 x3 := oldX25; 37.61/15.28 x4 := oldX26; 37.61/15.28 x5 := oldX27; 37.61/15.28 x6 := oldX28; 37.61/15.28 x7 := oldX29; 37.61/15.28 x8 := oldX30; 37.61/15.28 x9 := oldX31; 37.61/15.28 x10 := oldX32; 37.61/15.28 x11 := oldX33; 37.61/15.28 x12 := oldX34; 37.61/15.28 x13 := oldX35; 37.61/15.28 x14 := oldX36; 37.61/15.28 x15 := oldX37; 37.61/15.28 x16 := oldX38; 37.61/15.28 x17 := oldX39; 37.61/15.28 x18 := oldX40; 37.61/15.28 x19 := oldX41; 37.61/15.28 x20 := oldX42; 37.61/15.28 x21 := oldX43; 37.61/15.28 TO: 1; 37.61/15.28 37.61/15.28 FROM: 4; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); 37.61/15.28 x0 := oldX22; 37.61/15.28 x1 := oldX23; 37.61/15.28 x2 := oldX24; 37.61/15.28 x3 := oldX25; 37.61/15.28 x4 := oldX26; 37.61/15.28 x5 := oldX27; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := 3 + oldX22; 37.61/15.28 x8 := 3 + oldX23; 37.61/15.28 x9 := 3 + oldX24; 37.61/15.28 x10 := 3; 37.61/15.28 x11 := 1; 37.61/15.28 x12 := 4; 37.61/15.28 x13 := oldX28; 37.61/15.28 x14 := oldX29; 37.61/15.28 x15 := oldX30; 37.61/15.28 x16 := oldX31; 37.61/15.28 x17 := oldX32; 37.61/15.28 x18 := oldX33; 37.61/15.28 x19 := oldX34; 37.61/15.28 x20 := oldX35; 37.61/15.28 x21 := oldX36; 37.61/15.28 TO: 9; 37.61/15.28 37.61/15.28 FROM: 4; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); 37.61/15.28 x0 := oldX22; 37.61/15.28 x1 := oldX23; 37.61/15.28 x2 := oldX24; 37.61/15.28 x3 := oldX25; 37.61/15.28 x4 := oldX26; 37.61/15.28 x5 := 0; 37.61/15.28 x6 := 3 + oldX22; 37.61/15.28 x7 := 3 + oldX23; 37.61/15.28 x8 := 3 + oldX24; 37.61/15.28 x9 := 3; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := 4; 37.61/15.28 x12 := oldX27; 37.61/15.28 x13 := oldX28; 37.61/15.28 x14 := oldX29; 37.61/15.28 x15 := oldX30; 37.61/15.28 x16 := oldX31; 37.61/15.28 x17 := oldX32; 37.61/15.28 x18 := oldX33; 37.61/15.28 x19 := oldX34; 37.61/15.28 x20 := oldX35; 37.61/15.28 x21 := oldX36; 37.61/15.28 TO: 10; 37.61/15.28 37.61/15.28 FROM: 4; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 assume(oldX22 > 0 && oldX24 > 0 && oldX23 > 0); 37.61/15.28 x0 := oldX22; 37.61/15.28 x1 := oldX23; 37.61/15.28 x2 := oldX24; 37.61/15.28 x3 := oldX25; 37.61/15.28 x4 := oldX26; 37.61/15.28 x5 := oldX27; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := 3 + oldX22; 37.61/15.28 x8 := 3 + oldX23; 37.61/15.28 x9 := 3 + oldX24; 37.61/15.28 x10 := 3; 37.61/15.28 x11 := 1; 37.61/15.28 x12 := 4; 37.61/15.28 x13 := oldX28; 37.61/15.28 x14 := oldX29; 37.61/15.28 x15 := oldX30; 37.61/15.28 x16 := oldX31; 37.61/15.28 x17 := oldX32; 37.61/15.28 x18 := oldX33; 37.61/15.28 x19 := oldX34; 37.61/15.28 x20 := oldX35; 37.61/15.28 x21 := oldX36; 37.61/15.28 TO: 11; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 assume(oldX0 + oldX1 < 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX22 <= 0 && oldX0 + oldX1 - 2 * oldX22 > -2); 37.61/15.28 x0 := 1 + oldX22; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX23; 37.61/15.28 x3 := oldX24; 37.61/15.28 x4 := oldX25; 37.61/15.28 x5 := oldX26; 37.61/15.28 x6 := oldX27; 37.61/15.28 x7 := oldX28; 37.61/15.28 x8 := oldX29; 37.61/15.28 x9 := oldX30; 37.61/15.28 x10 := oldX31; 37.61/15.28 x11 := oldX32; 37.61/15.28 x12 := oldX33; 37.61/15.28 x13 := oldX34; 37.61/15.28 x14 := oldX35; 37.61/15.28 x15 := oldX36; 37.61/15.28 x16 := oldX37; 37.61/15.28 x17 := oldX38; 37.61/15.28 x18 := oldX39; 37.61/15.28 x19 := oldX40; 37.61/15.28 x20 := oldX41; 37.61/15.28 x21 := oldX42; 37.61/15.28 TO: 1; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 assume(oldX0 + oldX1 >= 0 && oldX1 > oldX0 && oldX0 + oldX1 - 2 * oldX22 < 2 && oldX0 + oldX1 - 2 * oldX22 >= 0); 37.61/15.28 x0 := 1 + oldX22; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX23; 37.61/15.28 x3 := oldX24; 37.61/15.28 x4 := oldX25; 37.61/15.28 x5 := oldX26; 37.61/15.28 x6 := oldX27; 37.61/15.28 x7 := oldX28; 37.61/15.28 x8 := oldX29; 37.61/15.28 x9 := oldX30; 37.61/15.28 x10 := oldX31; 37.61/15.28 x11 := oldX32; 37.61/15.28 x12 := oldX33; 37.61/15.28 x13 := oldX34; 37.61/15.28 x14 := oldX35; 37.61/15.28 x15 := oldX36; 37.61/15.28 x16 := oldX37; 37.61/15.28 x17 := oldX38; 37.61/15.28 x18 := oldX39; 37.61/15.28 x19 := oldX40; 37.61/15.28 x20 := oldX41; 37.61/15.28 x21 := oldX42; 37.61/15.28 TO: 1; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 assume(oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX22 > -2 && oldX0 + oldX1 - 2 * oldX22 <= 0 && oldX1 > oldX0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX22; 37.61/15.28 x2 := oldX23; 37.61/15.28 x3 := oldX24; 37.61/15.28 x4 := oldX25; 37.61/15.28 x5 := oldX26; 37.61/15.28 x6 := oldX27; 37.61/15.28 x7 := oldX28; 37.61/15.28 x8 := oldX29; 37.61/15.28 x9 := oldX30; 37.61/15.28 x10 := oldX31; 37.61/15.28 x11 := oldX32; 37.61/15.28 x12 := oldX33; 37.61/15.28 x13 := oldX34; 37.61/15.28 x14 := oldX35; 37.61/15.28 x15 := oldX36; 37.61/15.28 x16 := oldX37; 37.61/15.28 x17 := oldX38; 37.61/15.28 x18 := oldX39; 37.61/15.28 x19 := oldX40; 37.61/15.28 x20 := oldX41; 37.61/15.28 x21 := oldX42; 37.61/15.28 TO: 1; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 oldX35 := nondet(); 37.61/15.28 oldX36 := nondet(); 37.61/15.28 oldX37 := nondet(); 37.61/15.28 oldX38 := nondet(); 37.61/15.28 oldX39 := nondet(); 37.61/15.28 oldX40 := nondet(); 37.61/15.28 oldX41 := nondet(); 37.61/15.28 oldX42 := nondet(); 37.61/15.28 assume(oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX22 >= 0 && oldX0 + oldX1 - 2 * oldX22 < 2 && oldX1 > oldX0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX22; 37.61/15.28 x2 := oldX23; 37.61/15.28 x3 := oldX24; 37.61/15.28 x4 := oldX25; 37.61/15.28 x5 := oldX26; 37.61/15.28 x6 := oldX27; 37.61/15.28 x7 := oldX28; 37.61/15.28 x8 := oldX29; 37.61/15.28 x9 := oldX30; 37.61/15.28 x10 := oldX31; 37.61/15.28 x11 := oldX32; 37.61/15.28 x12 := oldX33; 37.61/15.28 x13 := oldX34; 37.61/15.28 x14 := oldX35; 37.61/15.28 x15 := oldX36; 37.61/15.28 x16 := oldX37; 37.61/15.28 x17 := oldX38; 37.61/15.28 x18 := oldX39; 37.61/15.28 x19 := oldX40; 37.61/15.28 x20 := oldX41; 37.61/15.28 x21 := oldX42; 37.61/15.28 TO: 1; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX0; 37.61/15.28 x12 := oldX28; 37.61/15.28 x13 := oldX29; 37.61/15.28 x14 := oldX30; 37.61/15.28 x15 := oldX31; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX32; 37.61/15.28 x20 := oldX33; 37.61/15.28 x21 := oldX34; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 assume(oldX27 < 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX0; 37.61/15.28 x12 := oldX28; 37.61/15.28 x13 := oldX29; 37.61/15.28 x14 := oldX30; 37.61/15.28 x15 := oldX31; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX32; 37.61/15.28 x20 := oldX33; 37.61/15.28 x21 := oldX34; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 < 0 && oldX0 + oldX1 - 2 * oldX26 <= 0 && oldX0 + oldX1 - 2 * oldX26 > -2); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX0; 37.61/15.28 x12 := oldX28; 37.61/15.28 x13 := oldX29; 37.61/15.28 x14 := oldX30; 37.61/15.28 x15 := oldX31; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX32; 37.61/15.28 x20 := oldX33; 37.61/15.28 x21 := oldX34; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 FROM: 2; 37.61/15.28 oldX0 := x0; 37.61/15.28 oldX1 := x1; 37.61/15.28 oldX2 := x2; 37.61/15.28 oldX3 := x3; 37.61/15.28 oldX4 := x4; 37.61/15.28 oldX5 := x5; 37.61/15.28 oldX6 := x6; 37.61/15.28 oldX7 := x7; 37.61/15.28 oldX8 := x8; 37.61/15.28 oldX9 := x9; 37.61/15.28 oldX10 := x10; 37.61/15.28 oldX11 := x11; 37.61/15.28 oldX12 := x12; 37.61/15.28 oldX13 := x13; 37.61/15.28 oldX14 := x14; 37.61/15.28 oldX15 := x15; 37.61/15.28 oldX16 := x16; 37.61/15.28 oldX17 := x17; 37.61/15.28 oldX18 := x18; 37.61/15.28 oldX19 := x19; 37.61/15.28 oldX20 := x20; 37.61/15.28 oldX21 := x21; 37.61/15.28 oldX22 := nondet(); 37.61/15.28 oldX23 := nondet(); 37.61/15.28 oldX24 := nondet(); 37.61/15.28 oldX25 := nondet(); 37.61/15.28 oldX26 := nondet(); 37.61/15.28 oldX27 := nondet(); 37.61/15.28 oldX28 := nondet(); 37.61/15.28 oldX29 := nondet(); 37.61/15.28 oldX30 := nondet(); 37.61/15.28 oldX31 := nondet(); 37.61/15.28 oldX32 := nondet(); 37.61/15.28 oldX33 := nondet(); 37.61/15.28 oldX34 := nondet(); 37.61/15.28 assume(oldX27 > 0 && oldX1 > oldX0 && oldX0 + oldX1 >= 0 && oldX0 + oldX1 - 2 * oldX26 < 2 && oldX0 + oldX1 - 2 * oldX26 >= 0); 37.61/15.28 x0 := oldX0; 37.61/15.28 x1 := oldX1; 37.61/15.28 x2 := oldX22; 37.61/15.28 x3 := oldX23; 37.61/15.28 x4 := oldX24; 37.61/15.28 x5 := oldX25; 37.61/15.28 x6 := 0; 37.61/15.28 x7 := oldX0 + oldX1; 37.61/15.28 x8 := oldX26; 37.61/15.28 x9 := oldX27; 37.61/15.28 x10 := 1; 37.61/15.28 x11 := oldX0; 37.61/15.28 x12 := oldX28; 37.61/15.28 x13 := oldX29; 37.61/15.28 x14 := oldX30; 37.61/15.28 x15 := oldX31; 37.61/15.28 x16 := 3; 37.61/15.28 x17 := 2; 37.61/15.28 x18 := 4; 37.61/15.28 x19 := oldX32; 37.61/15.28 x20 := oldX33; 37.61/15.28 x21 := oldX34; 37.61/15.28 TO: 3; 37.61/15.28 37.61/15.28 37.61/15.28 ---------------------------------------- 37.61/15.28 37.61/15.28 (31) T2 (COMPLETE) 37.61/15.28 Found this recurrent set for cutpoint 14: oldX22 == 0 and oldX23 == 0 and oldX42 == 0 and x0 == -1 and x1 == 0 37.61/15.28 37.61/15.28 ---------------------------------------- 37.61/15.28 37.61/15.28 (32) 37.61/15.28 NO 37.73/15.33 EOF