69.90/22.65 YES 69.90/22.66 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 69.90/22.66 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 69.90/22.66 69.90/22.66 69.90/22.66 Termination of the given C Problem could be proven: 69.90/22.66 69.90/22.66 (0) C Problem 69.90/22.66 (1) CToLLVMProof [EQUIVALENT, 171 ms] 69.90/22.66 (2) LLVM problem 69.90/22.66 (3) LLVMToTerminationGraphProof [EQUIVALENT, 13.2 s] 69.90/22.66 (4) LLVM Symbolic Execution Graph 69.90/22.66 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 69.90/22.66 (6) AND 69.90/22.66 (7) LLVM Symbolic Execution SCC 69.90/22.66 (8) SCC2IRS [SOUND, 326 ms] 69.90/22.66 (9) IntTRS 69.90/22.66 (10) IRS2T2 [EQUIVALENT, 2 ms] 69.90/22.66 (11) T2IntSys 69.90/22.66 (12) T2 [EQUIVALENT, 1094 ms] 69.90/22.66 (13) YES 69.90/22.66 (14) LLVM Symbolic Execution SCC 69.90/22.66 (15) SCC2IRS [SOUND, 125 ms] 69.90/22.66 (16) IntTRS 69.90/22.66 (17) IntTRSCompressionProof [EQUIVALENT, 0 ms] 69.90/22.66 (18) IntTRS 69.90/22.66 (19) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 69.90/22.66 (20) IntTRS 69.90/22.66 (21) RankingReductionPairProof [EQUIVALENT, 24 ms] 69.90/22.66 (22) YES 69.90/22.66 69.90/22.66 69.90/22.66 ---------------------------------------- 69.90/22.66 69.90/22.66 (0) 69.90/22.66 Obligation: 69.90/22.66 c file /export/starexec/sandbox/benchmark/theBenchmark.c 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (1) CToLLVMProof (EQUIVALENT) 69.90/22.67 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (2) 69.90/22.67 Obligation: 69.90/22.67 LLVM Problem 69.90/22.67 69.90/22.67 Aliases: 69.90/22.67 69.90/22.67 Data layout: 69.90/22.67 69.90/22.67 "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" 69.90/22.67 69.90/22.67 Machine: 69.90/22.67 69.90/22.67 "x86_64-pc-linux-gnu" 69.90/22.67 69.90/22.67 Type definitions: 69.90/22.67 69.90/22.67 Global variables: 69.90/22.67 69.90/22.67 Function declarations and definitions: 69.90/22.67 69.90/22.67 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 69.90/22.67 *BasicFunctionTypename: "cstrreplace" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (s *i8, old i8 signext, new i8 signext) variableLength: false visibilityType: DEFAULT callingConvention: ccc 69.90/22.67 0: 69.90/22.67 %1 = alloca *i8, align 8 69.90/22.67 %2 = alloca i8, align 1 69.90/22.67 %3 = alloca i8, align 1 69.90/22.67 %p = alloca *i8, align 8 69.90/22.67 %numReplaced = alloca i32, align 4 69.90/22.67 store %s, %1 69.90/22.67 store %old, %2 69.90/22.67 store %new, %3 69.90/22.67 %4 = load %1 69.90/22.67 store %4, %p 69.90/22.67 store 0, %numReplaced 69.90/22.67 br %5 69.90/22.67 5: 69.90/22.67 %6 = load %p 69.90/22.67 %7 = load %6 69.90/22.67 %8 = sext i8 %7 to i32 69.90/22.67 %9 = icmp ne %8 0 69.90/22.67 br %9, %10, %25 69.90/22.67 10: 69.90/22.67 %11 = load %p 69.90/22.67 %12 = load %11 69.90/22.67 %13 = sext i8 %12 to i32 69.90/22.67 %14 = load %2 69.90/22.67 %15 = sext i8 %14 to i32 69.90/22.67 %16 = icmp eq %13 %15 69.90/22.67 br %16, %17, %22 69.90/22.67 17: 69.90/22.67 %18 = load %3 69.90/22.67 %19 = load %p 69.90/22.67 store %18, %19 69.90/22.67 %20 = load %numReplaced 69.90/22.67 %21 = add %20 1 69.90/22.67 store %21, %numReplaced 69.90/22.67 br %22 69.90/22.67 22: 69.90/22.67 %23 = load %p 69.90/22.67 %24 = getelementptr %23, 1 69.90/22.67 store %24, %p 69.90/22.67 br %5 69.90/22.67 25: 69.90/22.67 %26 = load %numReplaced 69.90/22.67 ret %26 69.90/22.67 69.90/22.67 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 69.90/22.67 0: 69.90/22.67 %1 = alloca i32, align 4 69.90/22.67 %length1 = alloca i32, align 4 69.90/22.67 %nondetString1 = alloca *i8, align 8 69.90/22.67 store 0, %1 69.90/22.67 %2 = call i32 @__VERIFIER_nondet_int() 69.90/22.67 store %2, %length1 69.90/22.67 %3 = load %length1 69.90/22.67 %4 = icmp slt %3 1 69.90/22.67 br %4, %5, %6 69.90/22.67 5: 69.90/22.67 store 1, %length1 69.90/22.67 br %6 69.90/22.67 6: 69.90/22.67 %7 = load %length1 69.90/22.67 %8 = sext i32 %7 to i64 69.90/22.67 %9 = mul %8 1 69.90/22.67 %10 = alloca i8, numElementsLit: %9 69.90/22.67 store %10, %nondetString1 69.90/22.67 %11 = load %length1 69.90/22.67 %12 = sub %11 1 69.90/22.67 %13 = sext i32 %12 to i64 69.90/22.67 %14 = load %nondetString1 69.90/22.67 %15 = getelementptr %14, %13 69.90/22.67 store 0, %15 69.90/22.67 %16 = load %nondetString1 69.90/22.67 %17 = call i32 @__VERIFIER_nondet_int() 69.90/22.67 %18 = trunc i32 %17 to i8 69.90/22.67 %19 = call i32 @__VERIFIER_nondet_int() 69.90/22.67 %20 = trunc i32 %19 to i8 69.90/22.67 %21 = call i32 @cstrreplace(*i8 %16, i8 signext %18, i8 signext %20) 69.90/22.67 ret %21 69.90/22.67 69.90/22.67 69.90/22.67 Analyze Termination of all function calls matching the pattern: 69.90/22.67 main() 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (3) LLVMToTerminationGraphProof (EQUIVALENT) 69.90/22.67 Constructed symbolic execution graph for LLVM program and proved memory safety. 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (4) 69.90/22.67 Obligation: 69.90/22.67 SE Graph 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (5) SymbolicExecutionGraphToSCCProof (SOUND) 69.90/22.67 Splitted symbolic execution graph to 2 SCCs. 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (6) 69.90/22.67 Complex Obligation (AND) 69.90/22.67 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (7) 69.90/22.67 Obligation: 69.90/22.67 SCC 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (8) SCC2IRS (SOUND) 69.90/22.67 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 69.90/22.67 Generated rules. Obtained 55 rulesP rules: 69.90/22.67 f_904(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) -> f_907(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4989, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) :|: v4989 = 1 + v4956 && 3 <= v4989 69.90/22.67 f_907(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4989, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) -> f_910(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4989, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_910(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4989, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) -> f_913(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4989, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_913(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4989, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) -> f_914(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4959, v4960, v4989, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, 0, v4964, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_914(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5114, 1, v5116, v5117, v5118, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_917(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_917(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_920(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_920(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_922(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_922(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_924(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: v5146 != 0 && v5118 < v5125 && 3 <= v5125 69.90/22.67 f_924(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_927(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_927(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_931(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_931(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_935(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_935(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_939(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_939(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_942(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_942(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_944(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_944(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_946(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_946(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_948(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: v5146 = v5107 69.90/22.67 f_946(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_949(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: v5146 != v5107 69.90/22.67 f_948(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_951(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_951(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_954(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_954(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_989(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, 1, v5114, v5116, v5117, v5114, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, v5108, 0, v5122, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_989(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5667, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_991(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5667, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_991(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5667, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_992(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_992(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_993(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_993(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5668, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_994(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_994(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_995(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5769, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: v5769 = 1 + v5669 && 2 <= v5769 69.90/22.67 f_995(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5769, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_996(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5769, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_996(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5769, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_997(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5769, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_997(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5669, v5769, v5670, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5667, v5687, 0, v5674, v5676, v5678, v5679, 3, 7, 2, 4, 8) -> f_902(v5657, v5658, v5659, v5660, v5661, v5662, v5663, v5664, v5665, 1, v5670, v5669, v5769, v5671, v5680, v5672, v5681, v5673, v5682, v5677, v5683, v5684, v5685, v5686, v5687, 0, v5674, v4966, v4968, v4969, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_902(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4958, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) -> f_904(v4948, v4949, v4950, v4951, v4952, v4953, v4954, v4955, v4956, 1, v4959, v4960, v4961, v4970, v4962, v4971, v4963, v4972, v4967, v4973, v4974, v4975, v4976, v4958, v4977, 0, v4964, v4966, v4968, v4969, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_949(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, 0, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_952(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, 0, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_952(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, 0, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_955(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, 0, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_955(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, 0, v5114, v5116, v5117, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, v5122, v5124, v5126, v5127, 3, 7, 2, 4, 8) -> f_956(v5106, v5107, v5108, v5109, v5110, v5111, v5112, v5113, v5118, v5146, 1, 0, v5114, v5116, v5117, v5114, v5119, v5128, v5120, v5129, v5121, v5130, v5125, v5131, v5132, v5133, v5134, v5108, v5122, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_956(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5395, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_958(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_958(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_960(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5423, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: v5423 = 1 + v5388 && 3 <= v5423 69.90/22.67 f_960(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5423, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_962(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5423, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_962(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5423, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_964(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5423, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_964(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5388, v5389, 1, 0, v5392, v5393, v5394, v5423, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_966(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5389, 1, v5388, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_966(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5389, 1, v5388, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_968(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, v5389, 1, v5388, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_968(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, v5389, 1, v5388, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_970(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_970(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_971(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: v5473 != 0 && v5423 < v5401 && 4 <= v5401 69.90/22.67 f_971(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_973(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_973(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_975(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_975(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5388, v5389, 0, v5392, v5393, v5394, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_977(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5389, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_977(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5389, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_979(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5389, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_979(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, v5389, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_981(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_981(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_982(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_982(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_983(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_983(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_984(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: v5473 = v5381 69.90/22.67 f_983(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_985(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: v5473 != v5381 69.90/22.67 f_984(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_986(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, 0, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_986(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, 0, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_988(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, 0, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_988(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, 0, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_989(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, 1, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, 0, v5399, v5676, v5678, v5679, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_985(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_987(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: 0 = 0 69.90/22.67 f_987(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_990(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 f_990(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5395, v5411, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) -> f_956(v5380, v5381, v5382, v5383, v5384, v5385, v5386, v5387, v5423, v5473, 1, 0, v5392, v5393, v5394, v5388, v5396, v5404, v5397, v5405, v5398, v5406, v5401, v5407, v5408, v5409, v5410, v5389, v5399, v5400, v5402, v5403, 3, 7, 2, 4, 8) :|: TRUE 69.90/22.67 Combined rules. Obtained 15 rulesP rules: 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + v4956:0, 1, v4960:0, 1 + v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4956:0, v4950:0, 0, v4964:0, v4966:1, v4968:1, v4969:1, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 1 + v4956:0 && v4949:0 < 0 && v4960:0 > 0 && v4967:0 > 2 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + v4956:0, 1, v4960:0, 1 + v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4956:0, v4950:0, 0, v4964:0, v4966:1, v4968:1, v4969:1, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 1 + v4956:0 && v4949:0 > 0 && v4960:0 > 0 && v4967:0 > 2 69.90/22.67 f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, v5423:0, v5473:0, 1, 0, v5392:0, v5393:0, v5394:0, v5388:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5389:0, v5395:0, v5411:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) -> f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, 1 + v5423:0, v5473:1, 1, 0, v5392:0, v5393:0, v5394:0, v5423:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5473:0, v5388:0, v5389:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v5423:0 > 1 && v5401:0 > 1 + v5423:0 && v5473:1 < 0 && v5473:0 < v5381:0 && v5401:0 > 3 69.90/22.67 f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, v5423:0, v5473:0, 1, 0, v5392:0, v5393:0, v5394:0, v5388:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5389:0, v5395:0, v5411:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) -> f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, 1 + v5423:0, v5473:1, 1, 0, v5392:0, v5393:0, v5394:0, v5423:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5473:0, v5388:0, v5389:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v5423:0 > 1 && v5401:0 > 1 + v5423:0 && v5473:1 > 0 && v5473:0 < v5381:0 && v5401:0 > 3 69.90/22.67 f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, v5423:0, v5473:0, 1, 0, v5392:0, v5393:0, v5394:0, v5388:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5389:0, v5395:0, v5411:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) -> f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, 1 + v5423:0, v5473:1, 1, 0, v5392:0, v5393:0, v5394:0, v5423:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5473:0, v5388:0, v5389:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v5423:0 > 1 && v5401:0 > 1 + v5423:0 && v5473:1 < 0 && v5473:0 > v5381:0 && v5401:0 > 3 69.90/22.67 f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, v5423:0, v5473:0, 1, 0, v5392:0, v5393:0, v5394:0, v5388:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5389:0, v5395:0, v5411:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) -> f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, 1 + v5423:0, v5473:1, 1, 0, v5392:0, v5393:0, v5394:0, v5423:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5473:0, v5388:0, v5389:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v5423:0 > 1 && v5401:0 > 1 + v5423:0 && v5473:1 > 0 && v5473:0 > v5381:0 && v5401:0 > 3 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 < 0 && v5146:0 < v4949:0 && v5473:0 < 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 < 0 && v5146:0 < v4949:0 && v5473:0 > 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 < 0 && v5146:0 > v4949:0 && v5473:0 < 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 < 0 && v5146:0 > v4949:0 && v5473:0 > 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 > 0 && v5146:0 < v4949:0 && v5473:0 < 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 > 0 && v5146:0 < v4949:0 && v5473:0 > 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 > 0 && v5146:0 > v4949:0 && v5473:0 < 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_904(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, v4956:0, 1, v4959:0, v4960:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v4958:0, v4977:0, 0, v4964:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) -> f_983(v4948:0, v4949:0, v4950:0, v4951:0, v4952:0, v4953:0, v4954:0, v4955:0, 1 + (1 + v4956:0), v5473:0, 1, 0, v4956:0, v4959:0, v4960:0, 1 + v4956:0, v4961:0, v4970:0, v4962:0, v4971:0, v4963:0, v4972:0, v4967:0, v4973:0, v4974:0, v4975:0, v4976:0, v5146:0, v4956:0, v4950:0, v4964:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) :|: v4956:0 > 1 && v4967:0 > 3 && v4967:0 > 1 + v4956:0 && v5146:0 > 0 && v5146:0 > v4949:0 && v5473:0 > 0 && v4967:0 > 1 + (1 + v4956:0) 69.90/22.67 f_983(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, v5423:0, v5381:0, 1, 0, v5392:0, v5393:0, v5394:0, v5388:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5389:0, v5395:0, v5411:0, v5399:0, v5400:0, v5402:0, v5403:0, 3, 7, 2, 4, 8) -> f_904(v5380:0, v5381:0, v5382:0, v5383:0, v5384:0, v5385:0, v5386:0, v5387:0, v5423:0, 1, v5394:0, 1 + v5394:0, v5396:0, v5404:0, v5397:0, v5405:0, v5398:0, v5406:0, v5401:0, v5407:0, v5408:0, v5409:0, v5410:0, v5388:0, v5389:0, 0, v5399:0, v4966:0, v4968:0, v4969:0, 3, 7, 2, 4, 8) :|: v5394:0 > 0 69.90/22.67 Filtered unneeded arguments: 69.90/22.67 f_904(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, x35) -> f_904(x2, x9, x12, x19) 69.90/22.67 f_983(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, x35, x36, x37, x38, x39) -> f_983(x2, x9, x10, x15, x23) 69.90/22.67 Removed division, modulo operations, cleaned up constraints. Obtained 9 rules.P rules: 69.90/22.67 f_904(v4949:0, v4956:0, v4960:0, v4967:0) -> f_904(v4949:0, 1 + v4956:0, 1 + v4960:0, v4967:0) :|: v4967:0 > 1 + v4956:0 && v4956:0 > 1 && v4949:0 < 0 && v4967:0 > 2 && v4960:0 > 0 69.90/22.67 f_904(v4949:0, v4956:0, v4960:0, v4967:0) -> f_904(v4949:0, 1 + v4956:0, 1 + v4960:0, v4967:0) :|: v4967:0 > 1 + v4956:0 && v4956:0 > 1 && v4949:0 > 0 && v4967:0 > 2 && v4960:0 > 0 69.90/22.67 f_983(v5381:0, v5423:0, v5473:0, v5394:0, v5401:0) -> f_983(v5381:0, 1 + v5423:0, v5473:1, v5394:0, v5401:0) :|: v5401:0 > 1 + v5423:0 && v5423:0 > 1 && v5473:1 < 0 && v5401:0 > 3 && v5473:0 < v5381:0 69.90/22.67 f_983(v5381:0, v5423:0, v5473:0, v5394:0, v5401:0) -> f_983(v5381:0, 1 + v5423:0, v5473:1, v5394:0, v5401:0) :|: v5401:0 > 1 + v5423:0 && v5423:0 > 1 && v5473:1 > 0 && v5401:0 > 3 && v5473:0 < v5381:0 69.90/22.67 f_983(v5381:0, v5423:0, v5473:0, v5394:0, v5401:0) -> f_983(v5381:0, 1 + v5423:0, v5473:1, v5394:0, v5401:0) :|: v5401:0 > 1 + v5423:0 && v5423:0 > 1 && v5473:1 < 0 && v5401:0 > 3 && v5473:0 > v5381:0 69.90/22.67 f_983(v5381:0, v5423:0, v5473:0, v5394:0, v5401:0) -> f_983(v5381:0, 1 + v5423:0, v5473:1, v5394:0, v5401:0) :|: v5401:0 > 1 + v5423:0 && v5423:0 > 1 && v5473:1 > 0 && v5401:0 > 3 && v5473:0 > v5381:0 69.90/22.67 f_904(v4949:0, v4956:0, v4960:0, v4967:0) -> f_983(v4949:0, 1 + (1 + v4956:0), v5473:0, v4960:0, v4967:0) :|: v4967:0 > 3 && v4956:0 > 1 && v4967:0 > 1 + v4956:0 && v4967:0 > 1 + (1 + v4956:0) && v5473:0 < 0 69.90/22.67 f_904(v4949:0, v4956:0, v4960:0, v4967:0) -> f_983(v4949:0, 1 + (1 + v4956:0), v5473:0, v4960:0, v4967:0) :|: v4967:0 > 3 && v4956:0 > 1 && v4967:0 > 1 + v4956:0 && v4967:0 > 1 + (1 + v4956:0) && v5473:0 > 0 69.90/22.67 f_983(v5381:0, v5423:0, v5381:01, v5394:0, v5401:0) -> f_904(v5381:0, v5423:0, 1 + v5394:0, v5401:0) :|: v5394:0 > 0 && v5381:0 = v5381:01 69.90/22.67 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (9) 69.90/22.67 Obligation: 69.90/22.67 Rules: 69.90/22.67 f_904(v4949:0, v4956:0, v4960:0, v4967:0) -> f_904(v4949:0, 1 + v4956:0, 1 + v4960:0, v4967:0) :|: v4967:0 > 1 + v4956:0 && v4956:0 > 1 && v4949:0 < 0 && v4967:0 > 2 && v4960:0 > 0 69.90/22.67 f_904(x, x1, x2, x3) -> f_904(x, 1 + x1, 1 + x2, x3) :|: x3 > 1 + x1 && x1 > 1 && x > 0 && x3 > 2 && x2 > 0 69.90/22.67 f_983(v5381:0, v5423:0, v5473:0, v5394:0, v5401:0) -> f_983(v5381:0, 1 + v5423:0, v5473:1, v5394:0, v5401:0) :|: v5401:0 > 1 + v5423:0 && v5423:0 > 1 && v5473:1 < 0 && v5401:0 > 3 && v5473:0 < v5381:0 69.90/22.67 f_983(x4, x5, x6, x7, x8) -> f_983(x4, 1 + x5, x9, x7, x8) :|: x8 > 1 + x5 && x5 > 1 && x9 > 0 && x8 > 3 && x6 < x4 69.90/22.67 f_983(x10, x11, x12, x13, x14) -> f_983(x10, 1 + x11, x15, x13, x14) :|: x14 > 1 + x11 && x11 > 1 && x15 < 0 && x14 > 3 && x12 > x10 69.90/22.67 f_983(x16, x17, x18, x19, x20) -> f_983(x16, 1 + x17, x21, x19, x20) :|: x20 > 1 + x17 && x17 > 1 && x21 > 0 && x20 > 3 && x18 > x16 69.90/22.67 f_904(x22, x23, x24, x25) -> f_983(x22, 1 + (1 + x23), x26, x24, x25) :|: x25 > 3 && x23 > 1 && x25 > 1 + x23 && x25 > 1 + (1 + x23) && x26 < 0 69.90/22.67 f_904(x27, x28, x29, x30) -> f_983(x27, 1 + (1 + x28), x31, x29, x30) :|: x30 > 3 && x28 > 1 && x30 > 1 + x28 && x30 > 1 + (1 + x28) && x31 > 0 69.90/22.67 f_983(x32, x33, x34, x35, x36) -> f_904(x32, x33, 1 + x35, x36) :|: x35 > 0 && x32 = x34 69.90/22.67 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (10) IRS2T2 (EQUIVALENT) 69.90/22.67 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 69.90/22.67 69.90/22.67 (f_904_5,1) 69.90/22.67 (f_983_5,2) 69.90/22.67 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (11) 69.90/22.67 Obligation: 69.90/22.67 START: 0; 69.90/22.67 69.90/22.67 FROM: 0; 69.90/22.67 TO: 1; 69.90/22.67 69.90/22.67 FROM: 0; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 1; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX3 > 1 + oldX1 && oldX1 > 1 && oldX0 < 0 && oldX3 > 2 && oldX2 > 0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + oldX1; 69.90/22.67 x2 := 1 + oldX2; 69.90/22.67 x3 := oldX3; 69.90/22.67 x4 := oldX5; 69.90/22.67 TO: 1; 69.90/22.67 69.90/22.67 FROM: 1; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX3 > 1 + oldX1 && oldX1 > 1 && oldX0 > 0 && oldX3 > 2 && oldX2 > 0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + oldX1; 69.90/22.67 x2 := 1 + oldX2; 69.90/22.67 x3 := oldX3; 69.90/22.67 x4 := oldX5; 69.90/22.67 TO: 1; 69.90/22.67 69.90/22.67 FROM: 2; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX4 > 1 + oldX1 && oldX1 > 1 && oldX5 < 0 && oldX4 > 3 && oldX2 < oldX0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + oldX1; 69.90/22.67 x2 := oldX5; 69.90/22.67 x3 := oldX3; 69.90/22.67 x4 := oldX4; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 2; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX4 > 1 + oldX1 && oldX1 > 1 && oldX5 > 0 && oldX4 > 3 && oldX2 < oldX0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + oldX1; 69.90/22.67 x2 := oldX5; 69.90/22.67 x3 := oldX3; 69.90/22.67 x4 := oldX4; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 2; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX4 > 1 + oldX1 && oldX1 > 1 && oldX5 < 0 && oldX4 > 3 && oldX2 > oldX0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + oldX1; 69.90/22.67 x2 := oldX5; 69.90/22.67 x3 := oldX3; 69.90/22.67 x4 := oldX4; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 2; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX4 > 1 + oldX1 && oldX1 > 1 && oldX5 > 0 && oldX4 > 3 && oldX2 > oldX0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + oldX1; 69.90/22.67 x2 := oldX5; 69.90/22.67 x3 := oldX3; 69.90/22.67 x4 := oldX4; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 1; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX3 > 3 && oldX1 > 1 && oldX3 > 1 + oldX1 && oldX3 > 1 + (1 + oldX1) && oldX5 < 0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + (1 + oldX1); 69.90/22.67 x2 := oldX5; 69.90/22.67 x3 := oldX2; 69.90/22.67 x4 := oldX3; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 1; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX3 > 3 && oldX1 > 1 && oldX3 > 1 + oldX1 && oldX3 > 1 + (1 + oldX1) && oldX5 > 0); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := 1 + (1 + oldX1); 69.90/22.67 x2 := oldX5; 69.90/22.67 x3 := oldX2; 69.90/22.67 x4 := oldX3; 69.90/22.67 TO: 2; 69.90/22.67 69.90/22.67 FROM: 2; 69.90/22.67 oldX0 := x0; 69.90/22.67 oldX1 := x1; 69.90/22.67 oldX2 := x2; 69.90/22.67 oldX3 := x3; 69.90/22.67 oldX4 := x4; 69.90/22.67 oldX5 := nondet(); 69.90/22.67 assume(oldX3 > 0 && oldX0 = oldX2); 69.90/22.67 x0 := oldX0; 69.90/22.67 x1 := oldX1; 69.90/22.67 x2 := 1 + oldX3; 69.90/22.67 x3 := oldX4; 69.90/22.67 x4 := oldX5; 69.90/22.67 TO: 1; 69.90/22.67 69.90/22.67 69.90/22.67 ---------------------------------------- 69.90/22.67 69.90/22.67 (12) T2 (EQUIVALENT) 69.90/22.67 Initially, performed program simplifications using lexicographic rank functions: 70.27/22.67 * Removed transitions 2, 5, 6, 7, 8, 20, 23, 24, 25, 26, 27 using the following rank functions: 70.27/22.67 - Rank function 1: 70.27/22.67 RF for loc. 6: -1-3*x1+3*x3 70.27/22.67 RF for loc. 7: 3-3*x1+3*x4 70.27/22.67 RF for loc. 8: -2-3*x1+3*x3 70.27/22.67 RF for loc. 12: -3*x1+3*x4 70.27/22.67 Bound for (chained) transitions 5: 4 70.27/22.67 Bound for (chained) transitions 6: 4 70.27/22.67 Bound for (chained) transitions 7: 7 70.27/22.67 Bound for (chained) transitions 8: 4 70.27/22.67 - Rank function 2: 70.27/22.67 RF for loc. 6: -1 70.27/22.67 RF for loc. 7: 0 70.27/22.67 RF for loc. 8: -2 70.27/22.67 RF for loc. 12: 0 70.27/22.67 Bound for (chained) transitions 2: -1 70.27/22.67 Bound for (chained) transitions 27: 0 70.27/22.67 - Rank function 3: 70.27/22.67 RF for loc. 7: 1-2*x1+2*x4 70.27/22.67 RF for loc. 12: -2*x1+2*x4 70.27/22.67 Bound for (chained) transitions 23: 4 70.27/22.67 Bound for (chained) transitions 24: 4 70.27/22.67 Bound for (chained) transitions 25: 4 70.27/22.67 Bound for (chained) transitions 26: 4 70.27/22.67 - Rank function 4: 70.27/22.67 RF for loc. 7: 0 70.27/22.67 RF for loc. 12: -1 70.27/22.67 Bound for (chained) transitions 20: 0 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (13) 70.27/22.67 YES 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (14) 70.27/22.67 Obligation: 70.27/22.67 SCC 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (15) SCC2IRS (SOUND) 70.27/22.67 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 70.27/22.67 Generated rules. Obtained 19 rulesP rules: 70.27/22.67 f_581(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v1838, 1, v1837, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_587(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, v1838, 1, v1837, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: TRUE 70.27/22.67 f_587(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, v1838, 1, v1837, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_592(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_592(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_597(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: v2105 != 0 && v1841 < v1847 && 4 <= v1847 70.27/22.67 f_597(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_601(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_601(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_605(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: TRUE 70.27/22.67 f_605(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1837, v1838, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_609(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1838, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_609(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1838, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_615(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1838, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_615(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, v1838, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_621(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_621(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_627(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_627(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_630(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_630(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_634(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: v2105 != v1830 70.27/22.67 f_634(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_638(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_638(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_642(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: TRUE 70.27/22.67 f_642(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1837, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_646(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 f_646(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_650(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: v2465 = 1 + v1841 && 4 <= v2465 70.27/22.67 f_650(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_654(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: TRUE 70.27/22.67 f_654(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_659(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: TRUE 70.27/22.67 f_659(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1837, v1838, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_576(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v2105, 1, 0, v2465, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: TRUE 70.27/22.67 f_576(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 1, 0, v1841, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) -> f_581(v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1841, v1838, 1, v1837, 0, v1842, v1850, v1843, v1851, v1844, v1852, v1847, v1853, v1854, v1855, v1857, v1845, v1856, v1858, v1846, v1848, v1849, 3, 7, 2, 4, 8) :|: 0 = 0 70.27/22.67 Combined rules. Obtained 4 rulesP rules: 70.27/22.67 f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1841:0, v1838:0, 1, v1837:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) -> f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, 1 + v1841:0, v2105:0, 1, v1841:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) :|: v1847:0 > v1841:0 && v2105:0 < 0 && v1847:0 > 3 && v1841:0 > 2 && v2105:0 < v1830:0 70.27/22.67 f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1841:0, v1838:0, 1, v1837:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) -> f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, 1 + v1841:0, v2105:0, 1, v1841:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) :|: v1847:0 > v1841:0 && v2105:0 < 0 && v1847:0 > 3 && v1841:0 > 2 && v2105:0 > v1830:0 70.27/22.67 f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1841:0, v1838:0, 1, v1837:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) -> f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, 1 + v1841:0, v2105:0, 1, v1841:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) :|: v1847:0 > v1841:0 && v2105:0 > 0 && v1847:0 > 3 && v1841:0 > 2 && v2105:0 < v1830:0 70.27/22.67 f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1841:0, v1838:0, 1, v1837:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) -> f_581(v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, 1 + v1841:0, v2105:0, 1, v1841:0, 0, v1842:0, v1850:0, v1843:0, v1851:0, v1844:0, v1852:0, v1847:0, v1853:0, v1854:0, v1855:0, v1857:0, v1845:0, v1856:0, v1858:0, v1846:0, v1848:0, v1849:0, 3, 7, 2, 4, 8) :|: v1847:0 > v1841:0 && v2105:0 > 0 && v1847:0 > 3 && v1841:0 > 2 && v2105:0 > v1830:0 70.27/22.67 Filtered unneeded arguments: 70.27/22.67 f_581(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, x35) -> f_581(x2, x9, x20) 70.27/22.67 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 70.27/22.67 f_581(v1830:0, v1841:0, v1847:0) -> f_581(v1830:0, 1 + v1841:0, v1847:0) :|: v1847:0 > 3 && v1841:0 > 2 && v1847:0 > v1841:0 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (16) 70.27/22.67 Obligation: 70.27/22.67 Rules: 70.27/22.67 f_581(v1830:0, v1841:0, v1847:0) -> f_581(v1830:0, 1 + v1841:0, v1847:0) :|: v1847:0 > 3 && v1841:0 > 2 && v1847:0 > v1841:0 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (17) IntTRSCompressionProof (EQUIVALENT) 70.27/22.67 Compressed rules. 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (18) 70.27/22.67 Obligation: 70.27/22.67 Rules: 70.27/22.67 f_581(v1830:0:0, v1841:0:0, v1847:0:0) -> f_581(v1830:0:0, 1 + v1841:0:0, v1847:0:0) :|: v1847:0:0 > 3 && v1841:0:0 > 2 && v1847:0:0 > v1841:0:0 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (19) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 70.27/22.67 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 70.27/22.67 70.27/22.67 f_581(x1, x2, x3) -> f_581(x2, x3) 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (20) 70.27/22.67 Obligation: 70.27/22.67 Rules: 70.27/22.67 f_581(v1841:0:0, v1847:0:0) -> f_581(1 + v1841:0:0, v1847:0:0) :|: v1847:0:0 > 3 && v1841:0:0 > 2 && v1847:0:0 > v1841:0:0 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (21) RankingReductionPairProof (EQUIVALENT) 70.27/22.67 Interpretation: 70.27/22.67 [ f_581 ] = f_581_2 + -1*f_581_1 70.27/22.67 70.27/22.67 The following rules are decreasing: 70.27/22.67 f_581(v1841:0:0, v1847:0:0) -> f_581(1 + v1841:0:0, v1847:0:0) :|: v1847:0:0 > 3 && v1841:0:0 > 2 && v1847:0:0 > v1841:0:0 70.27/22.67 70.27/22.67 The following rules are bounded: 70.27/22.67 f_581(v1841:0:0, v1847:0:0) -> f_581(1 + v1841:0:0, v1847:0:0) :|: v1847:0:0 > 3 && v1841:0:0 > 2 && v1847:0:0 > v1841:0:0 70.27/22.67 70.27/22.67 70.27/22.67 ---------------------------------------- 70.27/22.67 70.27/22.67 (22) 70.27/22.67 YES 70.30/22.71 EOF