50.60/19.42 YES 50.60/19.43 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 50.60/19.43 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 50.60/19.43 50.60/19.43 50.60/19.43 Termination of the given C Problem could be proven: 50.60/19.43 50.60/19.43 (0) C Problem 50.60/19.43 (1) CToLLVMProof [EQUIVALENT, 169 ms] 50.60/19.43 (2) LLVM problem 50.60/19.43 (3) LLVMToTerminationGraphProof [EQUIVALENT, 13.0 s] 50.60/19.43 (4) LLVM Symbolic Execution Graph 50.60/19.43 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 50.60/19.43 (6) AND 50.60/19.43 (7) LLVM Symbolic Execution SCC 50.60/19.43 (8) SCC2IRS [SOUND, 96 ms] 50.60/19.43 (9) IntTRS 50.60/19.43 (10) IntTRSCompressionProof [EQUIVALENT, 0 ms] 50.60/19.43 (11) IntTRS 50.60/19.43 (12) RankingReductionPairProof [EQUIVALENT, 13 ms] 50.60/19.43 (13) YES 50.60/19.43 (14) LLVM Symbolic Execution SCC 50.60/19.43 (15) SCC2IRS [SOUND, 110 ms] 50.60/19.43 (16) IntTRS 50.60/19.43 (17) IntTRSCompressionProof [EQUIVALENT, 0 ms] 50.60/19.43 (18) IntTRS 50.60/19.43 (19) RankingReductionPairProof [EQUIVALENT, 6 ms] 50.60/19.43 (20) YES 50.60/19.43 (21) LLVM Symbolic Execution SCC 50.60/19.43 (22) SCC2IRS [SOUND, 67 ms] 50.60/19.43 (23) IntTRS 50.60/19.43 (24) IRS2T2 [EQUIVALENT, 0 ms] 50.60/19.43 (25) T2IntSys 50.60/19.43 (26) T2 [EQUIVALENT, 1022 ms] 50.60/19.43 (27) YES 50.60/19.43 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (0) 50.60/19.43 Obligation: 50.60/19.43 c file /export/starexec/sandbox/benchmark/theBenchmark.c 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (1) CToLLVMProof (EQUIVALENT) 50.60/19.43 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (2) 50.60/19.43 Obligation: 50.60/19.43 LLVM Problem 50.60/19.43 50.60/19.43 Aliases: 50.60/19.43 50.60/19.43 Data layout: 50.60/19.43 50.60/19.43 "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" 50.60/19.43 50.60/19.43 Machine: 50.60/19.43 50.60/19.43 "x86_64-pc-linux-gnu" 50.60/19.43 50.60/19.43 Type definitions: 50.60/19.43 50.60/19.43 Global variables: 50.60/19.43 50.60/19.43 Function declarations and definitions: 50.60/19.43 50.60/19.43 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 50.60/19.43 *BasicFunctionTypename: "test_fun" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (x i32, y i32, z i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 50.60/19.43 0: 50.60/19.43 %1 = alloca i32, align 4 50.60/19.43 %2 = alloca i32, align 4 50.60/19.43 %3 = alloca i32, align 4 50.60/19.43 %x_ref = alloca *i32, align 8 50.60/19.43 %y_ref = alloca *i32, align 8 50.60/19.43 %z_ref = alloca *i32, align 8 50.60/19.43 %c = alloca *i32, align 8 50.60/19.43 store %x, %1 50.60/19.43 store %y, %2 50.60/19.43 store %z, %3 50.60/19.43 %4 = alloca i8, numElementsLit: 4 50.60/19.43 %5 = bitcast *i8 %4 to *i32 50.60/19.43 store %5, %x_ref 50.60/19.43 %6 = alloca i8, numElementsLit: 4 50.60/19.43 %7 = bitcast *i8 %6 to *i32 50.60/19.43 store %7, %y_ref 50.60/19.43 %8 = alloca i8, numElementsLit: 4 50.60/19.43 %9 = bitcast *i8 %8 to *i32 50.60/19.43 store %9, %z_ref 50.60/19.43 %10 = alloca i8, numElementsLit: 4 50.60/19.43 %11 = bitcast *i8 %10 to *i32 50.60/19.43 store %11, %c 50.60/19.43 %12 = load %1 50.60/19.43 %13 = load %x_ref 50.60/19.43 store %12, %13 50.60/19.43 %14 = load %2 50.60/19.43 %15 = load %y_ref 50.60/19.43 store %14, %15 50.60/19.43 %16 = load %3 50.60/19.43 %17 = load %z_ref 50.60/19.43 store %16, %17 50.60/19.43 %18 = load %c 50.60/19.43 store 0, %18 50.60/19.43 br %19 50.60/19.43 19: 50.60/19.43 %20 = load %x_ref 50.60/19.43 %21 = load %20 50.60/19.43 %22 = load %y_ref 50.60/19.43 %23 = load %22 50.60/19.43 %24 = icmp slt %21 %23 50.60/19.43 br %24, %25, %46 50.60/19.43 25: 50.60/19.43 %26 = load %x_ref 50.60/19.43 %27 = load %26 50.60/19.43 %28 = load %z_ref 50.60/19.43 %29 = load %28 50.60/19.43 %30 = icmp slt %27 %29 50.60/19.43 br %30, %31, %36 50.60/19.43 31: 50.60/19.43 %32 = load %x_ref 50.60/19.43 %33 = load %32 50.60/19.43 %34 = add %33 1 50.60/19.43 %35 = load %x_ref 50.60/19.43 store %34, %35 50.60/19.43 br %41 50.60/19.43 36: 50.60/19.43 %37 = load %z_ref 50.60/19.43 %38 = load %37 50.60/19.43 %39 = add %38 1 50.60/19.43 %40 = load %z_ref 50.60/19.43 store %39, %40 50.60/19.43 br %41 50.60/19.43 41: 50.60/19.43 %42 = load %c 50.60/19.43 %43 = load %42 50.60/19.43 %44 = add %43 1 50.60/19.43 %45 = load %c 50.60/19.43 store %44, %45 50.60/19.43 br %19 50.60/19.43 46: 50.60/19.43 %47 = load %c 50.60/19.43 %48 = load %47 50.60/19.43 ret %48 50.60/19.43 50.60/19.43 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 50.60/19.43 0: 50.60/19.43 %1 = alloca i32, align 4 50.60/19.43 store 0, %1 50.60/19.43 %2 = call i32 @__VERIFIER_nondet_int() 50.60/19.43 %3 = call i32 @__VERIFIER_nondet_int() 50.60/19.43 %4 = call i32 @__VERIFIER_nondet_int() 50.60/19.43 %5 = call i32 @test_fun(i32 %2, i32 %3, i32 %4) 50.60/19.43 ret %5 50.60/19.43 50.60/19.43 50.60/19.43 Analyze Termination of all function calls matching the pattern: 50.60/19.43 main() 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (3) LLVMToTerminationGraphProof (EQUIVALENT) 50.60/19.43 Constructed symbolic execution graph for LLVM program and proved memory safety. 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (4) 50.60/19.43 Obligation: 50.60/19.43 SE Graph 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (5) SymbolicExecutionGraphToSCCProof (SOUND) 50.60/19.43 Splitted symbolic execution graph to 3 SCCs. 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (6) 50.60/19.43 Complex Obligation (AND) 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (7) 50.60/19.43 Obligation: 50.60/19.43 SCC 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (8) SCC2IRS (SOUND) 50.60/19.43 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 50.60/19.43 Generated rules. Obtained 51 rulesP rules: 50.60/19.43 f_967(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2925, v2926, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8) -> f_968(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_968(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8) -> f_969(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: v2941 = 1 + v2926 && 2 <= v2941 50.60/19.43 f_969(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_970(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_970(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_971(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_971(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_972(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_972(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_973(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_973(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_974(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_974(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_975(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_975(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_976(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_976(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_977(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_977(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_978(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_978(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_979(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_979(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_980(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_980(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_981(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_981(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2926, v2941, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_982(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, 0, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_982(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, 0, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8, 2) -> f_983(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_983(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_984(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_984(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_985(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_985(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2924, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_986(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_986(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_987(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: v2927 = 1 + v2921 50.60/19.43 f_987(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_988(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_988(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_989(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_989(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_990(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_990(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8, 2) -> f_991(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, v2927, v2926, v2941, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 0, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_991(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3128, v3129, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8) -> f_992(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3128, v3129, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_992(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3128, v3129, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8) -> f_993(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_993(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8) -> f_994(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: v3198 = 1 + v3129 && 2 <= v3198 50.60/19.43 f_994(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_995(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_995(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_996(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_996(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_997(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_997(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_998(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_998(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3125, 1, v3127, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_999(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_999(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1000(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1000(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1001(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1001(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1002(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: v3127 < v3112 50.60/19.43 f_1002(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1004(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1004(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1006(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_1006(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1008(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1008(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1010(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1010(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1012(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1012(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1014(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1014(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 0, 3, 7, 4, 8, 2) -> f_1015(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1015(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1016(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_1016(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1017(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1017(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1018(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1018(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1019(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: v3356 = 1 + v3127 50.60/19.43 f_1019(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1020(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_1020(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1021(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_1021(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_1022(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_1022(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3356, v3129, v3198, v3125, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8, 2) -> f_966(v3111, v3112, v3113, v3114, v3115, v3116, v3117, v3118, v3119, v3120, v3121, v3122, v3123, v3124, v3127, 1, 0, v3125, v3129, v3198, v3356, v3130, v3131, v3132, v3133, v3134, v3135, v3136, v3137, v3138, v3139, v3140, v3141, v3142, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_966(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2925, v2926, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8) -> f_967(v2907, v2908, v2909, v2910, v2911, v2912, v2913, v2914, v2915, v2916, v2917, v2918, v2919, v2920, v2921, 1, 0, v2924, v2925, v2926, v2927, v2928, v2929, v2930, v2931, v2932, v2933, v2934, v2935, v2936, v2937, v2938, v2939, v2940, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 Combined rules. Obtained 1 rulesP rules: 50.60/19.43 f_967(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, 1, 0, v2924:0, v2925:0, v2926:0, 1 + v2921:0, v2928:0, v2929:0, v2930:0, v2931:0, v2932:0, v2933:0, v2934:0, v2935:0, v2936:0, v2937:0, v2938:0, v2939:0, v2940:0, 3, 7, 4, 8) -> f_967(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, 1 + v2921:0, 1, 0, v2921:0, 1 + v2926:0, 1 + (1 + v2926:0), 1 + (1 + v2921:0), v2928:0, v2929:0, v2930:0, v2931:0, v2932:0, v2933:0, v2934:0, v2935:0, v2936:0, v2937:0, v2938:0, v2939:0, v2940:0, 3, 7, 4, 8) :|: v2908:0 > 1 + v2921:0 && v2926:0 > 0 50.60/19.43 Filtered unneeded arguments: 50.60/19.43 f_967(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) -> f_967(x2, x15, x20, x21) 50.60/19.43 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 50.60/19.43 f_967(v2908:0, v2921:0, v2926:0, sum~cons_1~v2921:0) -> f_967(v2908:0, 1 + v2921:0, 1 + (1 + v2926:0), 1 + (1 + v2921:0)) :|: v2908:0 > 1 + v2921:0 && v2926:0 > 0 && sum~cons_1~v2921:0 = 1 + v2921:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (9) 50.60/19.43 Obligation: 50.60/19.43 Rules: 50.60/19.43 f_967(v2908:0, v2921:0, v2926:0, sum~cons_1~v2921:0) -> f_967(v2908:0, 1 + v2921:0, 1 + (1 + v2926:0), 1 + (1 + v2921:0)) :|: v2908:0 > 1 + v2921:0 && v2926:0 > 0 && sum~cons_1~v2921:0 = 1 + v2921:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (10) IntTRSCompressionProof (EQUIVALENT) 50.60/19.43 Compressed rules. 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (11) 50.60/19.43 Obligation: 50.60/19.43 Rules: 50.60/19.43 f_967(v2908:0:0, v2921:0:0, v2926:0:0, sum~cons_1~v2921:0:0) -> f_967(v2908:0:0, 1 + v2921:0:0, 1 + (1 + v2926:0:0), 1 + (1 + v2921:0:0)) :|: v2908:0:0 > 1 + v2921:0:0 && v2926:0:0 > 0 && sum~cons_1~v2921:0:0 = 1 + v2921:0:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (12) RankingReductionPairProof (EQUIVALENT) 50.60/19.43 Interpretation: 50.60/19.43 [ f_967 ] = f_967_1 + -1*f_967_2 50.60/19.43 50.60/19.43 The following rules are decreasing: 50.60/19.43 f_967(v2908:0:0, v2921:0:0, v2926:0:0, sum~cons_1~v2921:0:0) -> f_967(v2908:0:0, 1 + v2921:0:0, 1 + (1 + v2926:0:0), 1 + (1 + v2921:0:0)) :|: v2908:0:0 > 1 + v2921:0:0 && v2926:0:0 > 0 && sum~cons_1~v2921:0:0 = 1 + v2921:0:0 50.60/19.43 50.60/19.43 The following rules are bounded: 50.60/19.43 f_967(v2908:0:0, v2921:0:0, v2926:0:0, sum~cons_1~v2921:0:0) -> f_967(v2908:0:0, 1 + v2921:0:0, 1 + (1 + v2926:0:0), 1 + (1 + v2921:0:0)) :|: v2908:0:0 > 1 + v2921:0:0 && v2926:0:0 > 0 && sum~cons_1~v2921:0:0 = 1 + v2921:0:0 50.60/19.43 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (13) 50.60/19.43 YES 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (14) 50.60/19.43 Obligation: 50.60/19.43 SCC 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (15) SCC2IRS (SOUND) 50.60/19.43 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 50.60/19.43 Generated rules. Obtained 27 rulesP rules: 50.60/19.43 f_848(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2171, 1, v2173, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_850(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_850(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_852(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_852(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_854(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_854(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_856(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: v2173 < v2158 50.60/19.43 f_856(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_860(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_860(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_864(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_864(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_868(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_868(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_872(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_872(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_876(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_876(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_880(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_880(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_883(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: v2173 < v2159 50.60/19.43 f_883(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_887(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_887(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_891(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_891(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_895(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_895(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2171, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_899(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_899(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_903(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: v2305 = 1 + v2173 50.60/19.43 f_903(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_907(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_907(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_911(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_911(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_915(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_915(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_918(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_918(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_921(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_921(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_924(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) :|: v2519 = 1 + v2175 && 2 <= v2519 50.60/19.43 f_924(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) -> f_927(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_927(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) -> f_931(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_931(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) -> f_935(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_935(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8, 2) -> f_846(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2173, 1, v2305, v2175, v2519, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_846(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2171, 1, v2173, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) -> f_848(v2157, v2158, v2159, v2160, v2161, v2162, v2163, v2164, v2165, v2166, v2167, v2168, v2169, v2170, v2171, 1, v2173, v2174, v2175, v2176, v2177, v2178, v2179, v2180, v2181, v2182, v2183, v2184, v2185, v2186, v2187, v2188, 0, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 Combined rules. Obtained 1 rulesP rules: 50.60/19.43 f_848(v2157:0, v2158:0, v2159:0, v2160:0, v2161:0, v2162:0, v2163:0, v2164:0, v2165:0, v2166:0, v2167:0, v2168:0, v2169:0, v2170:0, v2171:0, 1, v2173:0, v2174:0, v2175:0, v2176:0, v2177:0, v2178:0, v2179:0, v2180:0, v2181:0, v2182:0, v2183:0, v2184:0, v2185:0, v2186:0, v2187:0, v2188:0, 0, 3, 7, 4, 8) -> f_848(v2157:0, v2158:0, v2159:0, v2160:0, v2161:0, v2162:0, v2163:0, v2164:0, v2165:0, v2166:0, v2167:0, v2168:0, v2169:0, v2170:0, v2173:0, 1, 1 + v2173:0, v2175:0, 1 + v2175:0, v2176:0, v2177:0, v2178:0, v2179:0, v2180:0, v2181:0, v2182:0, v2183:0, v2184:0, v2185:0, v2186:0, v2187:0, v2188:0, 0, 3, 7, 4, 8) :|: v2173:0 < v2158:0 && v2175:0 > 0 && v2173:0 < v2159:0 50.60/19.43 Filtered unneeded arguments: 50.60/19.43 f_848(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) -> f_848(x2, x3, x17, x19) 50.60/19.43 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 50.60/19.43 f_848(v2158:0, v2159:0, v2173:0, v2175:0) -> f_848(v2158:0, v2159:0, 1 + v2173:0, 1 + v2175:0) :|: v2175:0 > 0 && v2173:0 < v2159:0 && v2173:0 < v2158:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (16) 50.60/19.43 Obligation: 50.60/19.43 Rules: 50.60/19.43 f_848(v2158:0, v2159:0, v2173:0, v2175:0) -> f_848(v2158:0, v2159:0, 1 + v2173:0, 1 + v2175:0) :|: v2175:0 > 0 && v2173:0 < v2159:0 && v2173:0 < v2158:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (17) IntTRSCompressionProof (EQUIVALENT) 50.60/19.43 Compressed rules. 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (18) 50.60/19.43 Obligation: 50.60/19.43 Rules: 50.60/19.43 f_848(v2158:0:0, v2159:0:0, v2173:0:0, v2175:0:0) -> f_848(v2158:0:0, v2159:0:0, 1 + v2173:0:0, 1 + v2175:0:0) :|: v2175:0:0 > 0 && v2173:0:0 < v2159:0:0 && v2173:0:0 < v2158:0:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (19) RankingReductionPairProof (EQUIVALENT) 50.60/19.43 Interpretation: 50.60/19.43 [ f_848 ] = -1*f_848_3 + f_848_1 50.60/19.43 50.60/19.43 The following rules are decreasing: 50.60/19.43 f_848(v2158:0:0, v2159:0:0, v2173:0:0, v2175:0:0) -> f_848(v2158:0:0, v2159:0:0, 1 + v2173:0:0, 1 + v2175:0:0) :|: v2175:0:0 > 0 && v2173:0:0 < v2159:0:0 && v2173:0:0 < v2158:0:0 50.60/19.43 50.60/19.43 The following rules are bounded: 50.60/19.43 f_848(v2158:0:0, v2159:0:0, v2173:0:0, v2175:0:0) -> f_848(v2158:0:0, v2159:0:0, 1 + v2173:0:0, 1 + v2175:0:0) :|: v2175:0:0 > 0 && v2173:0:0 < v2159:0:0 && v2173:0:0 < v2158:0:0 50.60/19.43 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (20) 50.60/19.43 YES 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (21) 50.60/19.43 Obligation: 50.60/19.43 SCC 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (22) SCC2IRS (SOUND) 50.60/19.43 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 50.60/19.43 Generated rules. Obtained 26 rulesP rules: 50.60/19.43 f_832(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_835(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_835(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_838(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_838(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_841(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_841(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_844(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_844(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_847(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_847(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_849(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_849(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_851(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_851(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_853(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_853(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_855(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_855(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_859(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: v2104 <= v2087 50.60/19.43 f_859(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_863(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_863(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_867(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_867(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_871(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_871(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2102, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_875(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_875(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_879(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: v2222 = 1 + v2104 50.60/19.43 f_879(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_882(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_882(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_886(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_886(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_890(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_890(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_894(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_894(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_898(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 f_898(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_902(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) :|: v2304 = 1 + v2106 && 2 <= v2304 50.60/19.43 f_902(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) -> f_906(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) :|: 0 = 0 50.60/19.43 f_906(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) -> f_910(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_910(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) -> f_914(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) :|: TRUE 50.60/19.43 f_914(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8, 2) -> f_829(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2104, 0, v2222, v2106, v2304, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: TRUE 50.60/19.43 f_829(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) -> f_832(v2087, v2088, v2089, v2090, v2091, v2092, v2093, v2094, v2095, v2096, v2097, v2098, v2099, v2100, 1, v2102, 0, v2104, v2105, v2106, v2107, v2108, v2109, v2110, v2111, v2112, v2113, v2114, v2115, v2116, v2117, v2118, v2119, 3, 7, 4, 8) :|: 0 = 0 50.60/19.43 Combined rules. Obtained 1 rulesP rules: 50.60/19.43 f_832(v2087:0, v2088:0, v2089:0, v2090:0, v2091:0, v2092:0, v2093:0, v2094:0, v2095:0, v2096:0, v2097:0, v2098:0, v2099:0, v2100:0, 1, v2102:0, 0, v2104:0, v2105:0, v2106:0, v2107:0, v2108:0, v2109:0, v2110:0, v2111:0, v2112:0, v2113:0, v2114:0, v2115:0, v2116:0, v2117:0, v2118:0, v2119:0, 3, 7, 4, 8) -> f_832(v2087:0, v2088:0, v2089:0, v2090:0, v2091:0, v2092:0, v2093:0, v2094:0, v2095:0, v2096:0, v2097:0, v2098:0, v2099:0, v2100:0, 1, v2104:0, 0, 1 + v2104:0, v2106:0, 1 + v2106:0, v2107:0, v2108:0, v2109:0, v2110:0, v2111:0, v2112:0, v2113:0, v2114:0, v2115:0, v2116:0, v2117:0, v2118:0, v2119:0, 3, 7, 4, 8) :|: v2106:0 > 0 && v2104:0 <= v2087:0 50.60/19.43 Filtered unneeded arguments: 50.60/19.43 f_832(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) -> f_832(x1, x18, x20) 50.60/19.43 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 50.60/19.43 f_832(v2087:0, v2104:0, v2106:0) -> f_832(v2087:0, 1 + v2104:0, 1 + v2106:0) :|: v2106:0 > 0 && v2104:0 <= v2087:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (23) 50.60/19.43 Obligation: 50.60/19.43 Rules: 50.60/19.43 f_832(v2087:0, v2104:0, v2106:0) -> f_832(v2087:0, 1 + v2104:0, 1 + v2106:0) :|: v2106:0 > 0 && v2104:0 <= v2087:0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (24) IRS2T2 (EQUIVALENT) 50.60/19.43 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 50.60/19.43 50.60/19.43 (f_832_3,1) 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (25) 50.60/19.43 Obligation: 50.60/19.43 START: 0; 50.60/19.43 50.60/19.43 FROM: 0; 50.60/19.43 TO: 1; 50.60/19.43 50.60/19.43 FROM: 1; 50.60/19.43 oldX0 := x0; 50.60/19.43 oldX1 := x1; 50.60/19.43 oldX2 := x2; 50.60/19.43 assume(oldX2 > 0 && oldX1 <= oldX0); 50.60/19.43 x0 := oldX0; 50.60/19.43 x1 := 1 + oldX1; 50.60/19.43 x2 := 1 + oldX2; 50.60/19.43 TO: 1; 50.60/19.43 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (26) T2 (EQUIVALENT) 50.60/19.43 Initially, performed program simplifications using lexicographic rank functions: 50.60/19.43 * Removed transitions 1, 3, 4 using the following rank functions: 50.60/19.43 - Rank function 1: 50.60/19.43 RF for loc. 5: 1+2*x0-2*x1 50.60/19.43 RF for loc. 6: 2*x0-2*x1 50.60/19.43 Bound for (chained) transitions 3: 0 50.60/19.43 - Rank function 2: 50.60/19.43 RF for loc. 5: 1+2*x0-2*x1 50.60/19.43 RF for loc. 6: 2*x0-2*x1 50.60/19.43 Bound for (chained) transitions 4: 0 50.60/19.43 - Rank function 3: 50.60/19.43 RF for loc. 5: 0 50.60/19.43 RF for loc. 6: -1 50.60/19.43 Bound for (chained) transitions 1: 0 50.60/19.43 50.60/19.43 ---------------------------------------- 50.60/19.43 50.60/19.43 (27) 50.60/19.43 YES 51.00/19.49 EOF