15.86/5.75 YES 16.09/5.77 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 16.09/5.77 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 16.09/5.77 16.09/5.77 16.09/5.77 Termination of the given C Problem could be proven: 16.09/5.77 16.09/5.77 (0) C Problem 16.09/5.77 (1) CToLLVMProof [EQUIVALENT, 100 ms] 16.09/5.77 (2) LLVM problem 16.09/5.77 (3) LLVMToTerminationGraphProof [EQUIVALENT, 1627 ms] 16.09/5.77 (4) LLVM Symbolic Execution Graph 16.09/5.77 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 16.09/5.77 (6) LLVM Symbolic Execution SCC 16.09/5.77 (7) SCC2IRS [SOUND, 0 ms] 16.09/5.77 (8) IntTRS 16.09/5.77 (9) IntTRSCompressionProof [EQUIVALENT, 0 ms] 16.09/5.77 (10) IntTRS 16.09/5.77 (11) RankingReductionPairProof [EQUIVALENT, 29 ms] 16.09/5.77 (12) YES 16.09/5.77 16.09/5.77 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (0) 16.09/5.77 Obligation: 16.09/5.77 c file /export/starexec/sandbox/benchmark/theBenchmark.c 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (1) CToLLVMProof (EQUIVALENT) 16.09/5.77 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (2) 16.09/5.77 Obligation: 16.09/5.77 LLVM Problem 16.09/5.77 16.09/5.77 Aliases: 16.09/5.77 16.09/5.77 Data layout: 16.09/5.77 16.09/5.77 "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" 16.09/5.77 16.09/5.77 Machine: 16.09/5.77 16.09/5.77 "x86_64-pc-linux-gnu" 16.09/5.77 16.09/5.77 Type definitions: 16.09/5.77 16.09/5.77 Global variables: 16.09/5.77 16.09/5.77 Function declarations and definitions: 16.09/5.77 16.09/5.77 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 16.09/5.77 *BasicFunctionTypename: "test_fun" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (x i32, y i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 16.09/5.77 0: 16.09/5.77 %1 = alloca i32, align 4 16.09/5.77 %2 = alloca i32, align 4 16.09/5.77 %3 = alloca i32, align 4 16.09/5.77 %x_ref = alloca *i32, align 8 16.09/5.77 %y_ref = alloca *i32, align 8 16.09/5.77 store %x, %2 16.09/5.77 store %y, %3 16.09/5.77 %4 = alloca i8, numElementsLit: 4 16.09/5.77 %5 = bitcast *i8 %4 to *i32 16.09/5.77 store %5, %x_ref 16.09/5.77 %6 = alloca i8, numElementsLit: 4 16.09/5.77 %7 = bitcast *i8 %6 to *i32 16.09/5.77 store %7, %y_ref 16.09/5.77 %8 = load %2 16.09/5.77 %9 = load %x_ref 16.09/5.77 store %8, %9 16.09/5.77 %10 = load %3 16.09/5.77 %11 = load %y_ref 16.09/5.77 store %10, %11 16.09/5.77 %12 = load %x_ref 16.09/5.77 %13 = load %12 16.09/5.77 %14 = icmp sle %13 0 16.09/5.77 br %14, %15, %18 16.09/5.77 15: 16.09/5.77 %16 = load %y_ref 16.09/5.77 %17 = load %16 16.09/5.77 store %17, %1 16.09/5.77 br %42 16.09/5.77 18: 16.09/5.77 br %19 16.09/5.77 19: 16.09/5.77 %20 = load %x_ref 16.09/5.77 %21 = load %20 16.09/5.77 %22 = load %y_ref 16.09/5.77 %23 = load %22 16.09/5.77 %24 = icmp sgt %21 %23 16.09/5.77 br %24, %25, %39 16.09/5.77 25: 16.09/5.77 %26 = load %x_ref 16.09/5.77 %27 = load %26 16.09/5.77 %28 = icmp sle %27 0 16.09/5.77 br %28, %29, %32 16.09/5.77 29: 16.09/5.77 %30 = load %y_ref 16.09/5.77 %31 = load %30 16.09/5.77 store %31, %1 16.09/5.77 br %42 16.09/5.77 32: 16.09/5.77 %33 = load %y_ref 16.09/5.77 %34 = load %33 16.09/5.77 %35 = load %x_ref 16.09/5.77 %36 = load %35 16.09/5.77 %37 = add %34 %36 16.09/5.77 %38 = load %y_ref 16.09/5.77 store %37, %38 16.09/5.77 br %19 16.09/5.77 39: 16.09/5.77 %40 = load %y_ref 16.09/5.77 %41 = load %40 16.09/5.77 store %41, %1 16.09/5.77 br %42 16.09/5.77 42: 16.09/5.77 %43 = load %1 16.09/5.77 ret %43 16.09/5.77 16.09/5.77 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 16.09/5.77 0: 16.09/5.77 %1 = alloca i32, align 4 16.09/5.77 store 0, %1 16.09/5.77 %2 = call i32 @__VERIFIER_nondet_int() 16.09/5.77 %3 = call i32 @__VERIFIER_nondet_int() 16.09/5.77 %4 = call i32 @test_fun(i32 %2, i32 %3) 16.09/5.77 ret %4 16.09/5.77 16.09/5.77 16.09/5.77 Analyze Termination of all function calls matching the pattern: 16.09/5.77 main() 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (3) LLVMToTerminationGraphProof (EQUIVALENT) 16.09/5.77 Constructed symbolic execution graph for LLVM program and proved memory safety. 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (4) 16.09/5.77 Obligation: 16.09/5.77 SE Graph 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (5) SymbolicExecutionGraphToSCCProof (SOUND) 16.09/5.77 Splitted symbolic execution graph to 1 SCC. 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (6) 16.09/5.77 Obligation: 16.09/5.77 SCC 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (7) SCC2IRS (SOUND) 16.09/5.77 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 16.09/5.77 Generated rules. Obtained 20 rulesP rules: 16.09/5.77 f_316(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_317(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_317(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_318(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_318(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_319(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_319(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_320(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: v71 < v59 && 1 + v69 <= 0 16.09/5.77 f_320(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_322(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_322(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_324(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: TRUE 16.09/5.77 f_324(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_326(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_326(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_328(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_328(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_330(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_330(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_332(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: TRUE 16.09/5.77 f_332(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_334(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_334(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v69, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_336(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_336(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_338(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_338(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_339(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_339(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_340(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: v83 = v71 + v59 16.09/5.77 f_340(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_341(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 f_341(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_342(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: TRUE 16.09/5.77 f_342(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_343(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: TRUE 16.09/5.77 f_343(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_315(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v71, 1, v83, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: v60 < v59 && 1 <= v59 && 1 <= v61 && 1 <= v62 && 1 <= v63 && 1 <= v64 && 1 <= v65 && 1 <= v66 && 1 <= v67 && 1 <= v72 && 4 <= v73 && 4 <= v74 && 4 <= v75 && 4 <= v76 && 8 <= v77 && 8 <= v78 && 4 <= v79 && 4 <= v80 && v72 <= v73 && v61 <= v74 && v62 <= v75 && v63 <= v76 && v64 <= v77 && v65 <= v78 && v66 <= v79 && v67 <= v80 16.09/5.77 f_315(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) -> f_316(v59, v60, v61, v62, v63, v64, v65, v66, v67, 0, v69, 1, v71, v72, v73, v74, v75, v76, v77, v78, v79, v80, 3, 7, 4, 8) :|: 0 = 0 16.09/5.77 Combined rules. Obtained 1 rulesP rules: 16.09/5.77 f_316(v59:0, v60:0, v61:0, v62:0, v63:0, v64:0, v65:0, v66:0, v67:0, 0, v69:0, 1, v71:0, v72:0, v73:0, v74:0, v75:0, v76:0, v77:0, v78:0, v79:0, v80:0, 3, 7, 4, 8) -> f_316(v59:0, v60:0, v61:0, v62:0, v63:0, v64:0, v65:0, v66:0, v67:0, 0, v71:0, 1, v71:0 + v59:0, v72:0, v73:0, v74:0, v75:0, v76:0, v77:0, v78:0, v79:0, v80:0, 3, 7, 4, 8) :|: v59:0 > 0 && v60:0 < v59:0 && v61:0 > 0 && v62:0 > 0 && v63:0 > 0 && v64:0 > 0 && v65:0 > 0 && v66:0 > 0 && v67:0 > 0 && v72:0 > 0 && v73:0 > 3 && v69:0 < 0 && v71:0 < v59:0 && v74:0 > 3 && v75:0 > 3 && v76:0 > 3 && v77:0 > 7 && v78:0 > 7 && v79:0 > 3 && v80:0 > 3 && v73:0 >= v72:0 && v74:0 >= v61:0 && v75:0 >= v62:0 && v76:0 >= v63:0 && v77:0 >= v64:0 && v78:0 >= v65:0 && v80:0 >= v67:0 && v79:0 >= v66:0 16.09/5.77 Filtered unneeded arguments: 16.09/5.77 f_316(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26) -> f_316(x1, x2, x3, x4, x5, x6, x7, x8, x9, x11, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) 16.09/5.77 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 16.09/5.77 f_316(v59:0, v60:0, v61:0, v62:0, v63:0, v64:0, v65:0, v66:0, v67:0, v69:0, v71:0, v72:0, v73:0, v74:0, v75:0, v76:0, v77:0, v78:0, v79:0, v80:0) -> f_316(v59:0, v60:0, v61:0, v62:0, v63:0, v64:0, v65:0, v66:0, v67:0, v71:0, v71:0 + v59:0, v72:0, v73:0, v74:0, v75:0, v76:0, v77:0, v78:0, v79:0, v80:0) :|: v60:0 < v59:0 && v59:0 > 0 && v61:0 > 0 && v62:0 > 0 && v63:0 > 0 && v64:0 > 0 && v65:0 > 0 && v66:0 > 0 && v67:0 > 0 && v72:0 > 0 && v73:0 > 3 && v69:0 < 0 && v71:0 < v59:0 && v74:0 > 3 && v75:0 > 3 && v76:0 > 3 && v77:0 > 7 && v78:0 > 7 && v79:0 > 3 && v80:0 > 3 && v73:0 >= v72:0 && v74:0 >= v61:0 && v75:0 >= v62:0 && v76:0 >= v63:0 && v77:0 >= v64:0 && v78:0 >= v65:0 && v79:0 >= v66:0 && v80:0 >= v67:0 16.09/5.77 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (8) 16.09/5.77 Obligation: 16.09/5.77 Rules: 16.09/5.77 f_316(v59:0, v60:0, v61:0, v62:0, v63:0, v64:0, v65:0, v66:0, v67:0, v69:0, v71:0, v72:0, v73:0, v74:0, v75:0, v76:0, v77:0, v78:0, v79:0, v80:0) -> f_316(v59:0, v60:0, v61:0, v62:0, v63:0, v64:0, v65:0, v66:0, v67:0, v71:0, v71:0 + v59:0, v72:0, v73:0, v74:0, v75:0, v76:0, v77:0, v78:0, v79:0, v80:0) :|: v60:0 < v59:0 && v59:0 > 0 && v61:0 > 0 && v62:0 > 0 && v63:0 > 0 && v64:0 > 0 && v65:0 > 0 && v66:0 > 0 && v67:0 > 0 && v72:0 > 0 && v73:0 > 3 && v69:0 < 0 && v71:0 < v59:0 && v74:0 > 3 && v75:0 > 3 && v76:0 > 3 && v77:0 > 7 && v78:0 > 7 && v79:0 > 3 && v80:0 > 3 && v73:0 >= v72:0 && v74:0 >= v61:0 && v75:0 >= v62:0 && v76:0 >= v63:0 && v77:0 >= v64:0 && v78:0 >= v65:0 && v79:0 >= v66:0 && v80:0 >= v67:0 16.09/5.77 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (9) IntTRSCompressionProof (EQUIVALENT) 16.09/5.77 Compressed rules. 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (10) 16.09/5.77 Obligation: 16.09/5.77 Rules: 16.09/5.77 f_316(v59:0:0, v60:0:0, v61:0:0, v62:0:0, v63:0:0, v64:0:0, v65:0:0, v66:0:0, v67:0:0, v69:0:0, v71:0:0, v72:0:0, v73:0:0, v74:0:0, v75:0:0, v76:0:0, v77:0:0, v78:0:0, v79:0:0, v80:0:0) -> f_316(v59:0:0, v60:0:0, v61:0:0, v62:0:0, v63:0:0, v64:0:0, v65:0:0, v66:0:0, v67:0:0, v71:0:0, v71:0:0 + v59:0:0, v72:0:0, v73:0:0, v74:0:0, v75:0:0, v76:0:0, v77:0:0, v78:0:0, v79:0:0, v80:0:0) :|: v79:0:0 >= v66:0:0 && v80:0:0 >= v67:0:0 && v78:0:0 >= v65:0:0 && v77:0:0 >= v64:0:0 && v76:0:0 >= v63:0:0 && v75:0:0 >= v62:0:0 && v74:0:0 >= v61:0:0 && v73:0:0 >= v72:0:0 && v80:0:0 > 3 && v79:0:0 > 3 && v78:0:0 > 7 && v77:0:0 > 7 && v76:0:0 > 3 && v75:0:0 > 3 && v74:0:0 > 3 && v71:0:0 < v59:0:0 && v69:0:0 < 0 && v73:0:0 > 3 && v72:0:0 > 0 && v67:0:0 > 0 && v66:0:0 > 0 && v65:0:0 > 0 && v64:0:0 > 0 && v63:0:0 > 0 && v62:0:0 > 0 && v61:0:0 > 0 && v59:0:0 > 0 && v60:0:0 < v59:0:0 16.09/5.77 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (11) RankingReductionPairProof (EQUIVALENT) 16.09/5.77 Interpretation: 16.09/5.77 [ f_316 ] = -1*f_316_11 + f_316_1 16.09/5.77 16.09/5.77 The following rules are decreasing: 16.09/5.77 f_316(v59:0:0, v60:0:0, v61:0:0, v62:0:0, v63:0:0, v64:0:0, v65:0:0, v66:0:0, v67:0:0, v69:0:0, v71:0:0, v72:0:0, v73:0:0, v74:0:0, v75:0:0, v76:0:0, v77:0:0, v78:0:0, v79:0:0, v80:0:0) -> f_316(v59:0:0, v60:0:0, v61:0:0, v62:0:0, v63:0:0, v64:0:0, v65:0:0, v66:0:0, v67:0:0, v71:0:0, v71:0:0 + v59:0:0, v72:0:0, v73:0:0, v74:0:0, v75:0:0, v76:0:0, v77:0:0, v78:0:0, v79:0:0, v80:0:0) :|: v79:0:0 >= v66:0:0 && v80:0:0 >= v67:0:0 && v78:0:0 >= v65:0:0 && v77:0:0 >= v64:0:0 && v76:0:0 >= v63:0:0 && v75:0:0 >= v62:0:0 && v74:0:0 >= v61:0:0 && v73:0:0 >= v72:0:0 && v80:0:0 > 3 && v79:0:0 > 3 && v78:0:0 > 7 && v77:0:0 > 7 && v76:0:0 > 3 && v75:0:0 > 3 && v74:0:0 > 3 && v71:0:0 < v59:0:0 && v69:0:0 < 0 && v73:0:0 > 3 && v72:0:0 > 0 && v67:0:0 > 0 && v66:0:0 > 0 && v65:0:0 > 0 && v64:0:0 > 0 && v63:0:0 > 0 && v62:0:0 > 0 && v61:0:0 > 0 && v59:0:0 > 0 && v60:0:0 < v59:0:0 16.09/5.77 16.09/5.77 The following rules are bounded: 16.09/5.77 f_316(v59:0:0, v60:0:0, v61:0:0, v62:0:0, v63:0:0, v64:0:0, v65:0:0, v66:0:0, v67:0:0, v69:0:0, v71:0:0, v72:0:0, v73:0:0, v74:0:0, v75:0:0, v76:0:0, v77:0:0, v78:0:0, v79:0:0, v80:0:0) -> f_316(v59:0:0, v60:0:0, v61:0:0, v62:0:0, v63:0:0, v64:0:0, v65:0:0, v66:0:0, v67:0:0, v71:0:0, v71:0:0 + v59:0:0, v72:0:0, v73:0:0, v74:0:0, v75:0:0, v76:0:0, v77:0:0, v78:0:0, v79:0:0, v80:0:0) :|: v79:0:0 >= v66:0:0 && v80:0:0 >= v67:0:0 && v78:0:0 >= v65:0:0 && v77:0:0 >= v64:0:0 && v76:0:0 >= v63:0:0 && v75:0:0 >= v62:0:0 && v74:0:0 >= v61:0:0 && v73:0:0 >= v72:0:0 && v80:0:0 > 3 && v79:0:0 > 3 && v78:0:0 > 7 && v77:0:0 > 7 && v76:0:0 > 3 && v75:0:0 > 3 && v74:0:0 > 3 && v71:0:0 < v59:0:0 && v69:0:0 < 0 && v73:0:0 > 3 && v72:0:0 > 0 && v67:0:0 > 0 && v66:0:0 > 0 && v65:0:0 > 0 && v64:0:0 > 0 && v63:0:0 > 0 && v62:0:0 > 0 && v61:0:0 > 0 && v59:0:0 > 0 && v60:0:0 < v59:0:0 16.09/5.77 16.09/5.77 16.09/5.77 ---------------------------------------- 16.09/5.77 16.09/5.77 (12) 16.09/5.77 YES 16.09/5.80 EOF