37.69/11.90 YES 37.69/11.91 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 37.69/11.91 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 37.69/11.91 37.69/11.91 37.69/11.91 Termination of the given C Problem could be proven: 37.69/11.91 37.69/11.91 (0) C Problem 37.69/11.91 (1) CToLLVMProof [EQUIVALENT, 175 ms] 37.69/11.91 (2) LLVM problem 37.69/11.91 (3) LLVMToTerminationGraphProof [EQUIVALENT, 6351 ms] 37.69/11.91 (4) LLVM Symbolic Execution Graph 37.69/11.91 (5) SymbolicExecutionGraphToLassoProof [EQUIVALENT, 0 ms] 37.69/11.91 (6) LLVM Symbolic Execution Lasso 37.69/11.91 (7) Lasso2IRS [SOUND, 271 ms] 37.69/11.91 (8) IntTRS 37.69/11.91 (9) IRS2T2 [EQUIVALENT, 0 ms] 37.69/11.91 (10) T2IntSys 37.69/11.91 (11) T2 [EQUIVALENT, 1274 ms] 37.69/11.91 (12) YES 37.69/11.91 37.69/11.91 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (0) 37.69/11.91 Obligation: 37.69/11.91 c file /export/starexec/sandbox/benchmark/theBenchmark.c 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (1) CToLLVMProof (EQUIVALENT) 37.69/11.91 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (2) 37.69/11.91 Obligation: 37.69/11.91 LLVM Problem 37.69/11.91 37.69/11.91 Aliases: 37.69/11.91 37.69/11.91 Data layout: 37.69/11.91 37.69/11.91 "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.69/11.91 37.69/11.91 Machine: 37.69/11.91 37.69/11.91 "x86_64-pc-linux-gnu" 37.69/11.91 37.69/11.91 Type definitions: 37.69/11.91 37.69/11.91 Global variables: 37.69/11.91 37.69/11.91 Function declarations and definitions: 37.69/11.91 37.69/11.91 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 37.69/11.91 *BasicFunctionTypename: "quot" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (x i32, y i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 37.69/11.91 0: 37.69/11.91 %1 = alloca i32, align 4 37.69/11.91 %2 = alloca i32, align 4 37.69/11.91 %3 = alloca i32, align 4 37.69/11.91 %x_ref = alloca *i32, align 8 37.69/11.91 %y_ref = alloca *i32, align 8 37.69/11.91 %i = alloca *i32, align 8 37.69/11.91 store %x, %2 37.69/11.91 store %y, %3 37.69/11.91 %4 = alloca i8, numElementsLit: 4 37.69/11.91 %5 = bitcast *i8 %4 to *i32 37.69/11.91 store %5, %x_ref 37.69/11.91 %6 = alloca i8, numElementsLit: 4 37.69/11.91 %7 = bitcast *i8 %6 to *i32 37.69/11.91 store %7, %y_ref 37.69/11.91 %8 = alloca i8, numElementsLit: 4 37.69/11.91 %9 = bitcast *i8 %8 to *i32 37.69/11.91 store %9, %i 37.69/11.91 %10 = load %2 37.69/11.91 %11 = load %x_ref 37.69/11.91 store %10, %11 37.69/11.91 %12 = load %3 37.69/11.91 %13 = load %y_ref 37.69/11.91 store %12, %13 37.69/11.91 %14 = load %i 37.69/11.91 store 0, %14 37.69/11.91 %15 = load %x_ref 37.69/11.91 %16 = load %15 37.69/11.91 %17 = icmp eq %16 0 37.69/11.91 br %17, %18, %19 37.69/11.91 18: 37.69/11.91 store 0, %1 37.69/11.91 br %45 37.69/11.91 19: 37.69/11.91 br %20 37.69/11.91 20: 37.69/11.91 %21 = load %x_ref 37.69/11.91 %22 = load %21 37.69/11.91 %23 = icmp sgt %22 0 37.69/11.91 br %23, %24, %28 37.69/11.91 24: 37.69/11.91 %25 = load %y_ref 37.69/11.91 %26 = load %25 37.69/11.91 %27 = icmp sgt %26 0 37.69/11.91 br %28 37.69/11.91 28: 37.69/11.91 %29 = phi [0, %20], [%27, %24] 37.69/11.91 br %29, %30, %42 37.69/11.91 30: 37.69/11.91 %31 = load %i 37.69/11.91 %32 = load %31 37.69/11.91 %33 = add %32 1 37.69/11.91 store %33, %31 37.69/11.91 %34 = load %x_ref 37.69/11.91 %35 = load %34 37.69/11.91 %36 = sub %35 1 37.69/11.91 %37 = load %y_ref 37.69/11.91 %38 = load %37 37.69/11.91 %39 = sub %38 1 37.69/11.91 %40 = sub %36 %39 37.69/11.91 %41 = load %x_ref 37.69/11.91 store %40, %41 37.69/11.91 br %20 37.69/11.91 42: 37.69/11.91 %43 = load %i 37.69/11.91 %44 = load %43 37.69/11.91 store %44, %1 37.69/11.91 br %45 37.69/11.91 45: 37.69/11.91 %46 = load %1 37.69/11.91 ret %46 37.69/11.91 37.69/11.91 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 37.69/11.91 0: 37.69/11.91 %1 = alloca i32, align 4 37.69/11.91 store 0, %1 37.69/11.91 %2 = call i32 @__VERIFIER_nondet_int() 37.69/11.91 %3 = call i32 @__VERIFIER_nondet_int() 37.69/11.91 %4 = call i32 @quot(i32 %2, i32 %3) 37.69/11.91 ret %4 37.69/11.91 37.69/11.91 37.69/11.91 Analyze Termination of all function calls matching the pattern: 37.69/11.91 main() 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (3) LLVMToTerminationGraphProof (EQUIVALENT) 37.69/11.91 Constructed symbolic execution graph for LLVM program and proved memory safety. 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (4) 37.69/11.91 Obligation: 37.69/11.91 SE Graph 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (5) SymbolicExecutionGraphToLassoProof (EQUIVALENT) 37.69/11.91 Converted SEGraph to 1 independent lasso. 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (6) 37.69/11.91 Obligation: 37.69/11.91 Lasso 37.69/11.91 ---------------------------------------- 37.69/11.91 37.69/11.91 (7) Lasso2IRS (SOUND) 37.69/11.91 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 37.69/11.91 Generated rules. Obtained 92 rulesP rules: 37.69/11.91 f_507(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v504, 1, v506, v507, v508, v509, v510, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8) -> f_508(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8) :|: 0 = 0 37.69/11.91 f_508(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8) -> f_509(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 < v510 && 1 <= v508 && 2 <= v504 37.69/11.91 f_509(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_511(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_511(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_513(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: TRUE 37.69/11.91 f_513(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_515(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_515(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_517(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_517(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_519(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_519(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_521(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_521(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_523(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: TRUE 37.69/11.91 f_523(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_525(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_525(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v506, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_527(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_527(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_529(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: v564 = 1 + v507 && 2 <= v564 37.69/11.91 f_529(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_530(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: TRUE 37.69/11.91 f_530(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_531(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) :|: 0 = 0 37.69/11.91 f_531(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v504, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 2, 4, 8) -> f_532(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: 0 = 0 37.69/11.91 f_532(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v508, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_533(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: 1 + v566 = v510 && 0 <= v566 37.69/11.91 f_533(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_534(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: 0 = 0 37.69/11.91 f_534(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_535(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: 0 = 0 37.69/11.91 f_535(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_536(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: 1 + v509 = v493 37.69/11.91 f_536(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_537(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: v567 + v509 = v566 37.69/11.91 f_537(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_538(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: 0 = 0 37.69/11.91 f_538(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_539(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: TRUE 37.69/11.91 f_539(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_540(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) :|: TRUE 37.69/11.91 f_540(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8, 2) -> f_506(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v510, 1, v507, v564, v566, v509, v567, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8) :|: TRUE 37.69/11.91 f_506(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v504, 1, v506, v507, v508, v509, v510, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8) -> f_507(v492, v493, v494, v495, v496, v497, v498, v499, v500, v501, v502, 0, v504, 1, v506, v507, v508, v509, v510, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, 3, 7, 4, 8) :|: 0 = 0 37.69/11.91 f_208 -> f_209(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 37.69/11.91 f_209(v1, v2, 3, 1, 4) -> f_210(v1, v2, 0, 3, 1, 4) :|: TRUE 37.69/11.91 f_210(v1, v2, 0, 3, 1, 4) -> f_211(v1, v3, v2, 0, 3, 1, 4) :|: TRUE 37.69/11.91 f_211(v1, v3, v2, 0, 3, 1, 4) -> f_212(v1, v3, v4, v2, 0, 3, 1, 4) :|: TRUE 37.69/11.91 f_212(v1, v3, v4, v2, 0, 3, 1, 4) -> f_213(v3, v4, v1, v2, 0, 3, 1, 4) :|: 0 = 0 37.69/11.91 f_213(v3, v4, v1, v2, 0, 3, 1, 4) -> f_214(v3, v4, v5, v1, v2, v6, 0, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 37.69/11.92 f_214(v3, v4, v5, v1, v2, v6, 0, 3, 1, 4) -> f_215(v3, v4, v5, v7, v1, v2, v6, v8, 0, 3, 1, 4) :|: 1 <= v7 && v8 = 3 + v7 && 4 <= v8 37.69/11.92 f_215(v3, v4, v5, v7, v1, v2, v6, v8, 0, 3, 1, 4) -> f_216(v3, v4, v5, v7, v9, v1, v2, v6, v8, v10, 0, 3, 1, 4) :|: 1 <= v9 && v10 = 3 + v9 && 4 <= v10 37.69/11.92 f_216(v3, v4, v5, v7, v9, v1, v2, v6, v8, v10, 0, 3, 1, 4) -> f_217(v3, v4, v5, v7, v9, v11, v1, v2, v6, v8, v10, v12, 0, 3, 7, 1, 4, 8) :|: 1 <= v11 && v12 = 7 + v11 && 8 <= v12 37.69/11.92 f_217(v3, v4, v5, v7, v9, v11, v1, v2, v6, v8, v10, v12, 0, 3, 7, 1, 4, 8) -> f_218(v3, v4, v5, v7, v9, v11, v13, v1, v2, v6, v8, v10, v12, v14, 0, 3, 7, 1, 4, 8) :|: 1 <= v13 && v14 = 7 + v13 && 8 <= v14 37.69/11.92 f_218(v3, v4, v5, v7, v9, v11, v13, v1, v2, v6, v8, v10, v12, v14, 0, 3, 7, 1, 4, 8) -> f_219(v3, v4, v5, v7, v9, v11, v13, v15, v1, v2, v6, v8, v10, v12, v14, v16, 0, 3, 7, 1, 4, 8) :|: 1 <= v15 && v16 = 7 + v15 && 8 <= v16 37.69/11.92 f_219(v3, v4, v5, v7, v9, v11, v13, v15, v1, v2, v6, v8, v10, v12, v14, v16, 0, 3, 7, 1, 4, 8) -> f_220(v3, v4, v5, v7, v9, v11, v13, v15, v1, v2, v6, v8, v10, v12, v14, v16, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_220(v3, v4, v5, v7, v9, v11, v13, v15, v1, v2, v6, v8, v10, v12, v14, v16, 0, 3, 7, 1, 4, 8) -> f_221(v3, v4, v5, v7, v9, v11, v13, v15, v1, v2, v6, v8, v10, v12, v14, v16, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_221(v3, v4, v5, v7, v9, v11, v13, v15, v1, v2, v6, v8, v10, v12, v14, v16, 0, 3, 7, 1, 4, 8) -> f_222(v3, v4, v5, v7, v9, v11, v13, v15, v19, v1, v2, v6, v8, v10, v12, v14, v16, v20, 0, 3, 7, 1, 4, 8) :|: 1 <= v19 && v20 = 3 + v19 && 4 <= v20 37.69/11.92 f_222(v3, v4, v5, v7, v9, v11, v13, v15, v19, v1, v2, v6, v8, v10, v12, v14, v16, v20, 0, 3, 7, 1, 4, 8) -> f_223(v3, v4, v5, v7, v9, v11, v13, v15, v19, v1, v2, v6, v8, v10, v12, v14, v16, v20, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_223(v3, v4, v5, v7, v9, v11, v13, v15, v19, v1, v2, v6, v8, v10, v12, v14, v16, v20, 0, 3, 7, 1, 4, 8) -> f_224(v3, v4, v5, v7, v9, v11, v13, v15, v19, v1, v2, v6, v8, v10, v12, v14, v16, v20, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_224(v3, v4, v5, v7, v9, v11, v13, v15, v19, v1, v2, v6, v8, v10, v12, v14, v16, v20, 0, 3, 7, 1, 4, 8) -> f_225(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, 0, 3, 7, 1, 4, 8) :|: 1 <= v22 && v23 = 3 + v22 && 4 <= v23 37.69/11.92 f_225(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, 0, 3, 7, 1, 4, 8) -> f_226(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_226(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, 0, 3, 7, 1, 4, 8) -> f_227(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_227(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, 0, 3, 7, 1, 4, 8) -> f_228(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 1 <= v25 && v26 = 3 + v25 && 4 <= v26 37.69/11.92 f_228(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_229(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_229(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_230(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_230(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_231(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_231(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_232(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_232(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_233(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_233(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_234(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_234(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_235(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_235(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_236(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_236(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_237(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_237(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_238(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_238(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_239(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_239(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_240(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_240(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_242(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) :|: v3 != 0 37.69/11.92 f_242(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 0, 3, 7, 1, 4, 8) -> f_244(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_244(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) -> f_246(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_246(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) -> f_248(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) :|: TRUE 37.69/11.92 f_248(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) -> f_250(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_250(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) -> f_252(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) :|: 0 = 0 37.69/11.92 f_252(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) -> f_254(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) :|: 0 < v3 37.69/11.92 f_254(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 1, 4, 8) -> f_256(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_256(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_258(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_258(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_260(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_260(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_262(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_262(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_264(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 < v4 37.69/11.92 f_264(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_267(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_267(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_270(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_270(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_273(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_273(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_276(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_276(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_279(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_279(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_281(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_281(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_283(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_283(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_285(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_285(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_287(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_287(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_289(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 1 + v31 = v3 && 0 <= v31 37.69/11.92 f_289(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_290(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_290(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_291(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_291(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_292(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 1 + v32 = v4 && 0 <= v32 37.69/11.92 f_292(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_293(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: v33 + v32 = v31 37.69/11.92 f_293(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_294(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: 0 = 0 37.69/11.92 f_294(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_295(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_295(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_296(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_296(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 4, 8) -> f_331(v3, v4, v5, v7, v9, v11, v13, v15, v19, v22, v25, 0, v3, 1, 0, 1, v31, v32, v33, v1, v2, v6, v8, v10, v12, v14, v16, v20, v23, v26, 3, 7, 2, 4, 8) :|: TRUE 37.69/11.92 f_331(v107, v108, v109, v110, v111, v112, v113, v114, v115, v116, v117, 0, v119, 1, v121, v122, v123, v124, v125, v126, v127, v128, v129, v130, v131, v132, v133, v134, v135, v136, 3, 7, 2, 4, 8) -> f_366(v107, v108, v109, v110, v111, v112, v113, v114, v115, v116, v117, 0, v119, 1, v121, v122, v123, v124, v125, v126, v127, v128, v129, v130, v131, v132, v133, v134, v135, v136, 3, 7, 2, 4, 8) :|: TRUE 37.69/11.92 f_366(v184, v185, v186, v187, v188, v189, v190, v191, v192, v193, v194, 0, v196, 1, v198, v199, v200, v201, v202, v203, v204, v205, v206, v207, v208, v209, v210, v211, v212, v213, 3, 7, 2, 4, 8) -> f_401(v184, v185, v186, v187, v188, v189, v190, v191, v192, v193, v194, 0, v196, 1, v198, v199, v200, v201, v202, v203, v204, v205, v206, v207, v208, v209, v210, v211, v212, v213, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_401(v261, v262, v263, v264, v265, v266, v267, v268, v269, v270, v271, 0, v273, 1, v275, v276, v277, v278, v279, v280, v281, v282, v283, v284, v285, v286, v287, v288, v289, v290, 3, 7, 4, 8) -> f_436(v261, v262, v263, v264, v265, v266, v267, v268, v269, v270, v271, 0, v273, 1, v275, v276, v277, v278, v279, v280, v281, v282, v283, v284, v285, v286, v287, v288, v289, v290, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_436(v338, v339, v340, v341, v342, v343, v344, v345, v346, v347, v348, 0, v350, 1, v352, v353, v354, v355, v356, v357, v358, v359, v360, v361, v362, v363, v364, v365, v366, v367, 3, 7, 4, 8) -> f_471(v338, v339, v340, v341, v342, v343, v344, v345, v346, v347, v348, 0, v350, 1, v352, v353, v354, v355, v356, v357, v358, v359, v360, v361, v362, v363, v364, v365, v366, v367, 3, 7, 4, 8) :|: TRUE 37.69/11.92 f_471(v415, v416, v417, v418, v419, v420, v421, v422, v423, v424, v425, 0, v427, 1, v429, v430, v431, v432, v433, v434, v435, v436, v437, v438, v439, v440, v441, v442, v443, v444, 3, 7, 4, 8) -> f_506(v415, v416, v417, v418, v419, v420, v421, v422, v423, v424, v425, 0, v427, 1, v429, v430, v431, v432, v433, v434, v435, v436, v437, v438, v439, v440, v441, v442, v443, v444, 3, 7, 4, 8) :|: TRUE 37.69/11.92 Combined rules. Obtained 3 rulesP rules: 37.69/11.92 f_507(v492:0, 1 + v509:0, v494:0, v495:0, v496:0, v497:0, v498:0, v499:0, v500:0, v501:0, v502:0, 0, v504:0, 1, v506:0, v507:0, v508:0, v509:0, 1 + (v567:0 + v509:0), v511:0, v512:0, v513:0, v514:0, v515:0, v516:0, v517:0, v518:0, v519:0, v520:0, v521:0, 3, 7, 4, 8) -> f_507(v492:0, 1 + v509:0, v494:0, v495:0, v496:0, v497:0, v498:0, v499:0, v500:0, v501:0, v502:0, 0, 1 + (v567:0 + v509:0), 1, v507:0, 1 + v507:0, v567:0 + v509:0, v509:0, v567:0, v511:0, v512:0, v513:0, v514:0, v515:0, v516:0, v517:0, v518:0, v519:0, v520:0, v521:0, 3, 7, 4, 8) :|: v508:0 > 0 && v567:0 + v509:0 > -1 && v504:0 > 1 && v507:0 > 0 37.69/11.92 f_208 -> f_507(v3:0, v4:0, v5:0, v7:0, v9:0, v11:0, v13:0, v15:0, v19:0, v22:0, v25:0, 0, v3:0, 1, 0, 1, v31:0, v32:0, v33:0, v1:0, v2:0, v6:0, v8:0, v10:0, v12:0, v14:0, v16:0, v20:0, v23:0, v26:0, 3, 7, 4, 8) :|: FALSE 37.69/11.92 f_208 -> f_507(1 + (v33:0 + v32:0), 1 + v32:0, v5:0, v7:0, v9:0, v11:0, v13:0, v15:0, v19:0, v22:0, v25:0, 0, 1 + (v33:0 + v32:0), 1, 0, 1, v33:0 + v32:0, v32:0, v33:0, v1:0, 3 + v1:0, 3 + v5:0, 3 + v7:0, 3 + v9:0, 7 + v11:0, 7 + v13:0, 7 + v15:0, 3 + v19:0, 3 + v22:0, 3 + v25:0, 3, 7, 4, 8) :|: v1:0 > 0 && v5:0 > 0 && v7:0 > 0 && v9:0 > 0 && v11:0 > 0 && v13:0 > 0 && v15:0 > 0 && v19:0 > 0 && v22:0 > 0 && v25:0 > 0 && v33:0 + v32:0 > -1 && v32:0 > -1 37.69/11.92 Filtered unneeded arguments: 37.69/11.92 f_507(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34) -> f_507(x2, x13, x16, x17, x18, x19) 37.69/11.92 Removed division, modulo operations, cleaned up constraints. Obtained 3 rules.P rules: 37.69/11.92 f_507(sum~cons_1~v509:0, v504:0, v507:0, v508:0, v509:0, sum~cons_1~sum~v567:0~v509:0) -> f_507(1 + v509:0, 1 + (v567:0 + v509:0), 1 + v507:0, v567:0 + v509:0, v509:0, v567:0) :|: v567:0 + v509:0 > -1 && v508:0 > 0 && v507:0 > 0 && v504:0 > 1 && sum~cons_1~v509:0 = 1 + v509:0 && sum~cons_1~sum~v567:0~v509:0 = 1 + (v567:0 + v509:0) 37.69/11.92 f_208 -> f_507(v4:0, v3:0, 1, v31:0, v32:0, v33:0) :|: FALSE 37.69/11.92 f_208 -> f_507(1 + v32:0, 1 + (v33:0 + v32:0), 1, v33:0 + v32:0, v32:0, v33:0) :|: v33:0 + v32:0 > -1 && v32:0 > -1 37.69/11.92 37.69/11.92 ---------------------------------------- 37.69/11.92 37.69/11.92 (8) 37.69/11.92 Obligation: 37.69/11.92 Rules: 37.69/11.92 f_507(sum~cons_1~v509:0, v504:0, v507:0, v508:0, v509:0, sum~cons_1~sum~v567:0~v509:0) -> f_507(1 + v509:0, 1 + (v567:0 + v509:0), 1 + v507:0, v567:0 + v509:0, v509:0, v567:0) :|: v567:0 + v509:0 > -1 && v508:0 > 0 && v507:0 > 0 && v504:0 > 1 && sum~cons_1~v509:0 = 1 + v509:0 && sum~cons_1~sum~v567:0~v509:0 = 1 + (v567:0 + v509:0) 37.69/11.92 f_208 -> f_507(v4:0, v3:0, 1, v31:0, v32:0, v33:0) :|: FALSE 37.69/11.92 f_208 -> f_507(1 + x, 1 + (x1 + x), 1, x1 + x, x, x1) :|: x1 + x > -1 && x > -1 37.69/11.92 Start term: f_208 37.69/11.92 37.69/11.92 ---------------------------------------- 37.69/11.92 37.69/11.92 (9) IRS2T2 (EQUIVALENT) 37.69/11.92 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 37.69/11.92 37.69/11.92 (f_507_6,1) 37.69/11.92 (f_208_6,2) 37.69/11.92 37.69/11.92 ---------------------------------------- 37.69/11.92 37.69/11.92 (10) 37.69/11.92 Obligation: 37.69/11.92 START: 2; 37.69/11.92 37.69/11.92 FROM: 1; 37.69/11.92 oldX0 := x0; 37.69/11.92 oldX1 := x1; 37.69/11.92 oldX2 := x2; 37.69/11.92 oldX3 := x3; 37.69/11.92 oldX4 := x4; 37.69/11.92 oldX5 := x5; 37.69/11.92 oldX6 := oldX5 - (oldX4 + 1); 37.69/11.92 assume(oldX6 + oldX4 > -1 && oldX3 > 0 && oldX2 > 0 && oldX1 > 1 && oldX0 = 1 + oldX4 && oldX5 = 1 + (oldX6 + oldX4)); 37.69/11.92 x0 := 1 + oldX4; 37.69/11.92 x1 := 1 + (oldX6 + oldX4); 37.69/11.92 x2 := 1 + oldX2; 37.69/11.92 x3 := oldX6 + oldX4; 37.69/11.92 x4 := oldX4; 37.69/11.92 x5 := oldX5 - (oldX4 + 1); 37.69/11.92 TO: 1; 37.69/11.92 37.69/11.92 FROM: 2; 37.69/11.92 oldX0 := x0; 37.69/11.92 oldX1 := x1; 37.69/11.92 oldX2 := x2; 37.69/11.92 oldX3 := x3; 37.69/11.92 oldX4 := x4; 37.69/11.92 oldX5 := x5; 37.69/11.92 oldX6 := nondet(); 37.69/11.92 oldX7 := nondet(); 37.69/11.92 oldX8 := nondet(); 37.69/11.92 oldX9 := nondet(); 37.69/11.92 oldX10 := nondet(); 37.69/11.92 assume(0 = 1); 37.69/11.92 x0 := oldX6; 37.69/11.92 x1 := oldX7; 37.69/11.92 x2 := 1; 37.69/11.92 x3 := oldX8; 37.69/11.92 x4 := oldX9; 37.69/11.92 x5 := oldX10; 37.69/11.92 TO: 1; 37.69/11.92 37.69/11.92 FROM: 2; 37.69/11.92 oldX0 := x0; 37.69/11.92 oldX1 := x1; 37.69/11.92 oldX2 := x2; 37.69/11.92 oldX3 := x3; 37.69/11.92 oldX4 := x4; 37.69/11.92 oldX5 := x5; 37.69/11.92 oldX6 := nondet(); 37.69/11.92 oldX7 := nondet(); 37.69/11.92 assume(oldX7 + oldX6 > -1 && oldX6 > -1); 37.69/11.92 x0 := 1 + oldX6; 37.69/11.92 x1 := 1 + (oldX7 + oldX6); 37.69/11.92 x2 := 1; 37.69/11.92 x3 := oldX7 + oldX6; 37.69/11.92 x4 := oldX6; 37.69/11.92 x5 := oldX7; 37.69/11.92 TO: 1; 37.69/11.92 37.69/11.92 37.69/11.92 ---------------------------------------- 37.69/11.92 37.69/11.92 (11) T2 (EQUIVALENT) 37.69/11.92 Used the following cutpoint-specific lexicographic rank functions: 37.69/11.92 * For cutpoint 5, used the following rank functions/bounds (in descending priority order): 37.69/11.92 - RF x4+x3, bound 0 37.69/11.92 37.69/11.92 ---------------------------------------- 37.69/11.92 37.69/11.92 (12) 37.69/11.92 YES 37.99/12.00 EOF