/export/starexec/sandbox/solver/bin/starexec_run_c /export/starexec/sandbox/benchmark/theBenchmark.c /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/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, 180 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 22.1 s] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (6) AND (7) LLVM Symbolic Execution SCC (8) SCC2IRS [SOUND, 119 ms] (9) IntTRS (10) RankingReductionPairProof [EQUIVALENT, 9 ms] (11) YES (12) LLVM Symbolic Execution SCC (13) SCC2IRS [SOUND, 122 ms] (14) IntTRS (15) IntTRSCompressionProof [EQUIVALENT, 0 ms] (16) IntTRS (17) RankingReductionPairProof [EQUIVALENT, 0 ms] (18) YES (19) LLVM Symbolic Execution SCC (20) SCC2IRS [SOUND, 69 ms] (21) IntTRS (22) RankingReductionPairProof [EQUIVALENT, 0 ms] (23) YES ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox/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: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %u = alloca *i32, align 8 %x = alloca *i32, align 8 %v = alloca *i32, align 8 %y = alloca *i32, align 8 %w = alloca *i32, align 8 %z = alloca *i32, align 8 %c = alloca *i32, align 8 store 0, %1 %2 = alloca i8, numElementsLit: 4 %3 = bitcast *i8 %2 to *i32 store %3, %u %4 = alloca i8, numElementsLit: 4 %5 = bitcast *i8 %4 to *i32 store %5, %x %6 = alloca i8, numElementsLit: 4 %7 = bitcast *i8 %6 to *i32 store %7, %v %8 = alloca i8, numElementsLit: 4 %9 = bitcast *i8 %8 to *i32 store %9, %y %10 = alloca i8, numElementsLit: 4 %11 = bitcast *i8 %10 to *i32 store %11, %w %12 = alloca i8, numElementsLit: 4 %13 = bitcast *i8 %12 to *i32 store %13, %z %14 = alloca i8, numElementsLit: 4 %15 = bitcast *i8 %14 to *i32 store %15, %c %16 = load %x %17 = load %16 %18 = load %u store %17, %18 %19 = load %y %20 = load %19 %21 = load %v store %20, %21 %22 = load %z %23 = load %22 %24 = load %w store %23, %24 %25 = load %c store 0, %25 br %26 26: %27 = load %x %28 = load %27 %29 = load %y %30 = load %29 %31 = icmp sge %28 %30 br %31, %32, %57 32: %33 = load %c %34 = load %33 %35 = add %34 1 %36 = load %c store %35, %36 %37 = load %z %38 = load %37 %39 = icmp sgt %38 1 br %39, %40, %51 40: %41 = load %z %42 = load %41 %43 = sub %42 1 %44 = load %z store %43, %44 %45 = load %x %46 = load %45 %47 = load %z %48 = load %47 %49 = add %46 %48 %50 = load %x store %49, %50 br %56 51: %52 = load %y %53 = load %52 %54 = add %53 1 %55 = load %y store %54, %55 br %56 56: br %26 57: %58 = load %1 ret %58 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 3 SCCs. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC ---------------------------------------- (8) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 24 rulesP rules: f_933(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_934(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_934(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_935(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_935(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_936(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_936(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_937(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_937(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_938(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: v2776 <= v2768 f_938(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_940(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_940(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_942(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE f_942(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_944(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_944(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2771, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_946(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_946(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_947(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: v2903 = 1 + v2772 && 3 <= v2903 f_947(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_948(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_948(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_949(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE f_949(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_950(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_950(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_951(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_951(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_952(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_952(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_953(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE f_953(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_954(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_954(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2769, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_955(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_955(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_956(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: v2942 = 1 + v2776 f_956(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_957(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: 0 = 0 f_957(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_958(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE f_958(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_959(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE f_959(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_932(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2776, 1, v2772, v2903, 0, 2, v2775, v2942, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE f_932(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) -> f_933(v2750, v2751, v2752, v2753, v2754, v2755, v2756, v2757, v2758, v2759, v2760, v2761, v2762, v2763, v2764, v2765, v2766, v2767, v2768, v2769, 1, v2771, v2772, 0, 2, v2775, v2776, v2777, v2778, v2779, v2780, v2781, v2782, v2783, v2784, v2785, v2786, v2787, v2788, v2789, v2790, v2791, 3, 7, 4, 8) :|: TRUE Combined rules. Obtained 1 rulesP rules: f_933(v2750:0, v2751:0, v2752:0, v2753:0, v2754:0, v2755:0, v2756:0, v2757:0, v2758:0, v2759:0, v2760:0, v2761:0, v2762:0, v2763:0, v2764:0, v2765:0, v2766:0, v2767:0, v2768:0, v2769:0, 1, v2771:0, v2772:0, 0, 2, v2775:0, v2776:0, v2777:0, v2778:0, v2779:0, v2780:0, v2781:0, v2782:0, v2783:0, v2784:0, v2785:0, v2786:0, v2787:0, v2788:0, v2789:0, v2790:0, v2791:0, 3, 7, 4, 8) -> f_933(v2750:0, v2751:0, v2752:0, v2753:0, v2754:0, v2755:0, v2756:0, v2757:0, v2758:0, v2759:0, v2760:0, v2761:0, v2762:0, v2763:0, v2764:0, v2765:0, v2766:0, v2767:0, v2768:0, v2776:0, 1, v2772:0, 1 + v2772:0, 0, 2, v2775:0, 1 + v2776:0, v2777:0, v2778:0, v2779:0, v2780:0, v2781:0, v2782:0, v2783:0, v2784:0, v2785:0, v2786:0, v2787:0, v2788:0, v2789:0, v2790:0, v2791:0, 3, 7, 4, 8) :|: v2772:0 > 1 && v2776:0 <= v2768:0 Filtered unneeded arguments: f_933(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) -> f_933(x19, x23, x27) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_933(v2768:0, v2772:0, v2776:0) -> f_933(v2768:0, 1 + v2772:0, 1 + v2776:0) :|: v2772:0 > 1 && v2776:0 <= v2768:0 ---------------------------------------- (9) Obligation: Rules: f_933(v2768:0, v2772:0, v2776:0) -> f_933(v2768:0, 1 + v2772:0, 1 + v2776:0) :|: v2772:0 > 1 && v2776:0 <= v2768:0 ---------------------------------------- (10) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f_933 ] = -1*f_933_3 + f_933_1 The following rules are decreasing: f_933(v2768:0, v2772:0, v2776:0) -> f_933(v2768:0, 1 + v2772:0, 1 + v2776:0) :|: v2772:0 > 1 && v2776:0 <= v2768:0 The following rules are bounded: f_933(v2768:0, v2772:0, v2776:0) -> f_933(v2768:0, 1 + v2772:0, 1 + v2776:0) :|: v2772:0 > 1 && v2776:0 <= v2768:0 ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: SCC ---------------------------------------- (13) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 32 rulesP rules: f_833(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1982, 1, v1984, v1985, v1986, v1987, v1988, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_834(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1982, 1, v1984, v1985, v1986, v1987, v1988, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_834(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1982, 1, v1984, v1985, v1986, v1987, v1988, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_835(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_835(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_836(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_836(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_837(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_837(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_838(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: v1980 <= v1988 f_838(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_840(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_840(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_842(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_842(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_844(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_844(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1984, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_846(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_846(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_847(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: v2103 = 1 + v1985 && 2 <= v2103 f_847(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_848(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_848(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_849(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_849(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_850(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_850(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1986, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_851(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_851(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_852(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 1 < v1987 && 3 <= v1986 && 3 <= v1981 f_852(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_854(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_854(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_856(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_856(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_858(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_858(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1986, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_860(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_860(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_862(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 1 + v2122 = v1987 && 1 <= v2122 f_862(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_864(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_864(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_866(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_866(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_868(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_868(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1982, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_870(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_870(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_872(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_872(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_874(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_874(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_876(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: v2224 = v1988 + v2122 f_876(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_878(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_878(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_880(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_880(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_883(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_883(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_832(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1988, 1, v1985, v2103, v1987, v2122, v2224, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE f_832(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1982, 1, v1984, v1985, v1986, v1987, v1988, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) -> f_833(v1964, v1965, v1966, v1967, v1968, v1969, v1970, v1971, v1972, v1973, v1974, v1975, v1976, v1977, v1978, v1979, v1980, v1981, v1982, 1, v1984, v1985, v1986, v1987, v1988, v1989, v1990, v1991, v1992, v1993, v1994, v1995, v1996, v1997, v1998, v1999, v2000, v2001, v2002, v2003, 0, 3, 7, 2, 4, 8) :|: TRUE Combined rules. Obtained 1 rulesP rules: f_833(v1964:0, v1965:0, v1966:0, v1967:0, v1968:0, v1969:0, v1970:0, v1971:0, v1972:0, v1973:0, v1974:0, v1975:0, v1976:0, v1977:0, v1978:0, v1979:0, v1980:0, v1981:0, v1982:0, 1, v1984:0, v1985:0, v1986:0, 1 + v2122:0, v1988:0, v1989:0, v1990:0, v1991:0, v1992:0, v1993:0, v1994:0, v1995:0, v1996:0, v1997:0, v1998:0, v1999:0, v2000:0, v2001:0, v2002:0, v2003:0, 0, 3, 7, 2, 4, 8) -> f_833(v1964:0, v1965:0, v1966:0, v1967:0, v1968:0, v1969:0, v1970:0, v1971:0, v1972:0, v1973:0, v1974:0, v1975:0, v1976:0, v1977:0, v1978:0, v1979:0, v1980:0, v1981:0, v1988:0, 1, v1985:0, 1 + v1985:0, 1 + v2122:0, v2122:0, v1988:0 + v2122:0, v1989:0, v1990:0, v1991:0, v1992:0, v1993:0, v1994:0, v1995:0, v1996:0, v1997:0, v1998:0, v1999:0, v2000:0, v2001:0, v2002:0, v2003:0, 0, 3, 7, 2, 4, 8) :|: v1988:0 >= v1980:0 && v1985:0 > 0 && v1986:0 > 2 && v2122:0 > 0 && v1981:0 > 2 Filtered unneeded arguments: f_833(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) -> f_833(x17, x18, x22, x23, x24, x25) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_833(v1980:0, v1981:0, v1985:0, v1986:0, sum~cons_1~v2122:0, v1988:0) -> f_833(v1980:0, v1981:0, 1 + v1985:0, 1 + v2122:0, v2122:0, v1988:0 + v2122:0) :|: v1985:0 > 0 && v1988:0 >= v1980:0 && v1986:0 > 2 && v1981:0 > 2 && v2122:0 > 0 && sum~cons_1~v2122:0 = 1 + v2122:0 ---------------------------------------- (14) Obligation: Rules: f_833(v1980:0, v1981:0, v1985:0, v1986:0, sum~cons_1~v2122:0, v1988:0) -> f_833(v1980:0, v1981:0, 1 + v1985:0, 1 + v2122:0, v2122:0, v1988:0 + v2122:0) :|: v1985:0 > 0 && v1988:0 >= v1980:0 && v1986:0 > 2 && v1981:0 > 2 && v2122:0 > 0 && sum~cons_1~v2122:0 = 1 + v2122:0 ---------------------------------------- (15) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (16) Obligation: Rules: f_833(v1980:0:0, v1981:0:0, v1985:0:0, v1986:0:0, sum~cons_1~v2122:0:0, v1988:0:0) -> f_833(v1980:0:0, v1981:0:0, 1 + v1985:0:0, 1 + v2122:0:0, v2122:0:0, v1988:0:0 + v2122:0:0) :|: v1981:0:0 > 2 && v2122:0:0 > 0 && v1986:0:0 > 2 && v1988:0:0 >= v1980:0:0 && v1985:0:0 > 0 && sum~cons_1~v2122:0:0 = 1 + v2122:0:0 ---------------------------------------- (17) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f_833 ] = f_833_5 The following rules are decreasing: f_833(v1980:0:0, v1981:0:0, v1985:0:0, v1986:0:0, sum~cons_1~v2122:0:0, v1988:0:0) -> f_833(v1980:0:0, v1981:0:0, 1 + v1985:0:0, 1 + v2122:0:0, v2122:0:0, v1988:0:0 + v2122:0:0) :|: v1981:0:0 > 2 && v2122:0:0 > 0 && v1986:0:0 > 2 && v1988:0:0 >= v1980:0:0 && v1985:0:0 > 0 && sum~cons_1~v2122:0:0 = 1 + v2122:0:0 The following rules are bounded: f_833(v1980:0:0, v1981:0:0, v1985:0:0, v1986:0:0, sum~cons_1~v2122:0:0, v1988:0:0) -> f_833(v1980:0:0, v1981:0:0, 1 + v1985:0:0, 1 + v2122:0:0, v2122:0:0, v1988:0:0 + v2122:0:0) :|: v1981:0:0 > 2 && v2122:0:0 > 0 && v1986:0:0 > 2 && v1988:0:0 >= v1980:0:0 && v1985:0:0 > 0 && sum~cons_1~v2122:0:0 = 1 + v2122:0:0 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: SCC ---------------------------------------- (20) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 24 rulesP rules: f_717(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_719(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 f_719(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_721(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 f_721(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_723(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 f_723(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_725(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: v1478 <= v1470 f_725(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_729(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 f_729(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_733(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: TRUE f_733(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_737(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 f_737(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1475, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_741(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 f_741(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_744(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: v1554 = 1 + v1476 && 2 <= v1554 f_744(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_747(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_747(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_750(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: TRUE f_750(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_753(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_753(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_756(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_756(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_759(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_759(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_762(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: TRUE f_762(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_765(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_765(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1473, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_768(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_768(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_771(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: v1650 = 1 + v1478 f_771(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_775(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: 0 = 0 f_775(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_778(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: TRUE f_778(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_780(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: TRUE f_780(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_782(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) :|: TRUE f_782(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8, 2) -> f_715(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1478, 1, v1476, v1554, 0, v1650, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: TRUE f_715(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) -> f_717(v1455, v1456, v1457, v1458, v1459, v1460, v1461, v1462, v1463, v1464, v1465, v1466, v1467, v1468, v1469, v1470, v1471, v1472, v1473, 1, v1475, v1476, 0, v1478, v1479, v1480, v1481, v1482, v1483, v1484, v1485, v1486, v1487, v1488, v1489, v1490, v1491, v1492, v1493, 3, 7, 4, 8) :|: 0 = 0 Combined rules. Obtained 1 rulesP rules: f_717(v1455:0, v1456:0, v1457:0, v1458:0, v1459:0, v1460:0, v1461:0, v1462:0, v1463:0, v1464:0, v1465:0, v1466:0, v1467:0, v1468:0, v1469:0, v1470:0, v1471:0, v1472:0, v1473:0, 1, v1475:0, v1476:0, 0, v1478:0, v1479:0, v1480:0, v1481:0, v1482:0, v1483:0, v1484:0, v1485:0, v1486:0, v1487:0, v1488:0, v1489:0, v1490:0, v1491:0, v1492:0, v1493:0, 3, 7, 4, 8) -> f_717(v1455:0, v1456:0, v1457:0, v1458:0, v1459:0, v1460:0, v1461:0, v1462:0, v1463:0, v1464:0, v1465:0, v1466:0, v1467:0, v1468:0, v1469:0, v1470:0, v1471:0, v1472:0, v1478:0, 1, v1476:0, 1 + v1476:0, 0, 1 + v1478:0, v1479:0, v1480:0, v1481:0, v1482:0, v1483:0, v1484:0, v1485:0, v1486:0, v1487:0, v1488:0, v1489:0, v1490:0, v1491:0, v1492:0, v1493:0, 3, 7, 4, 8) :|: v1476:0 > 0 && v1478:0 <= v1470:0 Filtered unneeded arguments: f_717(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) -> f_717(x16, x22, x24) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_717(v1470:0, v1476:0, v1478:0) -> f_717(v1470:0, 1 + v1476:0, 1 + v1478:0) :|: v1476:0 > 0 && v1478:0 <= v1470:0 ---------------------------------------- (21) Obligation: Rules: f_717(v1470:0, v1476:0, v1478:0) -> f_717(v1470:0, 1 + v1476:0, 1 + v1478:0) :|: v1476:0 > 0 && v1478:0 <= v1470:0 ---------------------------------------- (22) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f_717 ] = -1*f_717_3 + f_717_1 The following rules are decreasing: f_717(v1470:0, v1476:0, v1478:0) -> f_717(v1470:0, 1 + v1476:0, 1 + v1478:0) :|: v1476:0 > 0 && v1478:0 <= v1470:0 The following rules are bounded: f_717(v1470:0, v1476:0, v1478:0) -> f_717(v1470:0, 1 + v1476:0, 1 + v1478:0) :|: v1476:0 > 0 && v1478:0 <= v1470:0 ---------------------------------------- (23) YES