84.51/37.86 YES 84.87/37.95 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 84.87/37.95 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 84.87/37.95 84.87/37.95 84.87/37.95 Termination of the given C Problem could be proven: 84.87/37.95 84.87/37.95 (0) C Problem 84.87/37.95 (1) CToLLVMProof [EQUIVALENT, 173 ms] 84.87/37.95 (2) LLVM problem 84.87/37.95 (3) LLVMToTerminationGraphProof [EQUIVALENT, 33.9 s] 84.87/37.95 (4) LLVM Symbolic Execution Graph 84.87/37.95 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 84.87/37.95 (6) LLVM Symbolic Execution SCC 84.87/37.95 (7) SCC2IRS [SOUND, 201 ms] 84.87/37.95 (8) IntTRS 84.87/37.95 (9) IntTRSCompressionProof [EQUIVALENT, 0 ms] 84.87/37.95 (10) IntTRS 84.87/37.95 (11) RankingReductionPairProof [EQUIVALENT, 28 ms] 84.87/37.95 (12) YES 84.87/37.95 84.87/37.95 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (0) 84.87/37.95 Obligation: 84.87/37.95 c file /export/starexec/sandbox/benchmark/theBenchmark.c 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (1) CToLLVMProof (EQUIVALENT) 84.87/37.95 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (2) 84.87/37.95 Obligation: 84.87/37.95 LLVM Problem 84.87/37.95 84.87/37.95 Aliases: 84.87/37.95 84.87/37.95 Data layout: 84.87/37.95 84.87/37.95 "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" 84.87/37.95 84.87/37.95 Machine: 84.87/37.95 84.87/37.95 "x86_64-pc-linux-gnu" 84.87/37.95 84.87/37.95 Type definitions: 84.87/37.95 84.87/37.95 Global variables: 84.87/37.95 84.87/37.95 Function declarations and definitions: 84.87/37.95 84.87/37.95 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 84.87/37.95 *BasicFunctionTypename: "diff" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (A *i32, Alen i32, B *i32, Blen i32, D *i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 84.87/37.95 0: 84.87/37.95 %1 = alloca *i32, align 8 84.87/37.95 %2 = alloca i32, align 4 84.87/37.95 %3 = alloca *i32, align 8 84.87/37.95 %4 = alloca i32, align 4 84.87/37.95 %5 = alloca *i32, align 8 84.87/37.95 %k = alloca i32, align 4 84.87/37.95 %i = alloca i32, align 4 84.87/37.95 %l1 = alloca i32, align 4 84.87/37.95 %l2 = alloca i32, align 4 84.87/37.95 %found = alloca i32, align 4 84.87/37.95 %j = alloca i32, align 4 84.87/37.95 store %A, %1 84.87/37.95 store %Alen, %2 84.87/37.95 store %B, %3 84.87/37.95 store %Blen, %4 84.87/37.95 store %D, %5 84.87/37.95 store 0, %k 84.87/37.95 store 0, %i 84.87/37.95 %6 = load %2 84.87/37.95 store %6, %l1 84.87/37.95 %7 = load %4 84.87/37.95 store %7, %l2 84.87/37.95 br %8 84.87/37.95 8: 84.87/37.95 %9 = load %i 84.87/37.95 %10 = load %l1 84.87/37.95 %11 = icmp slt %9 %10 84.87/37.95 br %11, %12, %58 84.87/37.95 12: 84.87/37.95 store 0, %j 84.87/37.95 store 0, %found 84.87/37.95 br %13 84.87/37.95 13: 84.87/37.95 %14 = load %j 84.87/37.95 %15 = load %l2 84.87/37.95 %16 = icmp slt %14 %15 84.87/37.95 br %16, %17, %21 84.87/37.95 17: 84.87/37.95 %18 = load %found 84.87/37.95 %19 = icmp ne %18 0 84.87/37.95 %20 = xor %19 1 84.87/37.95 br %21 84.87/37.95 21: 84.87/37.95 %22 = phi [0, %13], [%20, %17] 84.87/37.95 br %22, %23, %40 84.87/37.95 23: 84.87/37.95 %24 = load %i 84.87/37.95 %25 = sext i32 %24 to i64 84.87/37.95 %26 = load %1 84.87/37.95 %27 = getelementptr %26, %25 84.87/37.95 %28 = load %27 84.87/37.95 %29 = load %j 84.87/37.95 %30 = sext i32 %29 to i64 84.87/37.95 %31 = load %3 84.87/37.95 %32 = getelementptr %31, %30 84.87/37.95 %33 = load %32 84.87/37.95 %34 = icmp eq %28 %33 84.87/37.95 br %34, %35, %36 84.87/37.95 35: 84.87/37.95 store 1, %found 84.87/37.95 br %39 84.87/37.95 36: 84.87/37.95 %37 = load %j 84.87/37.95 %38 = add %37 1 84.87/37.95 store %38, %j 84.87/37.95 br %39 84.87/37.95 39: 84.87/37.95 br %13 84.87/37.95 40: 84.87/37.95 %41 = load %found 84.87/37.95 %42 = icmp ne %41 0 84.87/37.95 br %42, %55, %43 84.87/37.95 43: 84.87/37.95 %44 = load %i 84.87/37.95 %45 = sext i32 %44 to i64 84.87/37.95 %46 = load %1 84.87/37.95 %47 = getelementptr %46, %45 84.87/37.95 %48 = load %47 84.87/37.95 %49 = load %k 84.87/37.95 %50 = sext i32 %49 to i64 84.87/37.95 %51 = load %5 84.87/37.95 %52 = getelementptr %51, %50 84.87/37.95 store %48, %52 84.87/37.95 %53 = load %k 84.87/37.95 %54 = add %53 1 84.87/37.95 store %54, %k 84.87/37.95 br %55 84.87/37.95 55: 84.87/37.95 %56 = load %i 84.87/37.95 %57 = add %56 1 84.87/37.95 store %57, %i 84.87/37.95 br %8 84.87/37.95 58: 84.87/37.95 ret void 84.87/37.95 84.87/37.95 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 84.87/37.95 0: 84.87/37.95 %1 = alloca i32, align 4 84.87/37.95 %Alen = alloca i32, align 4 84.87/37.95 %Blen = alloca i32, align 4 84.87/37.95 %A = alloca *i32, align 8 84.87/37.95 %B = alloca *i32, align 8 84.87/37.95 %D = alloca *i32, align 8 84.87/37.95 store 0, %1 84.87/37.95 %2 = call i32 @__VERIFIER_nondet_int() 84.87/37.95 store %2, %Alen 84.87/37.95 %3 = call i32 @__VERIFIER_nondet_int() 84.87/37.95 store %3, %Blen 84.87/37.95 %4 = load %Alen 84.87/37.95 %5 = icmp slt %4 1 84.87/37.95 br %5, %6, %7 84.87/37.95 6: 84.87/37.95 store 1, %Alen 84.87/37.95 br %7 84.87/37.95 7: 84.87/37.95 %8 = load %Blen 84.87/37.95 %9 = icmp slt %8 1 84.87/37.95 br %9, %10, %11 84.87/37.95 10: 84.87/37.95 store 1, %Blen 84.87/37.95 br %11 84.87/37.95 11: 84.87/37.95 %12 = load %Alen 84.87/37.95 %13 = sext i32 %12 to i64 84.87/37.95 %14 = mul %13 4 84.87/37.95 %15 = alloca i8, numElementsLit: %14 84.87/37.95 %16 = bitcast *i8 %15 to *i32 84.87/37.95 store %16, %A 84.87/37.95 %17 = load %Blen 84.87/37.95 %18 = sext i32 %17 to i64 84.87/37.95 %19 = mul %18 4 84.87/37.95 %20 = alloca i8, numElementsLit: %19 84.87/37.95 %21 = bitcast *i8 %20 to *i32 84.87/37.95 store %21, %B 84.87/37.95 %22 = load %Alen 84.87/37.95 %23 = sext i32 %22 to i64 84.87/37.95 %24 = mul %23 4 84.87/37.95 %25 = alloca i8, numElementsLit: %24 84.87/37.95 %26 = bitcast *i8 %25 to *i32 84.87/37.95 store %26, %D 84.87/37.95 %27 = load %A 84.87/37.95 %28 = load %Alen 84.87/37.95 %29 = load %B 84.87/37.95 %30 = load %Blen 84.87/37.95 %31 = load %D 84.87/37.95 Unnamed Call-Instruction = call BasicVoidType @diff(*i32 %27, i32 %28, *i32 %29, i32 %30, *i32 %31) 84.87/37.95 ret 0 84.87/37.95 84.87/37.95 84.87/37.95 Analyze Termination of all function calls matching the pattern: 84.87/37.95 main() 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (3) LLVMToTerminationGraphProof (EQUIVALENT) 84.87/37.95 Constructed symbolic execution graph for LLVM program and proved memory safety. 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (4) 84.87/37.95 Obligation: 84.87/37.95 SE Graph 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (5) SymbolicExecutionGraphToSCCProof (SOUND) 84.87/37.95 Splitted symbolic execution graph to 1 SCC. 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (6) 84.87/37.95 Obligation: 84.87/37.95 SCC 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (7) SCC2IRS (SOUND) 84.87/37.95 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 84.87/37.95 Generated rules. Obtained 40 rulesP rules: 84.87/37.95 f_1803(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) -> f_1805(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1805(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) -> f_1806(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1806(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) -> f_1807(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1807(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1808(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1808(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1809(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1809(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1810(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1810(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1811(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1811(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1812(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1812(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1813(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1813(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1814(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1814(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1815(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1815(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1816(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1816(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1817(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1817(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1818(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1818(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1819(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1819(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1820(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1820(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2997, v2998, v2999, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1821(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2998, v2999, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1821(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2998, v2999, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1822(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2998, v2999, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) :|: 0 = 0 84.87/37.95 f_1822(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v2998, v2999, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8) -> f_1823(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v2999, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: v3053 = v2978 + 4 * v2994 && 5 <= v3053 84.87/37.95 f_1823(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v2999, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1824(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: TRUE 84.87/37.95 f_1824(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1825(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1825(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v2997, v3000, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1826(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3000, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1826(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3000, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1827(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3000, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1827(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3000, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1828(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3000, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: v3056 = v2982 + 4 * v2994 && 5 <= v3056 84.87/37.95 f_1828(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3000, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1829(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: TRUE 84.87/37.95 f_1829(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1830(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1830(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1831(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: v3058 = 1 + v2994 && 2 <= v3058 84.87/37.95 f_1831(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1832(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: TRUE 84.87/37.95 f_1832(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1833(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: TRUE 84.87/37.95 f_1833(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v2997, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1834(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1834(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1835(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: v3058 = 1 + v2994 84.87/37.95 f_1835(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1836(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: TRUE 84.87/37.95 f_1836(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1837(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: TRUE 84.87/37.95 f_1837(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v2994, 1, 0, v3053, v3054, v3056, v3058, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1838(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1838(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1839(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) :|: 0 = 0 84.87/37.95 f_1839(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 2, 8, 5) -> f_1840(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 8, 12, 5, 2) :|: v3058 < v2979 && 3 <= v2979 && 12 <= v3018 && 12 <= v3020 84.87/37.95 f_1840(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 8, 12, 5, 2) -> f_1842(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 8, 12, 5, 2) :|: 0 = 0 84.87/37.95 f_1842(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 8, 12, 5, 2) -> f_1844(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 8, 12, 5, 2) :|: TRUE 84.87/37.95 f_1844(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2998, v2999, v3007, v3008, v3009, v3010, v3011, 3, 7, 4, 8, 12, 5, 2) -> f_1801(v2978, v2979, v2980, v2981, v2982, v2983, v2984, v2985, v2986, v2987, v2988, v2989, v2990, v2991, v2992, v2993, v3058, 1, 0, v2994, v3053, v3054, v3056, v3001, v3012, v3002, v3013, v3003, v3014, v3004, v3015, v3005, v3016, v3006, v3017, v3018, v3019, v3020, v3021, v3022, v3023, v3024, v3025, v3026, v3027, v3028, v3029, v3030, v3031, v3032, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 f_1801(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) -> f_1803(v2867, v2868, v2869, v2870, v2871, v2872, v2873, v2874, v2875, v2876, v2877, v2878, v2879, v2880, v2881, v2882, v2883, 1, 0, v2886, v2887, v2888, v2889, v2890, v2901, v2891, v2902, v2892, v2903, v2893, v2904, v2894, v2905, v2895, v2906, v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, v2896, v2897, v2898, v2899, v2900, 3, 7, 4, 2, 8) :|: TRUE 84.87/37.95 Combined rules. Obtained 1 rulesP rules: 84.87/37.95 f_1803(v2867:0, v2868:0, v2869:0, v2870:0, v2871:0, v2872:0, v2873:0, v2874:0, v2875:0, v2876:0, v2877:0, v2878:0, v2879:0, v2880:0, v2881:0, v2882:0, v2883:0, 1, 0, v2886:0, v2887:0, v2888:0, v2889:0, v2890:0, v2901:0, v2891:0, v2902:0, v2892:0, v2903:0, v2893:0, v2904:0, v2894:0, v2905:0, v2895:0, v2906:0, v2907:0, v2908:0, v2909:0, v2910:0, v2911:0, v2912:0, v2913:0, v2914:0, v2915:0, v2916:0, v2917:0, v2918:0, v2919:0, v2920:0, v2921:0, v2896:0, v2897:0, v2898:0, v2899:0, v2900:0, 3, 7, 4, 2, 8) -> f_1803(v2867:0, v2868:0, v2869:0, v2870:0, v2871:0, v2872:0, v2873:0, v2874:0, v2875:0, v2876:0, v2877:0, v2878:0, v2879:0, v2880:0, v2881:0, v2882:0, 1 + v2883:0, 1, 0, v2883:0, v2867:0 + 4 * v2883:0, v3054:0, v2871:0 + 4 * v2883:0, v2890:0, v2901:0, v2891:0, v2902:0, v2892:0, v2903:0, v2893:0, v2904:0, v2894:0, v2905:0, v2895:0, v2906:0, v2907:0, v2908:0, v2909:0, v2910:0, v2911:0, v2912:0, v2913:0, v2914:0, v2915:0, v2916:0, v2917:0, v2918:0, v2919:0, v2920:0, v2921:0, v2896:1, v2897:1, v2898:1, v2899:1, v2900:1, 3, 7, 4, 2, 8) :|: v2867:0 + 4 * v2883:0 > 4 && v2871:0 + 4 * v2883:0 > 4 && v2883:0 > 0 && v2868:0 > 2 && v2868:0 > 1 + v2883:0 && v2909:0 > 11 && v2907:0 > 11 84.87/37.95 Filtered unneeded arguments: 84.87/37.95 f_1803(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, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60) -> f_1803(x1, x2, x5, x17, x36, x38) 84.87/37.95 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 84.87/37.95 f_1803(v2867:0, v2868:0, v2871:0, v2883:0, v2907:0, v2909:0) -> f_1803(v2867:0, v2868:0, v2871:0, 1 + v2883:0, v2907:0, v2909:0) :|: v2871:0 + 4 * v2883:0 > 4 && v2867:0 + 4 * v2883:0 > 4 && v2883:0 > 0 && v2868:0 > 2 && v2868:0 > 1 + v2883:0 && v2907:0 > 11 && v2909:0 > 11 84.87/37.95 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (8) 84.87/37.95 Obligation: 84.87/37.95 Rules: 84.87/37.95 f_1803(v2867:0, v2868:0, v2871:0, v2883:0, v2907:0, v2909:0) -> f_1803(v2867:0, v2868:0, v2871:0, 1 + v2883:0, v2907:0, v2909:0) :|: v2871:0 + 4 * v2883:0 > 4 && v2867:0 + 4 * v2883:0 > 4 && v2883:0 > 0 && v2868:0 > 2 && v2868:0 > 1 + v2883:0 && v2907:0 > 11 && v2909:0 > 11 84.87/37.95 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (9) IntTRSCompressionProof (EQUIVALENT) 84.87/37.95 Compressed rules. 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (10) 84.87/37.95 Obligation: 84.87/37.95 Rules: 84.87/37.95 f_1803(v2867:0:0, v2868:0:0, v2871:0:0, v2883:0:0, v2907:0:0, v2909:0:0) -> f_1803(v2867:0:0, v2868:0:0, v2871:0:0, 1 + v2883:0:0, v2907:0:0, v2909:0:0) :|: v2907:0:0 > 11 && v2909:0:0 > 11 && v2868:0:0 > 1 + v2883:0:0 && v2868:0:0 > 2 && v2883:0:0 > 0 && v2867:0:0 + 4 * v2883:0:0 > 4 && v2871:0:0 + 4 * v2883:0:0 > 4 84.87/37.95 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (11) RankingReductionPairProof (EQUIVALENT) 84.87/37.95 Interpretation: 84.87/37.95 [ f_1803 ] = f_1803_2 + -1*f_1803_4 84.87/37.95 84.87/37.95 The following rules are decreasing: 84.87/37.95 f_1803(v2867:0:0, v2868:0:0, v2871:0:0, v2883:0:0, v2907:0:0, v2909:0:0) -> f_1803(v2867:0:0, v2868:0:0, v2871:0:0, 1 + v2883:0:0, v2907:0:0, v2909:0:0) :|: v2907:0:0 > 11 && v2909:0:0 > 11 && v2868:0:0 > 1 + v2883:0:0 && v2868:0:0 > 2 && v2883:0:0 > 0 && v2867:0:0 + 4 * v2883:0:0 > 4 && v2871:0:0 + 4 * v2883:0:0 > 4 84.87/37.95 84.87/37.95 The following rules are bounded: 84.87/37.95 f_1803(v2867:0:0, v2868:0:0, v2871:0:0, v2883:0:0, v2907:0:0, v2909:0:0) -> f_1803(v2867:0:0, v2868:0:0, v2871:0:0, 1 + v2883:0:0, v2907:0:0, v2909:0:0) :|: v2907:0:0 > 11 && v2909:0:0 > 11 && v2868:0:0 > 1 + v2883:0:0 && v2868:0:0 > 2 && v2883:0:0 > 0 && v2867:0:0 + 4 * v2883:0:0 > 4 && v2871:0:0 + 4 * v2883:0:0 > 4 84.87/37.95 84.87/37.95 84.87/37.95 ---------------------------------------- 84.87/37.95 84.87/37.95 (12) 84.87/37.95 YES 84.87/37.99 EOF