/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could be proven: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 178 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 34.2 s] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (6) LLVM Symbolic Execution SCC (7) SCC2IRS [SOUND, 183 ms] (8) IntTRS (9) IntTRSCompressionProof [EQUIVALENT, 1 ms] (10) IntTRS (11) RankingReductionPairProof [EQUIVALENT, 27 ms] (12) YES ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "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" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "diff" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (A *i32, Alen i32, B *i32, Blen i32, D *i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca *i32, align 8 %2 = alloca i32, align 4 %3 = alloca *i32, align 8 %4 = alloca i32, align 4 %5 = alloca *i32, align 8 %k = alloca i32, align 4 %i = alloca i32, align 4 %l1 = alloca i32, align 4 %l2 = alloca i32, align 4 %found = alloca i32, align 4 %j = alloca i32, align 4 store %A, %1 store %Alen, %2 store %B, %3 store %Blen, %4 store %D, %5 store 0, %k store 0, %i %6 = load %2 store %6, %l1 %7 = load %4 store %7, %l2 br %8 8: %9 = load %i %10 = load %l1 %11 = icmp slt %9 %10 br %11, %12, %58 12: store 0, %j store 0, %found br %13 13: %14 = load %j %15 = load %l2 %16 = icmp slt %14 %15 br %16, %17, %21 17: %18 = load %found %19 = icmp ne %18 0 %20 = xor %19 1 br %21 21: %22 = phi [0, %13], [%20, %17] br %22, %23, %40 23: %24 = load %i %25 = sext i32 %24 to i64 %26 = load %1 %27 = getelementptr %26, %25 %28 = load %27 %29 = load %j %30 = sext i32 %29 to i64 %31 = load %3 %32 = getelementptr %31, %30 %33 = load %32 %34 = icmp eq %28 %33 br %34, %35, %36 35: store 1, %found br %39 36: %37 = load %j %38 = add %37 1 store %38, %j br %39 39: br %13 40: %41 = load %found %42 = icmp ne %41 0 br %42, %55, %43 43: %44 = load %i %45 = sext i32 %44 to i64 %46 = load %1 %47 = getelementptr %46, %45 %48 = load %47 %49 = load %k %50 = sext i32 %49 to i64 %51 = load %5 %52 = getelementptr %51, %50 store %48, %52 %53 = load %k %54 = add %53 1 store %54, %k br %55 55: %56 = load %i %57 = add %56 1 store %57, %i br %8 58: ret void *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %Alen = alloca i32, align 4 %Blen = alloca i32, align 4 %A = alloca *i32, align 8 %B = alloca *i32, align 8 %D = alloca *i32, align 8 store 0, %1 %2 = call i32 @__VERIFIER_nondet_int() store %2, %Alen %3 = call i32 @__VERIFIER_nondet_int() store %3, %Blen %4 = load %Alen %5 = icmp slt %4 1 br %5, %6, %7 6: store 1, %Alen br %7 7: %8 = load %Blen %9 = icmp slt %8 1 br %9, %10, %11 10: store 1, %Blen br %11 11: %12 = load %Alen %13 = sext i32 %12 to i64 %14 = mul %13 4 %15 = alloca i8, numElementsLit: %14 %16 = bitcast *i8 %15 to *i32 store %16, %A %17 = load %Blen %18 = sext i32 %17 to i64 %19 = mul %18 4 %20 = alloca i8, numElementsLit: %19 %21 = bitcast *i8 %20 to *i32 store %21, %B %22 = load %Alen %23 = sext i32 %22 to i64 %24 = mul %23 4 %25 = alloca i8, numElementsLit: %24 %26 = bitcast *i8 %25 to *i32 store %26, %D %27 = load %A %28 = load %Alen %29 = load %B %30 = load %Blen %31 = load %D Unnamed Call-Instruction = call BasicVoidType @diff(*i32 %27, i32 %28, *i32 %29, i32 %30, *i32 %31) ret 0 Analyze Termination of all function calls matching the pattern: main() ---------------------------------------- (3) LLVMToTerminationGraphProof (EQUIVALENT) Constructed symbolic execution graph for LLVM program and proved memory safety. ---------------------------------------- (4) Obligation: SE Graph ---------------------------------------- (5) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 1 SCC. ---------------------------------------- (6) Obligation: SCC ---------------------------------------- (7) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 40 rulesP rules: 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Combined rules. Obtained 1 rulesP rules: 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 Filtered unneeded arguments: 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) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 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 ---------------------------------------- (8) Obligation: Rules: 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 ---------------------------------------- (9) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (10) Obligation: Rules: 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 ---------------------------------------- (11) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f_1803 ] = f_1803_2 + -1*f_1803_4 The following rules are decreasing: 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 The following rules are bounded: 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 ---------------------------------------- (12) YES