108.46/30.39 YES 113.05/33.29 proof of /export/starexec/sandbox2/benchmark/theBenchmark.c 113.05/33.29 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 113.05/33.29 113.05/33.29 113.05/33.29 Termination of the given C Problem could be proven: 113.05/33.29 113.05/33.29 (0) C Problem 113.05/33.29 (1) CToLLVMProof [EQUIVALENT, 176 ms] 113.05/33.29 (2) LLVM problem 113.05/33.29 (3) LLVMToTerminationGraphProof [EQUIVALENT, 8713 ms] 113.05/33.29 (4) LLVM Symbolic Execution Graph 113.05/33.29 (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] 113.05/33.29 (6) AND 113.05/33.29 (7) LLVM Symbolic Execution SCC 113.05/33.29 (8) SCC2IRS [SOUND, 0 ms] 113.05/33.29 (9) IntTRS 113.05/33.29 (10) IRS2T2 [EQUIVALENT, 0 ms] 113.05/33.29 (11) T2IntSys 113.05/33.29 (12) T2 [EQUIVALENT, 952 ms] 113.05/33.29 (13) YES 113.05/33.29 (14) LLVM Symbolic Execution SCC 113.05/33.29 (15) SCC2IRS [SOUND, 31 ms] 113.05/33.29 (16) IntTRS 113.05/33.29 (17) IRS2T2 [EQUIVALENT, 0 ms] 113.05/33.29 (18) T2IntSys 113.05/33.29 (19) T2 [EQUIVALENT, 972 ms] 113.05/33.29 (20) YES 113.05/33.29 (21) LLVM Symbolic Execution SCC 113.05/33.29 (22) SCC2IRS [SOUND, 33 ms] 113.05/33.29 (23) IntTRS 113.05/33.29 (24) IRS2T2 [EQUIVALENT, 0 ms] 113.05/33.29 (25) T2IntSys 113.05/33.29 (26) T2 [EQUIVALENT, 1032 ms] 113.05/33.29 (27) YES 113.05/33.29 (28) LLVM Symbolic Execution SCC 113.05/33.29 (29) SCC2IRS [SOUND, 37 ms] 113.05/33.29 (30) IntTRS 113.05/33.29 (31) IRS2T2 [EQUIVALENT, 0 ms] 113.05/33.29 (32) T2IntSys 113.05/33.29 (33) T2 [EQUIVALENT, 1012 ms] 113.05/33.29 (34) YES 113.05/33.29 (35) LLVM Symbolic Execution SCC 113.05/33.29 (36) SCC2IRS [SOUND, 0 ms] 113.05/33.29 (37) IntTRS 113.05/33.29 (38) IntTRSCompressionProof [EQUIVALENT, 0 ms] 113.05/33.29 (39) IntTRS 113.05/33.29 (40) RankingReductionPairProof [EQUIVALENT, 0 ms] 113.05/33.29 (41) YES 113.05/33.29 (42) LLVM Symbolic Execution SCC 113.05/33.29 (43) SCC2IRS [SOUND, 0 ms] 113.05/33.29 (44) IntTRS 113.05/33.29 (45) IntTRSCompressionProof [EQUIVALENT, 0 ms] 113.05/33.29 (46) IntTRS 113.05/33.29 (47) RankingReductionPairProof [EQUIVALENT, 14 ms] 113.05/33.29 (48) YES 113.05/33.29 (49) LLVM Symbolic Execution SCC 113.05/33.29 (50) SCC2IRS [SOUND, 0 ms] 113.05/33.29 (51) IntTRS 113.05/33.29 (52) IntTRSCompressionProof [EQUIVALENT, 0 ms] 113.05/33.29 (53) IntTRS 113.05/33.29 (54) RankingReductionPairProof [EQUIVALENT, 14 ms] 113.05/33.29 (55) YES 113.05/33.29 (56) LLVM Symbolic Execution SCC 113.05/33.29 (57) SCC2IRS [SOUND, 0 ms] 113.05/33.29 (58) IntTRS 113.05/33.29 (59) IntTRSCompressionProof [EQUIVALENT, 0 ms] 113.05/33.29 (60) IntTRS 113.05/33.29 (61) RankingReductionPairProof [EQUIVALENT, 14 ms] 113.05/33.29 (62) YES 113.05/33.29 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (0) 113.05/33.29 Obligation: 113.05/33.29 c file /export/starexec/sandbox2/benchmark/theBenchmark.c 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (1) CToLLVMProof (EQUIVALENT) 113.05/33.29 Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (2) 113.05/33.29 Obligation: 113.05/33.29 LLVM Problem 113.05/33.29 113.05/33.29 Aliases: 113.05/33.29 113.05/33.29 Data layout: 113.05/33.29 113.05/33.29 "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" 113.05/33.29 113.05/33.29 Machine: 113.05/33.29 113.05/33.29 "x86_64-pc-linux-gnu" 113.05/33.29 113.05/33.29 Type definitions: 113.05/33.29 113.05/33.29 Global variables: 113.05/33.29 113.05/33.29 Function declarations and definitions: 113.05/33.29 113.05/33.29 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 113.05/33.29 *BasicFunctionTypename: "gcd" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (x i32, y i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 113.05/33.29 0: 113.05/33.29 %1 = alloca i32, align 4 113.05/33.29 %2 = alloca i32, align 4 113.05/33.29 %r = alloca i32, align 4 113.05/33.29 store %x, %1 113.05/33.29 store %y, %2 113.05/33.29 %3 = load %1 113.05/33.29 %4 = icmp slt %3 0 113.05/33.29 br %4, %5, %8 113.05/33.29 5: 113.05/33.29 %6 = load %1 113.05/33.29 %7 = sub 0 %6 113.05/33.29 store %7, %1 113.05/33.29 br %8 113.05/33.29 8: 113.05/33.29 %9 = load %2 113.05/33.29 %10 = icmp slt %9 0 113.05/33.29 br %10, %11, %14 113.05/33.29 11: 113.05/33.29 %12 = load %2 113.05/33.29 %13 = sub 0 %12 113.05/33.29 store %13, %2 113.05/33.29 br %14 113.05/33.29 14: 113.05/33.29 br %15 113.05/33.29 15: 113.05/33.29 %16 = load %2 113.05/33.29 %17 = icmp sgt %16 0 113.05/33.29 br %17, %18, %31 113.05/33.29 18: 113.05/33.29 %19 = load %1 113.05/33.29 store %19, %r 113.05/33.29 br %20 113.05/33.29 20: 113.05/33.29 %21 = load %r 113.05/33.29 %22 = load %2 113.05/33.29 %23 = icmp sge %21 %22 113.05/33.29 br %23, %24, %28 113.05/33.29 24: 113.05/33.29 %25 = load %r 113.05/33.29 %26 = load %2 113.05/33.29 %27 = sub %25 %26 113.05/33.29 store %27, %r 113.05/33.29 br %20 113.05/33.29 28: 113.05/33.29 %29 = load %2 113.05/33.29 store %29, %1 113.05/33.29 %30 = load %r 113.05/33.29 store %30, %2 113.05/33.29 br %15 113.05/33.29 31: 113.05/33.29 %32 = load %1 113.05/33.29 ret %32 113.05/33.29 113.05/33.29 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 113.05/33.29 0: 113.05/33.29 %1 = alloca i32, align 4 113.05/33.29 %x = alloca i32, align 4 113.05/33.29 %y = alloca i32, align 4 113.05/33.29 store 0, %1 113.05/33.29 %2 = call i32 @__VERIFIER_nondet_int() 113.05/33.29 store %2, %x 113.05/33.29 %3 = call i32 @__VERIFIER_nondet_int() 113.05/33.29 store %3, %y 113.05/33.29 %4 = load %x 113.05/33.29 %5 = load %y 113.05/33.29 %6 = call i32 @gcd(i32 %4, i32 %5) 113.05/33.29 %7 = load %1 113.05/33.29 ret %7 113.05/33.29 113.05/33.29 113.05/33.29 Analyze Termination of all function calls matching the pattern: 113.05/33.29 main() 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (3) LLVMToTerminationGraphProof (EQUIVALENT) 113.05/33.29 Constructed symbolic execution graph for LLVM program and proved memory safety. 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (4) 113.05/33.29 Obligation: 113.05/33.29 SE Graph 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (5) SymbolicExecutionGraphToSCCProof (SOUND) 113.05/33.29 Splitted symbolic execution graph to 8 SCCs. 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (6) 113.05/33.29 Complex Obligation (AND) 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (7) 113.05/33.29 Obligation: 113.05/33.29 SCC 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (8) SCC2IRS (SOUND) 113.05/33.29 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.29 Generated rules. Obtained 33 rulesP rules: 113.05/33.29 f_892(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) -> f_898(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_898(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) -> f_903(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_903(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) -> f_908(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) :|: TRUE 113.05/33.29 f_908(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) -> f_909(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5875, v5876, v5875, v5874, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) :|: v5874 <= v5875 && v5874 <= v5875 && v5874 <= v5874 && 1 <= v5866 && 2 + v5867 <= 0 && 1 <= v5868 && 1 <= v5869 && 1 <= v5870 && 2 <= v5873 && 1 <= v5874 && 2 <= v5875 && 1 <= v5875 && 2 <= v5876 && 1 <= v5875 && 1 <= v5874 && 1 <= v5877 && 1 <= v5878 && 1 <= v5879 && 4 <= v5880 && 4 <= v5881 && 4 <= v5882 && 4 <= v5883 && 4 <= v5884 && 4 <= v5885 && v5877 <= v5880 && v5878 <= v5881 && v5879 <= v5882 && v5868 <= v5883 && v5869 <= v5884 && v5870 <= v5885 113.05/33.29 f_909(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6383, v6384, v6385, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) -> f_914(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6384, v6385, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_914(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6384, v6385, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) -> f_918(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6385, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_918(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6385, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) -> f_923(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) :|: v6647 + v6380 = v6382 && 0 <= v6647 113.05/33.29 f_923(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) -> f_928(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) :|: TRUE 113.05/33.29 f_928(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) -> f_932(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) :|: TRUE 113.05/33.29 f_932(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) -> f_933(v6372, v6373, v6374, v6375, v6376, 0, 1, v6379, v6380, v6381, v6382, v6647, v6386, v6389, v6387, v6390, v6388, v6391, v6392, v6393, v6394, 3, 2, 4) :|: 1 <= v6372 && 2 + v6373 <= 0 && 1 <= v6374 && 1 <= v6375 && 1 <= v6376 && 2 <= v6379 && 1 <= v6380 && 2 <= v6381 && 1 <= v6382 && 0 <= v6647 && 1 <= v6386 && 1 <= v6387 && 1 <= v6388 && 4 <= v6389 && 4 <= v6390 && 4 <= v6391 && 4 <= v6392 && 4 <= v6393 && 4 <= v6394 && v6386 <= v6389 && v6387 <= v6390 && v6388 <= v6391 && v6374 <= v6392 && v6375 <= v6393 && v6376 <= v6394 113.05/33.29 f_933(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6858, v6859, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_939(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_939(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_944(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_944(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_949(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: v6856 <= v6859 && 1 <= v6859 && 2 <= v6858 113.05/33.29 f_944(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_950(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: v6859 < v6856 113.05/33.29 f_949(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_956(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_956(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_962(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_962(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_909(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6856, v6859, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: v6856 <= v6859 && v6856 <= v6856 && v6856 <= v6859 && 1 <= v6848 && 2 + v6849 <= 0 && 1 <= v6850 && 1 <= v6851 && 1 <= v6852 && 2 <= v6855 && 1 <= v6856 && 2 <= v6857 && 1 <= v6859 && 2 <= v6858 && 1 <= v6856 && 1 <= v6859 && 1 <= v6860 && 1 <= v6861 && 1 <= v6862 && 4 <= v6863 && 4 <= v6864 && 4 <= v6865 && 4 <= v6866 && 4 <= v6867 && 4 <= v6868 && v6860 <= v6863 && v6861 <= v6864 && v6862 <= v6865 && v6850 <= v6866 && v6851 <= v6867 && v6852 <= v6868 113.05/33.29 f_950(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_957(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_957(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_963(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_963(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_968(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_968(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_973(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_973(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_978(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_978(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_983(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_983(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_988(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_988(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6856, v6857, v6859, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_993(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_993(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_997(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 < v6859 && 3 <= v6858 && 2 <= v6856 113.05/33.29 f_997(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_1002(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_1002(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_1007(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_1007(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6857, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_1011(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_1011(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_1013(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_1013(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_1015(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: TRUE 113.05/33.29 f_1015(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) -> f_885(v6848, v6849, v6850, v6851, v6852, 0, 1, v6855, v6859, v6856, v6858, v6860, v6863, v6861, v6864, v6862, v6865, v6866, v6867, v6868, 3, 2, 4) :|: v6859 < v6856 && 1 <= v6848 && 2 + v6849 <= 0 && 1 <= v6850 && 1 <= v6851 && 1 <= v6852 && 2 <= v6855 && 1 <= v6859 && 2 <= v6856 && 3 <= v6858 && 1 <= v6860 && 1 <= v6861 && 1 <= v6862 && 4 <= v6863 && 4 <= v6864 && 4 <= v6865 && 4 <= v6866 && 4 <= v6867 && 4 <= v6868 && v6860 <= v6863 && v6861 <= v6864 && v6862 <= v6865 && v6850 <= v6866 && v6851 <= v6867 && v6852 <= v6868 113.05/33.29 f_885(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) -> f_892(v5866, v5867, v5868, v5869, v5870, 0, 1, v5873, v5874, v5875, v5876, v5877, v5880, v5878, v5881, v5879, v5882, v5883, v5884, v5885, 3, 2, 4) :|: 0 = 0 113.05/33.29 Combined rules. Obtained 2 rulesP rules: 113.05/33.29 f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, 0, 1, v6855:0, v6647:0 + v6859:0, v6857:0, v6859:0, v6858:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0, 3, 2, 4) -> f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, 0, 1, v6855:0, v6859:0, v6647:0 + v6859:0, v6647:0, v6647:0 + v6859:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0, 3, 2, 4) :|: v6859:0 < v6647:0 + v6859:0 && v6647:0 + v6859:0 > 1 && v6858:0 > 2 && v6848:0 > 0 && v6849:0 < -1 && v6850:0 > 0 && v6851:0 > 0 && v6852:0 > 0 && v6855:0 > 1 && v6859:0 > 0 && v6860:0 > 0 && v6861:0 > 0 && v6862:0 > 0 && v6863:0 > 3 && v6864:0 > 3 && v6647:0 > -1 && v6865:0 > 3 && v6866:0 > 3 && v6867:0 > 3 && v6868:0 > 3 && v6863:0 >= v6860:0 && v6864:0 >= v6861:0 && v6865:0 >= v6862:0 && v6866:0 >= v6850:0 && v6867:0 >= v6851:0 && v6868:0 >= v6852:0 113.05/33.29 f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, 0, 1, v6855:0, v6856:0, v6857:0, v6647:0 + v6856:0, v6858:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0, 3, 2, 4) -> f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, 0, 1, v6855:0, v6856:0, v6857:0, v6647:0, v6647:0 + v6856:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0, 3, 2, 4) :|: v6856:0 <= v6647:0 + v6856:0 && v6848:0 > 0 && v6849:0 < -1 && v6850:0 > 0 && v6851:0 > 0 && v6852:0 > 0 && v6855:0 > 1 && v6856:0 > 0 && v6857:0 > 1 && v6647:0 + v6856:0 > 0 && v6858:0 > 1 && v6860:0 > 0 && v6861:0 > 0 && v6862:0 > 0 && v6863:0 > 3 && v6647:0 > -1 && v6864:0 > 3 && v6865:0 > 3 && v6866:0 > 3 && v6867:0 > 3 && v6868:0 > 3 && v6863:0 >= v6860:0 && v6864:0 >= v6861:0 && v6865:0 >= v6862:0 && v6866:0 >= v6850:0 && v6867:0 >= v6851:0 && v6868:0 >= v6852:0 113.05/33.29 Filtered unneeded arguments: 113.05/33.29 f_944(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24) -> f_944(x1, x2, x3, x4, x5, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) 113.05/33.29 Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: 113.05/33.29 f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, v6855:0, sum~v6647:0~v6859:0, v6857:0, v6859:0, v6858:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0) -> f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, v6855:0, v6859:0, v6647:0 + v6859:0, v6647:0, v6647:0 + v6859:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0) :|: v6647:0 + v6859:0 > 1 && v6859:0 < v6647:0 + v6859:0 && v6858:0 > 2 && v6848:0 > 0 && v6849:0 < -1 && v6850:0 > 0 && v6851:0 > 0 && v6852:0 > 0 && v6855:0 > 1 && v6859:0 > 0 && v6860:0 > 0 && v6861:0 > 0 && v6862:0 > 0 && v6863:0 > 3 && v6864:0 > 3 && v6647:0 > -1 && v6865:0 > 3 && v6866:0 > 3 && v6867:0 > 3 && v6868:0 > 3 && v6863:0 >= v6860:0 && v6864:0 >= v6861:0 && v6865:0 >= v6862:0 && v6866:0 >= v6850:0 && v6868:0 >= v6852:0 && v6867:0 >= v6851:0 && sum~v6647:0~v6859:0 = v6647:0 + v6859:0 113.05/33.29 f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, v6855:0, v6856:0, v6857:0, sum~v6647:0~v6856:0, v6858:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0) -> f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, v6855:0, v6856:0, v6857:0, v6647:0, v6647:0 + v6856:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0) :|: v6848:0 > 0 && v6856:0 <= v6647:0 + v6856:0 && v6849:0 < -1 && v6850:0 > 0 && v6851:0 > 0 && v6852:0 > 0 && v6855:0 > 1 && v6856:0 > 0 && v6857:0 > 1 && v6647:0 + v6856:0 > 0 && v6858:0 > 1 && v6860:0 > 0 && v6861:0 > 0 && v6862:0 > 0 && v6863:0 > 3 && v6647:0 > -1 && v6864:0 > 3 && v6865:0 > 3 && v6866:0 > 3 && v6867:0 > 3 && v6868:0 > 3 && v6863:0 >= v6860:0 && v6864:0 >= v6861:0 && v6865:0 >= v6862:0 && v6866:0 >= v6850:0 && v6868:0 >= v6852:0 && v6867:0 >= v6851:0 && sum~v6647:0~v6856:0 = v6647:0 + v6856:0 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (9) 113.05/33.29 Obligation: 113.05/33.29 Rules: 113.05/33.29 f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, v6855:0, sum~v6647:0~v6859:0, v6857:0, v6859:0, v6858:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0) -> f_944(v6848:0, v6849:0, v6850:0, v6851:0, v6852:0, v6855:0, v6859:0, v6647:0 + v6859:0, v6647:0, v6647:0 + v6859:0, v6860:0, v6863:0, v6861:0, v6864:0, v6862:0, v6865:0, v6866:0, v6867:0, v6868:0) :|: v6647:0 + v6859:0 > 1 && v6859:0 < v6647:0 + v6859:0 && v6858:0 > 2 && v6848:0 > 0 && v6849:0 < -1 && v6850:0 > 0 && v6851:0 > 0 && v6852:0 > 0 && v6855:0 > 1 && v6859:0 > 0 && v6860:0 > 0 && v6861:0 > 0 && v6862:0 > 0 && v6863:0 > 3 && v6864:0 > 3 && v6647:0 > -1 && v6865:0 > 3 && v6866:0 > 3 && v6867:0 > 3 && v6868:0 > 3 && v6863:0 >= v6860:0 && v6864:0 >= v6861:0 && v6865:0 >= v6862:0 && v6866:0 >= v6850:0 && v6868:0 >= v6852:0 && v6867:0 >= v6851:0 && sum~v6647:0~v6859:0 = v6647:0 + v6859:0 113.05/33.29 f_944(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f_944(x, x1, x2, x3, x4, x5, x6, x7, x19, x19 + x6, x10, x11, x12, x13, x14, x15, x16, x17, x18) :|: x > 0 && x6 <= x19 + x6 && x1 < -1 && x2 > 0 && x3 > 0 && x4 > 0 && x5 > 1 && x6 > 0 && x7 > 1 && x19 + x6 > 0 && x9 > 1 && x10 > 0 && x12 > 0 && x14 > 0 && x11 > 3 && x19 > -1 && x13 > 3 && x15 > 3 && x16 > 3 && x17 > 3 && x18 > 3 && x11 >= x10 && x13 >= x12 && x15 >= x14 && x16 >= x2 && x18 >= x4 && x17 >= x3 && x8 = x19 + x6 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (10) IRS2T2 (EQUIVALENT) 113.05/33.29 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 113.05/33.29 113.05/33.29 (f_944_19,1) 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (11) 113.05/33.29 Obligation: 113.05/33.29 START: 0; 113.05/33.29 113.05/33.29 FROM: 0; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 FROM: 1; 113.05/33.29 oldX0 := x0; 113.05/33.29 oldX1 := x1; 113.05/33.29 oldX2 := x2; 113.05/33.29 oldX3 := x3; 113.05/33.29 oldX4 := x4; 113.05/33.29 oldX5 := x5; 113.05/33.29 oldX6 := x6; 113.05/33.29 oldX7 := x7; 113.05/33.29 oldX8 := x8; 113.05/33.29 oldX9 := x9; 113.05/33.29 oldX10 := x10; 113.05/33.29 oldX11 := x11; 113.05/33.29 oldX12 := x12; 113.05/33.29 oldX13 := x13; 113.05/33.29 oldX14 := x14; 113.05/33.29 oldX15 := x15; 113.05/33.29 oldX16 := x16; 113.05/33.29 oldX17 := x17; 113.05/33.29 oldX18 := x18; 113.05/33.29 oldX19 := oldX6 - oldX8; 113.05/33.29 assume(oldX19 + oldX8 > 1 && oldX8 < oldX19 + oldX8 && oldX9 > 2 && oldX0 > 0 && oldX1 < -1 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 1 && oldX8 > 0 && oldX10 > 0 && oldX12 > 0 && oldX14 > 0 && oldX11 > 3 && oldX13 > 3 && oldX19 > -1 && oldX15 > 3 && oldX16 > 3 && oldX17 > 3 && oldX18 > 3 && oldX11 >= oldX10 && oldX13 >= oldX12 && oldX15 >= oldX14 && oldX16 >= oldX2 && oldX18 >= oldX4 && oldX17 >= oldX3 && oldX6 = oldX19 + oldX8); 113.05/33.29 x0 := oldX0; 113.05/33.29 x1 := oldX1; 113.05/33.29 x2 := oldX2; 113.05/33.29 x3 := oldX3; 113.05/33.29 x4 := oldX4; 113.05/33.29 x5 := oldX5; 113.05/33.29 x6 := oldX8; 113.05/33.29 x7 := oldX19 + oldX8; 113.05/33.29 x8 := oldX6 - oldX8; 113.05/33.29 x9 := oldX19 + oldX8; 113.05/33.29 x10 := oldX10; 113.05/33.29 x11 := oldX11; 113.05/33.29 x12 := oldX12; 113.05/33.29 x13 := oldX13; 113.05/33.29 x14 := oldX14; 113.05/33.29 x15 := oldX15; 113.05/33.29 x16 := oldX16; 113.05/33.29 x17 := oldX17; 113.05/33.29 x18 := oldX18; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 FROM: 1; 113.05/33.29 oldX0 := x0; 113.05/33.29 oldX1 := x1; 113.05/33.29 oldX2 := x2; 113.05/33.29 oldX3 := x3; 113.05/33.29 oldX4 := x4; 113.05/33.29 oldX5 := x5; 113.05/33.29 oldX6 := x6; 113.05/33.29 oldX7 := x7; 113.05/33.29 oldX8 := x8; 113.05/33.29 oldX9 := x9; 113.05/33.29 oldX10 := x10; 113.05/33.29 oldX11 := x11; 113.05/33.29 oldX12 := x12; 113.05/33.29 oldX13 := x13; 113.05/33.29 oldX14 := x14; 113.05/33.29 oldX15 := x15; 113.05/33.29 oldX16 := x16; 113.05/33.29 oldX17 := x17; 113.05/33.29 oldX18 := x18; 113.05/33.29 oldX19 := oldX8 - oldX6; 113.05/33.29 assume(oldX0 > 0 && oldX6 <= oldX19 + oldX6 && oldX1 < -1 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 1 && oldX6 > 0 && oldX7 > 1 && oldX19 + oldX6 > 0 && oldX9 > 1 && oldX10 > 0 && oldX12 > 0 && oldX14 > 0 && oldX11 > 3 && oldX19 > -1 && oldX13 > 3 && oldX15 > 3 && oldX16 > 3 && oldX17 > 3 && oldX18 > 3 && oldX11 >= oldX10 && oldX13 >= oldX12 && oldX15 >= oldX14 && oldX16 >= oldX2 && oldX18 >= oldX4 && oldX17 >= oldX3 && oldX8 = oldX19 + oldX6); 113.05/33.29 x0 := oldX0; 113.05/33.29 x1 := oldX1; 113.05/33.29 x2 := oldX2; 113.05/33.29 x3 := oldX3; 113.05/33.29 x4 := oldX4; 113.05/33.29 x5 := oldX5; 113.05/33.29 x6 := oldX6; 113.05/33.29 x7 := oldX7; 113.05/33.29 x8 := oldX8 - oldX6; 113.05/33.29 x9 := oldX19 + oldX6; 113.05/33.29 x10 := oldX10; 113.05/33.29 x11 := oldX11; 113.05/33.29 x12 := oldX12; 113.05/33.29 x13 := oldX13; 113.05/33.29 x14 := oldX14; 113.05/33.29 x15 := oldX15; 113.05/33.29 x16 := oldX16; 113.05/33.29 x17 := oldX17; 113.05/33.29 x18 := oldX18; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (12) T2 (EQUIVALENT) 113.05/33.29 Initially, performed program simplifications using lexicographic rank functions: 113.05/33.29 * Removed transitions 1, 4, 5 using the following rank functions: 113.05/33.29 - Rank function 1: 113.05/33.29 RF for loc. 5: 2*x6+2*x8 113.05/33.29 RF for loc. 6: -1+2*x6+2*x8 113.05/33.29 Bound for (chained) transitions 4: 5 113.05/33.29 Bound for (chained) transitions 5: 3 113.05/33.29 - Rank function 2: 113.05/33.29 RF for loc. 5: 0 113.05/33.29 RF for loc. 6: -1 113.05/33.29 Bound for (chained) transitions 1: 0 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (13) 113.05/33.29 YES 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (14) 113.05/33.29 Obligation: 113.05/33.29 SCC 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (15) SCC2IRS (SOUND) 113.05/33.29 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.29 Generated rules. Obtained 33 rulesP rules: 113.05/33.29 f_872(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) -> f_879(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_879(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) -> f_887(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_887(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) -> f_893(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) :|: TRUE 113.05/33.29 f_893(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) -> f_894(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5733, v5734, v5733, v5731, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) :|: v5731 <= v5733 && v5731 <= v5733 && v5731 <= v5731 && 1 <= v5725 && 2 <= v5726 && 1 <= v5727 && 1 <= v5728 && 1 <= v5729 && 1 <= v5731 && 2 <= v5733 && 1 <= v5733 && 2 <= v5734 && 1 <= v5733 && 1 <= v5731 && 1 <= v5735 && 1 <= v5736 && 1 <= v5737 && 4 <= v5738 && 4 <= v5739 && 4 <= v5740 && 4 <= v5741 && 4 <= v5742 && 4 <= v5743 && v5735 <= v5738 && v5736 <= v5739 && v5737 <= v5740 && v5727 <= v5741 && v5728 <= v5742 && v5729 <= v5743 113.05/33.29 f_894(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6142, v6143, v6144, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) -> f_899(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6143, v6144, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_899(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6143, v6144, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) -> f_904(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6144, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_904(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6144, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) -> f_910(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) :|: v6401 + v6138 = v6141 && 0 <= v6401 113.05/33.29 f_910(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) -> f_915(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) :|: TRUE 113.05/33.29 f_915(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) -> f_919(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) :|: TRUE 113.05/33.29 f_919(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) -> f_920(v6132, v6133, v6134, v6135, v6136, 0, v6138, 1, v6140, v6141, v6401, v6145, v6148, v6146, v6149, v6147, v6150, v6151, v6152, v6153, 3, 2, 4) :|: 1 <= v6132 && 2 <= v6133 && 1 <= v6134 && 1 <= v6135 && 1 <= v6136 && 1 <= v6138 && 2 <= v6140 && 1 <= v6141 && 0 <= v6401 && 1 <= v6145 && 1 <= v6146 && 1 <= v6147 && 4 <= v6148 && 4 <= v6149 && 4 <= v6150 && 4 <= v6151 && 4 <= v6152 && 4 <= v6153 && v6145 <= v6148 && v6146 <= v6149 && v6147 <= v6150 && v6134 <= v6151 && v6135 <= v6152 && v6136 <= v6153 113.05/33.29 f_920(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6602, v6603, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_924(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_924(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_929(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_929(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_934(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: v6599 <= v6603 && 1 <= v6603 && 2 <= v6602 113.05/33.29 f_929(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_935(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: v6603 < v6599 113.05/33.29 f_934(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_940(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_940(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_945(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_945(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_894(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6599, v6603, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: v6599 <= v6603 && v6599 <= v6599 && v6599 <= v6603 && 1 <= v6593 && 2 <= v6594 && 1 <= v6595 && 1 <= v6596 && 1 <= v6597 && 1 <= v6599 && 2 <= v6601 && 1 <= v6603 && 2 <= v6602 && 1 <= v6599 && 1 <= v6603 && 1 <= v6604 && 1 <= v6605 && 1 <= v6606 && 4 <= v6607 && 4 <= v6608 && 4 <= v6609 && 4 <= v6610 && 4 <= v6611 && 4 <= v6612 && v6604 <= v6607 && v6605 <= v6608 && v6606 <= v6609 && v6595 <= v6610 && v6596 <= v6611 && v6597 <= v6612 113.05/33.29 f_935(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_941(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_941(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_946(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_946(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_951(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_951(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_958(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_958(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_964(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_964(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_969(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_969(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_974(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_974(v6593, v6594, v6595, v6596, v6597, 0, v6599, 1, v6601, v6603, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_979(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_979(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_984(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 < v6603 && 3 <= v6602 && 2 <= v6599 113.05/33.29 f_984(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_989(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_989(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_994(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_994(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6601, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_999(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_999(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_1004(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_1004(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_1009(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: TRUE 113.05/33.29 f_1009(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) -> f_865(v6593, v6594, v6595, v6596, v6597, 0, v6603, 1, v6599, v6602, v6604, v6607, v6605, v6608, v6606, v6609, v6610, v6611, v6612, 3, 2, 4) :|: v6603 < v6599 && 1 <= v6593 && 2 <= v6594 && 1 <= v6595 && 1 <= v6596 && 1 <= v6597 && 1 <= v6603 && 2 <= v6599 && 3 <= v6602 && 1 <= v6604 && 1 <= v6605 && 1 <= v6606 && 4 <= v6607 && 4 <= v6608 && 4 <= v6609 && 4 <= v6610 && 4 <= v6611 && 4 <= v6612 && v6604 <= v6607 && v6605 <= v6608 && v6606 <= v6609 && v6595 <= v6610 && v6596 <= v6611 && v6597 <= v6612 113.05/33.29 f_865(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) -> f_872(v5725, v5726, v5727, v5728, v5729, 0, v5731, 1, v5733, v5734, v5735, v5738, v5736, v5739, v5737, v5740, v5741, v5742, v5743, 3, 2, 4) :|: 0 = 0 113.05/33.29 Combined rules. Obtained 2 rulesP rules: 113.05/33.29 f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, 0, v6599:0, 1, v6601:0, v6401:0 + v6599:0, v6602:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0, 3, 2, 4) -> f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, 0, v6599:0, 1, v6601:0, v6401:0, v6401:0 + v6599:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0, 3, 2, 4) :|: v6599:0 <= v6401:0 + v6599:0 && v6593:0 > 0 && v6594:0 > 1 && v6595:0 > 0 && v6596:0 > 0 && v6597:0 > 0 && v6599:0 > 0 && v6601:0 > 1 && v6401:0 + v6599:0 > 0 && v6602:0 > 1 && v6604:0 > 0 && v6605:0 > 0 && v6606:0 > 0 && v6607:0 > 3 && v6401:0 > -1 && v6608:0 > 3 && v6609:0 > 3 && v6610:0 > 3 && v6611:0 > 3 && v6612:0 > 3 && v6607:0 >= v6604:0 && v6608:0 >= v6605:0 && v6609:0 >= v6606:0 && v6610:0 >= v6595:0 && v6611:0 >= v6596:0 && v6612:0 >= v6597:0 113.05/33.29 f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, 0, v6401:0 + v6603:0, 1, v6601:0, v6603:0, v6602:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0, 3, 2, 4) -> f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, 0, v6603:0, 1, v6401:0 + v6603:0, v6401:0, v6401:0 + v6603:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0, 3, 2, 4) :|: v6603:0 < v6401:0 + v6603:0 && v6401:0 + v6603:0 > 1 && v6602:0 > 2 && v6593:0 > 0 && v6594:0 > 1 && v6595:0 > 0 && v6596:0 > 0 && v6597:0 > 0 && v6603:0 > 0 && v6604:0 > 0 && v6605:0 > 0 && v6606:0 > 0 && v6607:0 > 3 && v6608:0 > 3 && v6401:0 > -1 && v6609:0 > 3 && v6610:0 > 3 && v6611:0 > 3 && v6612:0 > 3 && v6607:0 >= v6604:0 && v6608:0 >= v6605:0 && v6609:0 >= v6606:0 && v6610:0 >= v6595:0 && v6611:0 >= v6596:0 && v6612:0 >= v6597:0 113.05/33.29 Filtered unneeded arguments: 113.05/33.29 f_929(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_929(x1, x2, x3, x4, x5, x7, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) 113.05/33.29 Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: 113.05/33.29 f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, v6599:0, v6601:0, sum~v6401:0~v6599:0, v6602:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0) -> f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, v6599:0, v6601:0, v6401:0, v6401:0 + v6599:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0) :|: v6593:0 > 0 && v6599:0 <= v6401:0 + v6599:0 && v6594:0 > 1 && v6595:0 > 0 && v6596:0 > 0 && v6597:0 > 0 && v6599:0 > 0 && v6601:0 > 1 && v6401:0 + v6599:0 > 0 && v6602:0 > 1 && v6604:0 > 0 && v6605:0 > 0 && v6606:0 > 0 && v6607:0 > 3 && v6401:0 > -1 && v6608:0 > 3 && v6609:0 > 3 && v6610:0 > 3 && v6611:0 > 3 && v6612:0 > 3 && v6607:0 >= v6604:0 && v6608:0 >= v6605:0 && v6609:0 >= v6606:0 && v6610:0 >= v6595:0 && v6612:0 >= v6597:0 && v6611:0 >= v6596:0 && sum~v6401:0~v6599:0 = v6401:0 + v6599:0 113.05/33.29 f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, sum~v6401:0~v6603:0, v6601:0, v6603:0, v6602:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0) -> f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, v6603:0, v6401:0 + v6603:0, v6401:0, v6401:0 + v6603:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0) :|: v6401:0 + v6603:0 > 1 && v6603:0 < v6401:0 + v6603:0 && v6602:0 > 2 && v6593:0 > 0 && v6594:0 > 1 && v6595:0 > 0 && v6596:0 > 0 && v6597:0 > 0 && v6603:0 > 0 && v6604:0 > 0 && v6605:0 > 0 && v6606:0 > 0 && v6607:0 > 3 && v6608:0 > 3 && v6401:0 > -1 && v6609:0 > 3 && v6610:0 > 3 && v6611:0 > 3 && v6612:0 > 3 && v6607:0 >= v6604:0 && v6608:0 >= v6605:0 && v6609:0 >= v6606:0 && v6610:0 >= v6595:0 && v6612:0 >= v6597:0 && v6611:0 >= v6596:0 && sum~v6401:0~v6603:0 = v6401:0 + v6603:0 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (16) 113.05/33.29 Obligation: 113.05/33.29 Rules: 113.05/33.29 f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, v6599:0, v6601:0, sum~v6401:0~v6599:0, v6602:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0) -> f_929(v6593:0, v6594:0, v6595:0, v6596:0, v6597:0, v6599:0, v6601:0, v6401:0, v6401:0 + v6599:0, v6604:0, v6607:0, v6605:0, v6608:0, v6606:0, v6609:0, v6610:0, v6611:0, v6612:0) :|: v6593:0 > 0 && v6599:0 <= v6401:0 + v6599:0 && v6594:0 > 1 && v6595:0 > 0 && v6596:0 > 0 && v6597:0 > 0 && v6599:0 > 0 && v6601:0 > 1 && v6401:0 + v6599:0 > 0 && v6602:0 > 1 && v6604:0 > 0 && v6605:0 > 0 && v6606:0 > 0 && v6607:0 > 3 && v6401:0 > -1 && v6608:0 > 3 && v6609:0 > 3 && v6610:0 > 3 && v6611:0 > 3 && v6612:0 > 3 && v6607:0 >= v6604:0 && v6608:0 >= v6605:0 && v6609:0 >= v6606:0 && v6610:0 >= v6595:0 && v6612:0 >= v6597:0 && v6611:0 >= v6596:0 && sum~v6401:0~v6599:0 = v6401:0 + v6599:0 113.05/33.29 f_929(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) -> f_929(x, x1, x2, x3, x4, x7, x18 + x7, x18, x18 + x7, x9, x10, x11, x12, x13, x14, x15, x16, x17) :|: x18 + x7 > 1 && x7 < x18 + x7 && x8 > 2 && x > 0 && x1 > 1 && x2 > 0 && x3 > 0 && x4 > 0 && x7 > 0 && x9 > 0 && x11 > 0 && x13 > 0 && x10 > 3 && x12 > 3 && x18 > -1 && x14 > 3 && x15 > 3 && x16 > 3 && x17 > 3 && x10 >= x9 && x12 >= x11 && x14 >= x13 && x15 >= x2 && x17 >= x4 && x16 >= x3 && x5 = x18 + x7 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (17) IRS2T2 (EQUIVALENT) 113.05/33.29 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 113.05/33.29 113.05/33.29 (f_929_18,1) 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (18) 113.05/33.29 Obligation: 113.05/33.29 START: 0; 113.05/33.29 113.05/33.29 FROM: 0; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 FROM: 1; 113.05/33.29 oldX0 := x0; 113.05/33.29 oldX1 := x1; 113.05/33.29 oldX2 := x2; 113.05/33.29 oldX3 := x3; 113.05/33.29 oldX4 := x4; 113.05/33.29 oldX5 := x5; 113.05/33.29 oldX6 := x6; 113.05/33.29 oldX7 := x7; 113.05/33.29 oldX8 := x8; 113.05/33.29 oldX9 := x9; 113.05/33.29 oldX10 := x10; 113.05/33.29 oldX11 := x11; 113.05/33.29 oldX12 := x12; 113.05/33.29 oldX13 := x13; 113.05/33.29 oldX14 := x14; 113.05/33.29 oldX15 := x15; 113.05/33.29 oldX16 := x16; 113.05/33.29 oldX17 := x17; 113.05/33.29 oldX18 := oldX7 - oldX5; 113.05/33.29 assume(oldX0 > 0 && oldX5 <= oldX18 + oldX5 && oldX1 > 1 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 0 && oldX6 > 1 && oldX18 + oldX5 > 0 && oldX8 > 1 && oldX9 > 0 && oldX11 > 0 && oldX13 > 0 && oldX10 > 3 && oldX18 > -1 && oldX12 > 3 && oldX14 > 3 && oldX15 > 3 && oldX16 > 3 && oldX17 > 3 && oldX10 >= oldX9 && oldX12 >= oldX11 && oldX14 >= oldX13 && oldX15 >= oldX2 && oldX17 >= oldX4 && oldX16 >= oldX3 && oldX7 = oldX18 + oldX5); 113.05/33.29 x0 := oldX0; 113.05/33.29 x1 := oldX1; 113.05/33.29 x2 := oldX2; 113.05/33.29 x3 := oldX3; 113.05/33.29 x4 := oldX4; 113.05/33.29 x5 := oldX5; 113.05/33.29 x6 := oldX6; 113.05/33.29 x7 := oldX7 - oldX5; 113.05/33.29 x8 := oldX18 + oldX5; 113.05/33.29 x9 := oldX9; 113.05/33.29 x10 := oldX10; 113.05/33.29 x11 := oldX11; 113.05/33.29 x12 := oldX12; 113.05/33.29 x13 := oldX13; 113.05/33.29 x14 := oldX14; 113.05/33.29 x15 := oldX15; 113.05/33.29 x16 := oldX16; 113.05/33.29 x17 := oldX17; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 FROM: 1; 113.05/33.29 oldX0 := x0; 113.05/33.29 oldX1 := x1; 113.05/33.29 oldX2 := x2; 113.05/33.29 oldX3 := x3; 113.05/33.29 oldX4 := x4; 113.05/33.29 oldX5 := x5; 113.05/33.29 oldX6 := x6; 113.05/33.29 oldX7 := x7; 113.05/33.29 oldX8 := x8; 113.05/33.29 oldX9 := x9; 113.05/33.29 oldX10 := x10; 113.05/33.29 oldX11 := x11; 113.05/33.29 oldX12 := x12; 113.05/33.29 oldX13 := x13; 113.05/33.29 oldX14 := x14; 113.05/33.29 oldX15 := x15; 113.05/33.29 oldX16 := x16; 113.05/33.29 oldX17 := x17; 113.05/33.29 oldX18 := oldX5 - oldX7; 113.05/33.29 assume(oldX18 + oldX7 > 1 && oldX7 < oldX18 + oldX7 && oldX8 > 2 && oldX0 > 0 && oldX1 > 1 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX7 > 0 && oldX9 > 0 && oldX11 > 0 && oldX13 > 0 && oldX10 > 3 && oldX12 > 3 && oldX18 > -1 && oldX14 > 3 && oldX15 > 3 && oldX16 > 3 && oldX17 > 3 && oldX10 >= oldX9 && oldX12 >= oldX11 && oldX14 >= oldX13 && oldX15 >= oldX2 && oldX17 >= oldX4 && oldX16 >= oldX3 && oldX5 = oldX18 + oldX7); 113.05/33.29 x0 := oldX0; 113.05/33.29 x1 := oldX1; 113.05/33.29 x2 := oldX2; 113.05/33.29 x3 := oldX3; 113.05/33.29 x4 := oldX4; 113.05/33.29 x5 := oldX7; 113.05/33.29 x6 := oldX18 + oldX7; 113.05/33.29 x7 := oldX5 - oldX7; 113.05/33.29 x8 := oldX18 + oldX7; 113.05/33.29 x9 := oldX9; 113.05/33.29 x10 := oldX10; 113.05/33.29 x11 := oldX11; 113.05/33.29 x12 := oldX12; 113.05/33.29 x13 := oldX13; 113.05/33.29 x14 := oldX14; 113.05/33.29 x15 := oldX15; 113.05/33.29 x16 := oldX16; 113.05/33.29 x17 := oldX17; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (19) T2 (EQUIVALENT) 113.05/33.29 Initially, performed program simplifications using lexicographic rank functions: 113.05/33.29 * Removed transitions 1, 4, 5 using the following rank functions: 113.05/33.29 - Rank function 1: 113.05/33.29 RF for loc. 5: 1+2*x5+2*x7 113.05/33.29 RF for loc. 6: 2*x5+2*x7 113.05/33.29 Bound for (chained) transitions 4: 4 113.05/33.29 Bound for (chained) transitions 5: 6 113.05/33.29 - Rank function 2: 113.05/33.29 RF for loc. 5: 0 113.05/33.29 RF for loc. 6: -1 113.05/33.29 Bound for (chained) transitions 1: 0 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (20) 113.05/33.29 YES 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (21) 113.05/33.29 Obligation: 113.05/33.29 SCC 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (22) SCC2IRS (SOUND) 113.05/33.29 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.29 Generated rules. Obtained 33 rulesP rules: 113.05/33.29 f_867(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 4) -> f_873(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: 0 < v5586 && 3 <= v5588 && 2 <= v5584 113.05/33.29 f_873(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_880(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_880(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_888(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: TRUE 113.05/33.29 f_888(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_895(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_895(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_900(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: TRUE 113.05/33.29 f_900(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_905(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: TRUE 113.05/33.29 f_905(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_911(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_911(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_916(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_916(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 2, 4) -> f_921(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 0, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_921(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 0, 3, 2, 4) -> f_925(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 0, 3, 2, 4) :|: TRUE 113.05/33.29 f_925(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 0, 3, 2, 4) -> f_926(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5584, v5584, v5588, v5584, v5586, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 0, 3, 2, 4) :|: v5586 <= v5584 && v5586 <= v5586 && v5586 <= v5584 && 1 + v5576 <= 0 && 1 + v5577 <= 0 && 1 <= v5578 && 1 <= v5579 && 1 <= v5580 && 1 <= v5582 && 1 <= v5583 && 1 <= v5586 && 2 <= v5584 && 1 <= v5584 && 2 <= v5588 && 1 <= v5584 && 1 <= v5586 && 1 <= v5589 && 1 <= v5590 && 1 <= v5591 && 4 <= v5592 && 4 <= v5593 && 4 <= v5594 && 4 <= v5595 && 4 <= v5596 && 4 <= v5597 && v5589 <= v5592 && v5590 <= v5593 && v5591 <= v5594 && v5578 <= v5595 && v5579 <= v5596 && v5580 <= v5597 113.05/33.29 f_926(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v6739, v6740, v6741, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) -> f_930(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v6740, v6741, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_930(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v6740, v6741, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) -> f_936(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v6741, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_936(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v6741, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) -> f_942(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) :|: v7052 + v6736 = v6738 && 0 <= v7052 113.05/33.29 f_942(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) -> f_947(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) :|: TRUE 113.05/33.29 f_947(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) -> f_952(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) :|: TRUE 113.05/33.29 f_952(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) -> f_953(v6728, v6729, v6730, v6731, v6732, 1, v6734, v6735, v6736, v6737, v6738, v7052, v6742, v6745, v6743, v6746, v6744, v6747, v6748, v6749, v6750, 0, 3, 2, 4) :|: 1 + v6728 <= 0 && 1 + v6729 <= 0 && 1 <= v6730 && 1 <= v6731 && 1 <= v6732 && 1 <= v6734 && 1 <= v6735 && 1 <= v6736 && 2 <= v6737 && 1 <= v6738 && 0 <= v7052 && 1 <= v6742 && 1 <= v6743 && 1 <= v6744 && 4 <= v6745 && 4 <= v6746 && 4 <= v6747 && 4 <= v6748 && 4 <= v6749 && 4 <= v6750 && v6742 <= v6745 && v6743 <= v6746 && v6744 <= v6747 && v6730 <= v6748 && v6731 <= v6749 && v6732 <= v6750 113.05/33.29 f_953(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7245, v7246, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_959(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_959(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_965(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_965(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_970(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: v7243 <= v7246 && 1 <= v7246 && 2 <= v7245 113.05/33.29 f_965(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_971(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: v7246 < v7243 113.05/33.29 f_970(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_975(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_975(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_980(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: TRUE 113.05/33.29 f_980(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_926(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7243, v7246, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) :|: v7243 <= v7246 && v7243 <= v7246 && v7243 <= v7243 && 1 + v7235 <= 0 && 1 + v7236 <= 0 && 1 <= v7237 && 1 <= v7238 && 1 <= v7239 && 1 <= v7241 && 1 <= v7242 && 1 <= v7243 && 2 <= v7244 && 1 <= v7246 && 2 <= v7245 && 1 <= v7243 && 1 <= v7246 && 1 <= v7247 && 1 <= v7248 && 1 <= v7249 && 4 <= v7250 && 4 <= v7251 && 4 <= v7252 && 4 <= v7253 && 4 <= v7254 && 4 <= v7255 && v7247 <= v7250 && v7248 <= v7251 && v7249 <= v7252 && v7237 <= v7253 && v7238 <= v7254 && v7239 <= v7255 113.05/33.29 f_971(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 0, 3, 2, 4) -> f_976(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_976(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_981(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: TRUE 113.05/33.29 f_981(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_986(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_986(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_991(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: TRUE 113.05/33.29 f_991(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_996(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_996(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_1001(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: TRUE 113.05/33.29 f_1001(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_1006(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) :|: TRUE 113.05/33.29 f_1006(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 2, 4) -> f_859(v7235, v7236, v7237, v7238, v7239, 1, v7241, v7242, v7243, v7244, v7246, 0, v7245, v7247, v7250, v7248, v7251, v7249, v7252, v7253, v7254, v7255, 3, 4) :|: v7246 < v7243 && 1 + v7235 <= 0 && 1 + v7236 <= 0 && 1 <= v7237 && 1 <= v7238 && 1 <= v7239 && 1 <= v7241 && 1 <= v7242 && 1 <= v7243 && 1 <= v7244 && 0 <= v7246 && 1 <= v7245 && 1 <= v7247 && 1 <= v7248 && 1 <= v7249 && 4 <= v7250 && 4 <= v7251 && 4 <= v7252 && 4 <= v7253 && 4 <= v7254 && 4 <= v7255 && v7247 <= v7250 && v7248 <= v7251 && v7249 <= v7252 && v7237 <= v7253 && v7238 <= v7254 && v7239 <= v7255 113.05/33.29 f_859(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5584, v5585, v5586, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 4) -> f_867(v5576, v5577, v5578, v5579, v5580, 1, v5582, v5583, v5586, v5585, v5584, 0, v5588, v5589, v5592, v5590, v5593, v5591, v5594, v5595, v5596, v5597, 3, 4) :|: 0 = 0 113.05/33.29 Combined rules. Obtained 2 rulesP rules: 113.05/33.29 f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, 1, v7241:0, v7242:0, v7243:0, v7244:0, v7052:0 + v7243:0, v7245:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0, 0, 3, 2, 4) -> f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, 1, v7241:0, v7242:0, v7243:0, v7244:0, v7052:0, v7052:0 + v7243:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0, 0, 3, 2, 4) :|: v7243:0 <= v7052:0 + v7243:0 && v7235:0 < 0 && v7236:0 < 0 && v7237:0 > 0 && v7238:0 > 0 && v7239:0 > 0 && v7241:0 > 0 && v7242:0 > 0 && v7243:0 > 0 && v7244:0 > 1 && v7052:0 + v7243:0 > 0 && v7245:0 > 1 && v7247:0 > 0 && v7248:0 > 0 && v7249:0 > 0 && v7250:0 > 3 && v7052:0 > -1 && v7251:0 > 3 && v7252:0 > 3 && v7253:0 > 3 && v7254:0 > 3 && v7255:0 > 3 && v7250:0 >= v7247:0 && v7251:0 >= v7248:0 && v7252:0 >= v7249:0 && v7253:0 >= v7237:0 && v7254:0 >= v7238:0 && v7255:0 >= v7239:0 113.05/33.29 f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, 1, v7241:0, v7242:0, v7052:0 + v7246:0, v7244:0, v7246:0, v7245:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0, 0, 3, 2, 4) -> f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, 1, v7241:0, v7242:0, v7246:0, v7052:0 + v7246:0, v7052:0, v7052:0 + v7246:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0, 0, 3, 2, 4) :|: v7245:0 > 2 && v7246:0 < v7052:0 + v7246:0 && v7246:0 > 0 && v7052:0 + v7246:0 > 1 && v7235:0 < 0 && v7236:0 < 0 && v7237:0 > 0 && v7238:0 > 0 && v7239:0 > 0 && v7241:0 > 0 && v7242:0 > 0 && v7247:0 > 0 && v7248:0 > 0 && v7249:0 > 0 && v7250:0 > 3 && v7251:0 > 3 && v7244:0 > 0 && v7052:0 > -1 && v7252:0 > 3 && v7253:0 > 3 && v7254:0 > 3 && v7255:0 > 3 && v7250:0 >= v7247:0 && v7251:0 >= v7248:0 && v7252:0 >= v7249:0 && v7253:0 >= v7237:0 && v7254:0 >= v7238:0 && v7255:0 >= v7239:0 113.05/33.29 Filtered unneeded arguments: 113.05/33.29 f_965(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) -> f_965(x1, x2, x3, x4, x5, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) 113.05/33.29 Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: 113.05/33.29 f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, v7241:0, v7242:0, v7243:0, v7244:0, sum~v7052:0~v7243:0, v7245:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0) -> f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, v7241:0, v7242:0, v7243:0, v7244:0, v7052:0, v7052:0 + v7243:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0) :|: v7235:0 < 0 && v7243:0 <= v7052:0 + v7243:0 && v7236:0 < 0 && v7237:0 > 0 && v7238:0 > 0 && v7239:0 > 0 && v7241:0 > 0 && v7242:0 > 0 && v7243:0 > 0 && v7244:0 > 1 && v7052:0 + v7243:0 > 0 && v7245:0 > 1 && v7247:0 > 0 && v7248:0 > 0 && v7249:0 > 0 && v7250:0 > 3 && v7052:0 > -1 && v7251:0 > 3 && v7252:0 > 3 && v7253:0 > 3 && v7254:0 > 3 && v7255:0 > 3 && v7250:0 >= v7247:0 && v7251:0 >= v7248:0 && v7252:0 >= v7249:0 && v7253:0 >= v7237:0 && v7255:0 >= v7239:0 && v7254:0 >= v7238:0 && sum~v7052:0~v7243:0 = v7052:0 + v7243:0 113.05/33.29 f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, v7241:0, v7242:0, sum~v7052:0~v7246:0, v7244:0, v7246:0, v7245:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0) -> f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, v7241:0, v7242:0, v7246:0, v7052:0 + v7246:0, v7052:0, v7052:0 + v7246:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0) :|: v7246:0 < v7052:0 + v7246:0 && v7245:0 > 2 && v7246:0 > 0 && v7052:0 + v7246:0 > 1 && v7235:0 < 0 && v7236:0 < 0 && v7237:0 > 0 && v7238:0 > 0 && v7239:0 > 0 && v7241:0 > 0 && v7242:0 > 0 && v7247:0 > 0 && v7248:0 > 0 && v7249:0 > 0 && v7250:0 > 3 && v7251:0 > 3 && v7244:0 > 0 && v7052:0 > -1 && v7252:0 > 3 && v7253:0 > 3 && v7254:0 > 3 && v7255:0 > 3 && v7250:0 >= v7247:0 && v7251:0 >= v7248:0 && v7252:0 >= v7249:0 && v7253:0 >= v7237:0 && v7255:0 >= v7239:0 && v7254:0 >= v7238:0 && sum~v7052:0~v7246:0 = v7052:0 + v7246:0 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (23) 113.05/33.29 Obligation: 113.05/33.29 Rules: 113.05/33.29 f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, v7241:0, v7242:0, v7243:0, v7244:0, sum~v7052:0~v7243:0, v7245:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0) -> f_965(v7235:0, v7236:0, v7237:0, v7238:0, v7239:0, v7241:0, v7242:0, v7243:0, v7244:0, v7052:0, v7052:0 + v7243:0, v7247:0, v7250:0, v7248:0, v7251:0, v7249:0, v7252:0, v7253:0, v7254:0, v7255:0) :|: v7235:0 < 0 && v7243:0 <= v7052:0 + v7243:0 && v7236:0 < 0 && v7237:0 > 0 && v7238:0 > 0 && v7239:0 > 0 && v7241:0 > 0 && v7242:0 > 0 && v7243:0 > 0 && v7244:0 > 1 && v7052:0 + v7243:0 > 0 && v7245:0 > 1 && v7247:0 > 0 && v7248:0 > 0 && v7249:0 > 0 && v7250:0 > 3 && v7052:0 > -1 && v7251:0 > 3 && v7252:0 > 3 && v7253:0 > 3 && v7254:0 > 3 && v7255:0 > 3 && v7250:0 >= v7247:0 && v7251:0 >= v7248:0 && v7252:0 >= v7249:0 && v7253:0 >= v7237:0 && v7255:0 >= v7239:0 && v7254:0 >= v7238:0 && sum~v7052:0~v7243:0 = v7052:0 + v7243:0 113.05/33.29 f_965(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) -> f_965(x, x1, x2, x3, x4, x5, x6, x9, x20 + x9, x20, x20 + x9, x11, x12, x13, x14, x15, x16, x17, x18, x19) :|: x9 < x20 + x9 && x10 > 2 && x9 > 0 && x20 + x9 > 1 && x < 0 && x1 < 0 && x2 > 0 && x3 > 0 && x4 > 0 && x5 > 0 && x6 > 0 && x11 > 0 && x13 > 0 && x15 > 0 && x12 > 3 && x14 > 3 && x8 > 0 && x20 > -1 && x16 > 3 && x17 > 3 && x18 > 3 && x19 > 3 && x12 >= x11 && x14 >= x13 && x16 >= x15 && x17 >= x2 && x19 >= x4 && x18 >= x3 && x7 = x20 + x9 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (24) IRS2T2 (EQUIVALENT) 113.05/33.29 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 113.05/33.29 113.05/33.29 (f_965_20,1) 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (25) 113.05/33.29 Obligation: 113.05/33.29 START: 0; 113.05/33.29 113.05/33.29 FROM: 0; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 FROM: 1; 113.05/33.29 oldX0 := x0; 113.05/33.29 oldX1 := x1; 113.05/33.29 oldX2 := x2; 113.05/33.29 oldX3 := x3; 113.05/33.29 oldX4 := x4; 113.05/33.29 oldX5 := x5; 113.05/33.29 oldX6 := x6; 113.05/33.29 oldX7 := x7; 113.05/33.29 oldX8 := x8; 113.05/33.29 oldX9 := x9; 113.05/33.29 oldX10 := x10; 113.05/33.29 oldX11 := x11; 113.05/33.29 oldX12 := x12; 113.05/33.29 oldX13 := x13; 113.05/33.29 oldX14 := x14; 113.05/33.29 oldX15 := x15; 113.05/33.29 oldX16 := x16; 113.05/33.29 oldX17 := x17; 113.05/33.29 oldX18 := x18; 113.05/33.29 oldX19 := x19; 113.05/33.29 oldX20 := oldX9 - oldX7; 113.05/33.29 assume(oldX0 < 0 && oldX7 <= oldX20 + oldX7 && oldX1 < 0 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 0 && oldX6 > 0 && oldX7 > 0 && oldX8 > 1 && oldX20 + oldX7 > 0 && oldX10 > 1 && oldX11 > 0 && oldX13 > 0 && oldX15 > 0 && oldX12 > 3 && oldX20 > -1 && oldX14 > 3 && oldX16 > 3 && oldX17 > 3 && oldX18 > 3 && oldX19 > 3 && oldX12 >= oldX11 && oldX14 >= oldX13 && oldX16 >= oldX15 && oldX17 >= oldX2 && oldX19 >= oldX4 && oldX18 >= oldX3 && oldX9 = oldX20 + oldX7); 113.05/33.29 x0 := oldX0; 113.05/33.29 x1 := oldX1; 113.05/33.29 x2 := oldX2; 113.05/33.29 x3 := oldX3; 113.05/33.29 x4 := oldX4; 113.05/33.29 x5 := oldX5; 113.05/33.29 x6 := oldX6; 113.05/33.29 x7 := oldX7; 113.05/33.29 x8 := oldX8; 113.05/33.29 x9 := oldX9 - oldX7; 113.05/33.29 x10 := oldX20 + oldX7; 113.05/33.29 x11 := oldX11; 113.05/33.29 x12 := oldX12; 113.05/33.29 x13 := oldX13; 113.05/33.29 x14 := oldX14; 113.05/33.29 x15 := oldX15; 113.05/33.29 x16 := oldX16; 113.05/33.29 x17 := oldX17; 113.05/33.29 x18 := oldX18; 113.05/33.29 x19 := oldX19; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 FROM: 1; 113.05/33.29 oldX0 := x0; 113.05/33.29 oldX1 := x1; 113.05/33.29 oldX2 := x2; 113.05/33.29 oldX3 := x3; 113.05/33.29 oldX4 := x4; 113.05/33.29 oldX5 := x5; 113.05/33.29 oldX6 := x6; 113.05/33.29 oldX7 := x7; 113.05/33.29 oldX8 := x8; 113.05/33.29 oldX9 := x9; 113.05/33.29 oldX10 := x10; 113.05/33.29 oldX11 := x11; 113.05/33.29 oldX12 := x12; 113.05/33.29 oldX13 := x13; 113.05/33.29 oldX14 := x14; 113.05/33.29 oldX15 := x15; 113.05/33.29 oldX16 := x16; 113.05/33.29 oldX17 := x17; 113.05/33.29 oldX18 := x18; 113.05/33.29 oldX19 := x19; 113.05/33.29 oldX20 := oldX7 - oldX9; 113.05/33.29 assume(oldX9 < oldX20 + oldX9 && oldX10 > 2 && oldX9 > 0 && oldX20 + oldX9 > 1 && oldX0 < 0 && oldX1 < 0 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 0 && oldX6 > 0 && oldX11 > 0 && oldX13 > 0 && oldX15 > 0 && oldX12 > 3 && oldX14 > 3 && oldX8 > 0 && oldX20 > -1 && oldX16 > 3 && oldX17 > 3 && oldX18 > 3 && oldX19 > 3 && oldX12 >= oldX11 && oldX14 >= oldX13 && oldX16 >= oldX15 && oldX17 >= oldX2 && oldX19 >= oldX4 && oldX18 >= oldX3 && oldX7 = oldX20 + oldX9); 113.05/33.29 x0 := oldX0; 113.05/33.29 x1 := oldX1; 113.05/33.29 x2 := oldX2; 113.05/33.29 x3 := oldX3; 113.05/33.29 x4 := oldX4; 113.05/33.29 x5 := oldX5; 113.05/33.29 x6 := oldX6; 113.05/33.29 x7 := oldX9; 113.05/33.29 x8 := oldX20 + oldX9; 113.05/33.29 x9 := oldX7 - oldX9; 113.05/33.29 x10 := oldX20 + oldX9; 113.05/33.29 x11 := oldX11; 113.05/33.29 x12 := oldX12; 113.05/33.29 x13 := oldX13; 113.05/33.29 x14 := oldX14; 113.05/33.29 x15 := oldX15; 113.05/33.29 x16 := oldX16; 113.05/33.29 x17 := oldX17; 113.05/33.29 x18 := oldX18; 113.05/33.29 x19 := oldX19; 113.05/33.29 TO: 1; 113.05/33.29 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (26) T2 (EQUIVALENT) 113.05/33.29 Initially, performed program simplifications using lexicographic rank functions: 113.05/33.29 * Removed transitions 1, 4, 5 using the following rank functions: 113.05/33.29 - Rank function 1: 113.05/33.29 RF for loc. 5: 1+2*x7+2*x9 113.05/33.29 RF for loc. 6: 2*x7+2*x9 113.05/33.29 Bound for (chained) transitions 4: 4 113.05/33.29 - Rank function 2: 113.05/33.29 RF for loc. 5: 3+2*x10+4*x7+2*x9 113.05/33.29 RF for loc. 6: 2*x10+4*x7+2*x9 113.05/33.29 Bound for (chained) transitions 5: 12 113.05/33.29 - Rank function 3: 113.05/33.29 RF for loc. 5: 0 113.05/33.29 RF for loc. 6: -1 113.05/33.29 Bound for (chained) transitions 1: 0 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (27) 113.05/33.29 YES 113.05/33.29 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (28) 113.05/33.29 Obligation: 113.05/33.29 SCC 113.05/33.29 ---------------------------------------- 113.05/33.29 113.05/33.29 (29) SCC2IRS (SOUND) 113.05/33.29 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.29 Generated rules. Obtained 33 rulesP rules: 113.05/33.29 f_846(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 4) -> f_852(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: 0 < v5460 && 3 <= v5461 && 2 <= v5458 113.05/33.29 f_852(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_860(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_860(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_868(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: TRUE 113.05/33.29 f_868(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_875(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_875(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_882(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: TRUE 113.05/33.29 f_882(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_890(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: TRUE 113.05/33.29 f_890(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_897(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_897(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_902(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_902(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_907(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_907(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_912(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: TRUE 113.05/33.29 f_912(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) -> f_913(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5458, v5458, v5461, v5458, v5460, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 2, 4) :|: v5460 <= v5458 && v5460 <= v5460 && v5460 <= v5458 && 1 + v5450 <= 0 && 1 <= v5451 && 1 <= v5452 && 1 <= v5453 && 1 <= v5454 && 1 <= v5456 && 1 <= v5460 && 2 <= v5458 && 1 <= v5458 && 2 <= v5461 && 1 <= v5458 && 1 <= v5460 && 1 <= v5462 && 1 <= v5463 && 1 <= v5464 && 4 <= v5465 && 4 <= v5466 && 4 <= v5467 && 4 <= v5468 && 4 <= v5469 && 4 <= v5470 && v5462 <= v5465 && v5463 <= v5466 && v5464 <= v5467 && v5452 <= v5468 && v5453 <= v5469 && v5454 <= v5470 113.05/33.29 f_913(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6493, v6494, v6495, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) -> f_917(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6494, v6495, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_917(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6494, v6495, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) -> f_922(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6495, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_922(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6495, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) -> f_927(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) :|: v6769 + v6490 = v6492 && 0 <= v6769 113.05/33.29 f_927(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) -> f_931(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) :|: TRUE 113.05/33.29 f_931(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) -> f_937(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) :|: TRUE 113.05/33.29 f_937(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) -> f_938(v6482, v6483, v6484, v6485, v6486, 1, v6488, 0, v6490, v6491, v6492, v6769, v6496, v6499, v6497, v6500, v6498, v6501, v6502, v6503, v6504, 3, 2, 4) :|: 1 + v6482 <= 0 && 1 <= v6483 && 1 <= v6484 && 1 <= v6485 && 1 <= v6486 && 1 <= v6488 && 1 <= v6490 && 2 <= v6491 && 1 <= v6492 && 0 <= v6769 && 1 <= v6496 && 1 <= v6497 && 1 <= v6498 && 4 <= v6499 && 4 <= v6500 && 4 <= v6501 && 4 <= v6502 && 4 <= v6503 && 4 <= v6504 && v6496 <= v6499 && v6497 <= v6500 && v6498 <= v6501 && v6484 <= v6502 && v6485 <= v6503 && v6486 <= v6504 113.05/33.29 f_938(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7003, v7004, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_943(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_943(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_948(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_948(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_954(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: v7001 <= v7004 && 1 <= v7004 && 2 <= v7003 113.05/33.29 f_948(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_955(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: v7004 < v7001 113.05/33.29 f_954(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_960(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_960(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_966(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: TRUE 113.05/33.29 f_966(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_913(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7001, v7004, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: v7001 <= v7004 && v7001 <= v7004 && v7001 <= v7001 && 1 + v6993 <= 0 && 1 <= v6994 && 1 <= v6995 && 1 <= v6996 && 1 <= v6997 && 1 <= v6999 && 1 <= v7001 && 2 <= v7002 && 1 <= v7004 && 2 <= v7003 && 1 <= v7001 && 1 <= v7004 && 1 <= v7005 && 1 <= v7006 && 1 <= v7007 && 4 <= v7008 && 4 <= v7009 && 4 <= v7010 && 4 <= v7011 && 4 <= v7012 && 4 <= v7013 && v7005 <= v7008 && v7006 <= v7009 && v7007 <= v7010 && v6995 <= v7011 && v6996 <= v7012 && v6997 <= v7013 113.05/33.29 f_955(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_961(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_961(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_967(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: TRUE 113.05/33.29 f_967(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_972(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_972(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_977(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: TRUE 113.05/33.29 f_977(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_982(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: 0 = 0 113.05/33.29 f_982(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_987(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: TRUE 113.05/33.29 f_987(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_992(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) :|: TRUE 113.05/33.29 f_992(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 2, 4) -> f_841(v6993, v6994, v6995, v6996, v6997, 1, v6999, 0, v7001, v7002, v7004, v7003, v7005, v7008, v7006, v7009, v7007, v7010, v7011, v7012, v7013, 3, 4) :|: v7004 < v7001 && 1 + v6993 <= 0 && 1 <= v6994 && 1 <= v6995 && 1 <= v6996 && 1 <= v6997 && 1 <= v6999 && 1 <= v7001 && 1 <= v7002 && 0 <= v7004 && 1 <= v7003 && 1 <= v7005 && 1 <= v7006 && 1 <= v7007 && 4 <= v7008 && 4 <= v7009 && 4 <= v7010 && 4 <= v7011 && 4 <= v7012 && 4 <= v7013 && v7005 <= v7008 && v7006 <= v7009 && v7007 <= v7010 && v6995 <= v7011 && v6996 <= v7012 && v6997 <= v7013 113.05/33.29 f_841(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5458, v5459, v5460, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 4) -> f_846(v5450, v5451, v5452, v5453, v5454, 1, v5456, 0, v5460, v5459, v5458, v5461, v5462, v5465, v5463, v5466, v5464, v5467, v5468, v5469, v5470, 3, 4) :|: 0 = 0 113.05/33.29 Combined rules. Obtained 2 rulesP rules: 113.05/33.29 f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, 1, v6999:0, 0, v6769:0 + v7004:0, v7002:0, v7004:0, v7003:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0, 3, 2, 4) -> f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, 1, v6999:0, 0, v7004:0, v6769:0 + v7004:0, v6769:0, v6769:0 + v7004:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0, 3, 2, 4) :|: v7003:0 > 2 && v7004:0 < v6769:0 + v7004:0 && v7004:0 > 0 && v6769:0 + v7004:0 > 1 && v6993:0 < 0 && v6994:0 > 0 && v6995:0 > 0 && v6996:0 > 0 && v6997:0 > 0 && v6999:0 > 0 && v7005:0 > 0 && v7006:0 > 0 && v7007:0 > 0 && v7008:0 > 3 && v7009:0 > 3 && v7002:0 > 0 && v6769:0 > -1 && v7010:0 > 3 && v7011:0 > 3 && v7012:0 > 3 && v7013:0 > 3 && v7008:0 >= v7005:0 && v7009:0 >= v7006:0 && v7010:0 >= v7007:0 && v7011:0 >= v6995:0 && v7012:0 >= v6996:0 && v7013:0 >= v6997:0 113.05/33.29 f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, 1, v6999:0, 0, v7001:0, v7002:0, v6769:0 + v7001:0, v7003:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0, 3, 2, 4) -> f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, 1, v6999:0, 0, v7001:0, v7002:0, v6769:0, v6769:0 + v7001:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0, 3, 2, 4) :|: v7001:0 <= v6769:0 + v7001:0 && v6993:0 < 0 && v6994:0 > 0 && v6995:0 > 0 && v6996:0 > 0 && v6997:0 > 0 && v6999:0 > 0 && v7001:0 > 0 && v7002:0 > 1 && v6769:0 + v7001:0 > 0 && v7003:0 > 1 && v7005:0 > 0 && v7006:0 > 0 && v7007:0 > 0 && v7008:0 > 3 && v6769:0 > -1 && v7009:0 > 3 && v7010:0 > 3 && v7011:0 > 3 && v7012:0 > 3 && v7013:0 > 3 && v7008:0 >= v7005:0 && v7009:0 >= v7006:0 && v7010:0 >= v7007:0 && v7011:0 >= v6995:0 && v7012:0 >= v6996:0 && v7013:0 >= v6997:0 113.05/33.30 Filtered unneeded arguments: 113.05/33.30 f_948(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24) -> f_948(x1, x2, x3, x4, x5, x7, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) 113.05/33.30 Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: 113.05/33.30 f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, v6999:0, sum~v6769:0~v7004:0, v7002:0, v7004:0, v7003:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0) -> f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, v6999:0, v7004:0, v6769:0 + v7004:0, v6769:0, v6769:0 + v7004:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0) :|: v7004:0 < v6769:0 + v7004:0 && v7003:0 > 2 && v7004:0 > 0 && v6769:0 + v7004:0 > 1 && v6993:0 < 0 && v6994:0 > 0 && v6995:0 > 0 && v6996:0 > 0 && v6997:0 > 0 && v6999:0 > 0 && v7005:0 > 0 && v7006:0 > 0 && v7007:0 > 0 && v7008:0 > 3 && v7009:0 > 3 && v7002:0 > 0 && v6769:0 > -1 && v7010:0 > 3 && v7011:0 > 3 && v7012:0 > 3 && v7013:0 > 3 && v7008:0 >= v7005:0 && v7009:0 >= v7006:0 && v7010:0 >= v7007:0 && v7011:0 >= v6995:0 && v7013:0 >= v6997:0 && v7012:0 >= v6996:0 && sum~v6769:0~v7004:0 = v6769:0 + v7004:0 113.05/33.30 f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, v6999:0, v7001:0, v7002:0, sum~v6769:0~v7001:0, v7003:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0) -> f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, v6999:0, v7001:0, v7002:0, v6769:0, v6769:0 + v7001:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0) :|: v6993:0 < 0 && v7001:0 <= v6769:0 + v7001:0 && v6994:0 > 0 && v6995:0 > 0 && v6996:0 > 0 && v6997:0 > 0 && v6999:0 > 0 && v7001:0 > 0 && v7002:0 > 1 && v6769:0 + v7001:0 > 0 && v7003:0 > 1 && v7005:0 > 0 && v7006:0 > 0 && v7007:0 > 0 && v7008:0 > 3 && v6769:0 > -1 && v7009:0 > 3 && v7010:0 > 3 && v7011:0 > 3 && v7012:0 > 3 && v7013:0 > 3 && v7008:0 >= v7005:0 && v7009:0 >= v7006:0 && v7010:0 >= v7007:0 && v7011:0 >= v6995:0 && v7013:0 >= v6997:0 && v7012:0 >= v6996:0 && sum~v6769:0~v7001:0 = v6769:0 + v7001:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (30) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, v6999:0, sum~v6769:0~v7004:0, v7002:0, v7004:0, v7003:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0) -> f_948(v6993:0, v6994:0, v6995:0, v6996:0, v6997:0, v6999:0, v7004:0, v6769:0 + v7004:0, v6769:0, v6769:0 + v7004:0, v7005:0, v7008:0, v7006:0, v7009:0, v7007:0, v7010:0, v7011:0, v7012:0, v7013:0) :|: v7004:0 < v6769:0 + v7004:0 && v7003:0 > 2 && v7004:0 > 0 && v6769:0 + v7004:0 > 1 && v6993:0 < 0 && v6994:0 > 0 && v6995:0 > 0 && v6996:0 > 0 && v6997:0 > 0 && v6999:0 > 0 && v7005:0 > 0 && v7006:0 > 0 && v7007:0 > 0 && v7008:0 > 3 && v7009:0 > 3 && v7002:0 > 0 && v6769:0 > -1 && v7010:0 > 3 && v7011:0 > 3 && v7012:0 > 3 && v7013:0 > 3 && v7008:0 >= v7005:0 && v7009:0 >= v7006:0 && v7010:0 >= v7007:0 && v7011:0 >= v6995:0 && v7013:0 >= v6997:0 && v7012:0 >= v6996:0 && sum~v6769:0~v7004:0 = v6769:0 + v7004:0 113.05/33.30 f_948(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f_948(x, x1, x2, x3, x4, x5, x6, x7, x19, x19 + x6, x10, x11, x12, x13, x14, x15, x16, x17, x18) :|: x < 0 && x6 <= x19 + x6 && x1 > 0 && x2 > 0 && x3 > 0 && x4 > 0 && x5 > 0 && x6 > 0 && x7 > 1 && x19 + x6 > 0 && x9 > 1 && x10 > 0 && x12 > 0 && x14 > 0 && x11 > 3 && x19 > -1 && x13 > 3 && x15 > 3 && x16 > 3 && x17 > 3 && x18 > 3 && x11 >= x10 && x13 >= x12 && x15 >= x14 && x16 >= x2 && x18 >= x4 && x17 >= x3 && x8 = x19 + x6 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (31) IRS2T2 (EQUIVALENT) 113.05/33.30 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 113.05/33.30 113.05/33.30 (f_948_19,1) 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (32) 113.05/33.30 Obligation: 113.05/33.30 START: 0; 113.05/33.30 113.05/33.30 FROM: 0; 113.05/33.30 TO: 1; 113.05/33.30 113.05/33.30 FROM: 1; 113.05/33.30 oldX0 := x0; 113.05/33.30 oldX1 := x1; 113.05/33.30 oldX2 := x2; 113.05/33.30 oldX3 := x3; 113.05/33.30 oldX4 := x4; 113.05/33.30 oldX5 := x5; 113.05/33.30 oldX6 := x6; 113.05/33.30 oldX7 := x7; 113.05/33.30 oldX8 := x8; 113.05/33.30 oldX9 := x9; 113.05/33.30 oldX10 := x10; 113.05/33.30 oldX11 := x11; 113.05/33.30 oldX12 := x12; 113.05/33.30 oldX13 := x13; 113.05/33.30 oldX14 := x14; 113.05/33.30 oldX15 := x15; 113.05/33.30 oldX16 := x16; 113.05/33.30 oldX17 := x17; 113.05/33.30 oldX18 := x18; 113.05/33.30 oldX19 := oldX6 - oldX8; 113.05/33.30 assume(oldX8 < oldX19 + oldX8 && oldX9 > 2 && oldX8 > 0 && oldX19 + oldX8 > 1 && oldX0 < 0 && oldX1 > 0 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 0 && oldX10 > 0 && oldX12 > 0 && oldX14 > 0 && oldX11 > 3 && oldX13 > 3 && oldX7 > 0 && oldX19 > -1 && oldX15 > 3 && oldX16 > 3 && oldX17 > 3 && oldX18 > 3 && oldX11 >= oldX10 && oldX13 >= oldX12 && oldX15 >= oldX14 && oldX16 >= oldX2 && oldX18 >= oldX4 && oldX17 >= oldX3 && oldX6 = oldX19 + oldX8); 113.05/33.30 x0 := oldX0; 113.05/33.30 x1 := oldX1; 113.05/33.30 x2 := oldX2; 113.05/33.30 x3 := oldX3; 113.05/33.30 x4 := oldX4; 113.05/33.30 x5 := oldX5; 113.05/33.30 x6 := oldX8; 113.05/33.30 x7 := oldX19 + oldX8; 113.05/33.30 x8 := oldX6 - oldX8; 113.05/33.30 x9 := oldX19 + oldX8; 113.05/33.30 x10 := oldX10; 113.05/33.30 x11 := oldX11; 113.05/33.30 x12 := oldX12; 113.05/33.30 x13 := oldX13; 113.05/33.30 x14 := oldX14; 113.05/33.30 x15 := oldX15; 113.05/33.30 x16 := oldX16; 113.05/33.30 x17 := oldX17; 113.05/33.30 x18 := oldX18; 113.05/33.30 TO: 1; 113.05/33.30 113.05/33.30 FROM: 1; 113.05/33.30 oldX0 := x0; 113.05/33.30 oldX1 := x1; 113.05/33.30 oldX2 := x2; 113.05/33.30 oldX3 := x3; 113.05/33.30 oldX4 := x4; 113.05/33.30 oldX5 := x5; 113.05/33.30 oldX6 := x6; 113.05/33.30 oldX7 := x7; 113.05/33.30 oldX8 := x8; 113.05/33.30 oldX9 := x9; 113.05/33.30 oldX10 := x10; 113.05/33.30 oldX11 := x11; 113.05/33.30 oldX12 := x12; 113.05/33.30 oldX13 := x13; 113.05/33.30 oldX14 := x14; 113.05/33.30 oldX15 := x15; 113.05/33.30 oldX16 := x16; 113.05/33.30 oldX17 := x17; 113.05/33.30 oldX18 := x18; 113.05/33.30 oldX19 := oldX8 - oldX6; 113.05/33.30 assume(oldX0 < 0 && oldX6 <= oldX19 + oldX6 && oldX1 > 0 && oldX2 > 0 && oldX3 > 0 && oldX4 > 0 && oldX5 > 0 && oldX6 > 0 && oldX7 > 1 && oldX19 + oldX6 > 0 && oldX9 > 1 && oldX10 > 0 && oldX12 > 0 && oldX14 > 0 && oldX11 > 3 && oldX19 > -1 && oldX13 > 3 && oldX15 > 3 && oldX16 > 3 && oldX17 > 3 && oldX18 > 3 && oldX11 >= oldX10 && oldX13 >= oldX12 && oldX15 >= oldX14 && oldX16 >= oldX2 && oldX18 >= oldX4 && oldX17 >= oldX3 && oldX8 = oldX19 + oldX6); 113.05/33.30 x0 := oldX0; 113.05/33.30 x1 := oldX1; 113.05/33.30 x2 := oldX2; 113.05/33.30 x3 := oldX3; 113.05/33.30 x4 := oldX4; 113.05/33.30 x5 := oldX5; 113.05/33.30 x6 := oldX6; 113.05/33.30 x7 := oldX7; 113.05/33.30 x8 := oldX8 - oldX6; 113.05/33.30 x9 := oldX19 + oldX6; 113.05/33.30 x10 := oldX10; 113.05/33.30 x11 := oldX11; 113.05/33.30 x12 := oldX12; 113.05/33.30 x13 := oldX13; 113.05/33.30 x14 := oldX14; 113.05/33.30 x15 := oldX15; 113.05/33.30 x16 := oldX16; 113.05/33.30 x17 := oldX17; 113.05/33.30 x18 := oldX18; 113.05/33.30 TO: 1; 113.05/33.30 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (33) T2 (EQUIVALENT) 113.05/33.30 Initially, performed program simplifications using lexicographic rank functions: 113.05/33.30 * Removed transitions 1, 4, 5 using the following rank functions: 113.05/33.30 - Rank function 1: 113.05/33.30 RF for loc. 5: 1+2*x6+2*x8 113.05/33.30 RF for loc. 6: 2*x6+2*x8 113.05/33.30 Bound for (chained) transitions 4: 6 113.05/33.30 Bound for (chained) transitions 5: 4 113.05/33.30 - Rank function 2: 113.05/33.30 RF for loc. 5: 0 113.05/33.30 RF for loc. 6: -1 113.05/33.30 Bound for (chained) transitions 1: 0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (34) 113.05/33.30 YES 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (35) 113.05/33.30 Obligation: 113.05/33.30 SCC 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (36) SCC2IRS (SOUND) 113.05/33.30 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.30 Generated rules. Obtained 11 rulesP rules: 113.05/33.30 f_493(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_504(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: 0 = 0 113.05/33.30 f_504(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_516(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 2, 4) :|: v1003 <= v1005 && 1 <= v1005 && 2 <= v1004 113.05/33.30 f_516(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 2, 4) -> f_529(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 2, 4) :|: 0 = 0 113.05/33.30 f_529(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 2, 4) -> f_541(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 2, 4) :|: TRUE 113.05/33.30 f_541(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 2, 4) -> f_556(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: 0 = 0 113.05/33.30 f_556(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_571(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: 0 = 0 113.05/33.30 f_571(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_585(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: v2028 + v1003 = v1005 && 0 <= v2028 113.05/33.30 f_585(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_600(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: TRUE 113.05/33.30 f_600(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_616(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: TRUE 113.05/33.30 f_616(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_482(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v2028, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: 1 + v996 <= 0 && 1 + v997 <= 0 && 1 <= v998 && 1 <= v999 && 1 <= v1000 && 1 <= v1002 && 1 <= v1003 && 1 <= v1005 && 0 <= v2028 && 1 <= v1006 && 1 <= v1007 && 1 <= v1008 && 4 <= v1009 && 4 <= v1010 && 4 <= v1011 && 4 <= v1012 && 4 <= v1013 && 4 <= v1014 && v1006 <= v1009 && v1007 <= v1010 && v1008 <= v1011 && v998 <= v1012 && v999 <= v1013 && v1000 <= v1014 113.05/33.30 f_482(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1004, v1005, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) -> f_493(v996, v997, v998, v999, v1000, 1, v1002, v1003, v1005, v1004, v1006, v1009, v1007, v1010, v1008, v1011, v1012, v1013, v1014, 0, 3, 4) :|: 0 = 0 113.05/33.30 Combined rules. Obtained 1 rulesP rules: 113.05/33.30 f_493(v996:0, v997:0, v998:0, v999:0, v1000:0, 1, v1002:0, v1003:0, v2028:0 + v1003:0, v1004:0, v1006:0, v1009:0, v1007:0, v1010:0, v1008:0, v1011:0, v1012:0, v1013:0, v1014:0, 0, 3, 4) -> f_493(v996:0, v997:0, v998:0, v999:0, v1000:0, 1, v1002:0, v1003:0, v2028:0, v2028:0 + v1003:0, v1006:0, v1009:0, v1007:0, v1010:0, v1008:0, v1011:0, v1012:0, v1013:0, v1014:0, 0, 3, 4) :|: v997:0 < 0 && v996:0 < 0 && v998:0 > 0 && v999:0 > 0 && v1000:0 > 0 && v1002:0 > 0 && v1003:0 > 0 && v2028:0 + v1003:0 > 0 && v2028:0 > -1 && v1006:0 > 0 && v1007:0 > 0 && v1008:0 > 0 && v1009:0 > 3 && v1010:0 > 3 && v1011:0 > 3 && v2028:0 + v1003:0 >= v1003:0 && v1012:0 > 3 && v1004:0 > 1 && v1013:0 > 3 && v1014:0 > 3 && v1009:0 >= v1006:0 && v1010:0 >= v1007:0 && v1011:0 >= v1008:0 && v998:0 <= v1012:0 && v1014:0 >= v1000:0 && v999:0 <= v1013:0 113.05/33.30 Filtered unneeded arguments: 113.05/33.30 f_493(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) -> f_493(x1, x2, x3, x4, x5, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) 113.05/33.30 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 113.05/33.30 f_493(v996:0, v997:0, v998:0, v999:0, v1000:0, v1002:0, v1003:0, sum~v2028:0~v1003:0, v1004:0, v1006:0, v1009:0, v1007:0, v1010:0, v1008:0, v1011:0, v1012:0, v1013:0, v1014:0) -> f_493(v996:0, v997:0, v998:0, v999:0, v1000:0, v1002:0, v1003:0, v2028:0, v2028:0 + v1003:0, v1006:0, v1009:0, v1007:0, v1010:0, v1008:0, v1011:0, v1012:0, v1013:0, v1014:0) :|: v996:0 < 0 && v997:0 < 0 && v998:0 > 0 && v999:0 > 0 && v1000:0 > 0 && v1002:0 > 0 && v1003:0 > 0 && v2028:0 + v1003:0 > 0 && v2028:0 > -1 && v1006:0 > 0 && v1007:0 > 0 && v1008:0 > 0 && v1009:0 > 3 && v1010:0 > 3 && v1011:0 > 3 && v2028:0 + v1003:0 >= v1003:0 && v1012:0 > 3 && v1004:0 > 1 && v1013:0 > 3 && v1014:0 > 3 && v1009:0 >= v1006:0 && v1010:0 >= v1007:0 && v1011:0 >= v1008:0 && v998:0 <= v1012:0 && v999:0 <= v1013:0 && v1014:0 >= v1000:0 && sum~v2028:0~v1003:0 = v2028:0 + v1003:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (37) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_493(v996:0, v997:0, v998:0, v999:0, v1000:0, v1002:0, v1003:0, sum~v2028:0~v1003:0, v1004:0, v1006:0, v1009:0, v1007:0, v1010:0, v1008:0, v1011:0, v1012:0, v1013:0, v1014:0) -> f_493(v996:0, v997:0, v998:0, v999:0, v1000:0, v1002:0, v1003:0, v2028:0, v2028:0 + v1003:0, v1006:0, v1009:0, v1007:0, v1010:0, v1008:0, v1011:0, v1012:0, v1013:0, v1014:0) :|: v996:0 < 0 && v997:0 < 0 && v998:0 > 0 && v999:0 > 0 && v1000:0 > 0 && v1002:0 > 0 && v1003:0 > 0 && v2028:0 + v1003:0 > 0 && v2028:0 > -1 && v1006:0 > 0 && v1007:0 > 0 && v1008:0 > 0 && v1009:0 > 3 && v1010:0 > 3 && v1011:0 > 3 && v2028:0 + v1003:0 >= v1003:0 && v1012:0 > 3 && v1004:0 > 1 && v1013:0 > 3 && v1014:0 > 3 && v1009:0 >= v1006:0 && v1010:0 >= v1007:0 && v1011:0 >= v1008:0 && v998:0 <= v1012:0 && v999:0 <= v1013:0 && v1014:0 >= v1000:0 && sum~v2028:0~v1003:0 = v2028:0 + v1003:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (38) IntTRSCompressionProof (EQUIVALENT) 113.05/33.30 Compressed rules. 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (39) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_493(v996:0:0, v997:0:0, v998:0:0, v999:0:0, v1000:0:0, v1002:0:0, v1003:0:0, sum~v2028:0:0~v1003:0:0, v1004:0:0, v1006:0:0, v1009:0:0, v1007:0:0, v1010:0:0, v1008:0:0, v1011:0:0, v1012:0:0, v1013:0:0, v1014:0:0) -> f_493(v996:0:0, v997:0:0, v998:0:0, v999:0:0, v1000:0:0, v1002:0:0, v1003:0:0, v2028:0:0, v2028:0:0 + v1003:0:0, v1006:0:0, v1009:0:0, v1007:0:0, v1010:0:0, v1008:0:0, v1011:0:0, v1012:0:0, v1013:0:0, v1014:0:0) :|: v999:0:0 <= v1013:0:0 && v1014:0:0 >= v1000:0:0 && v998:0:0 <= v1012:0:0 && v1011:0:0 >= v1008:0:0 && v1010:0:0 >= v1007:0:0 && v1009:0:0 >= v1006:0:0 && v1014:0:0 > 3 && v1013:0:0 > 3 && v1004:0:0 > 1 && v1012:0:0 > 3 && v2028:0:0 + v1003:0:0 >= v1003:0:0 && v1011:0:0 > 3 && v1010:0:0 > 3 && v1009:0:0 > 3 && v1008:0:0 > 0 && v1007:0:0 > 0 && v1006:0:0 > 0 && v2028:0:0 > -1 && v2028:0:0 + v1003:0:0 > 0 && v1003:0:0 > 0 && v1002:0:0 > 0 && v1000:0:0 > 0 && v999:0:0 > 0 && v998:0:0 > 0 && v997:0:0 < 0 && v996:0:0 < 0 && sum~v2028:0:0~v1003:0:0 = v2028:0:0 + v1003:0:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (40) RankingReductionPairProof (EQUIVALENT) 113.05/33.30 Interpretation: 113.05/33.30 [ f_493 ] = f_493_8 113.05/33.30 113.05/33.30 The following rules are decreasing: 113.05/33.30 f_493(v996:0:0, v997:0:0, v998:0:0, v999:0:0, v1000:0:0, v1002:0:0, v1003:0:0, sum~v2028:0:0~v1003:0:0, v1004:0:0, v1006:0:0, v1009:0:0, v1007:0:0, v1010:0:0, v1008:0:0, v1011:0:0, v1012:0:0, v1013:0:0, v1014:0:0) -> f_493(v996:0:0, v997:0:0, v998:0:0, v999:0:0, v1000:0:0, v1002:0:0, v1003:0:0, v2028:0:0, v2028:0:0 + v1003:0:0, v1006:0:0, v1009:0:0, v1007:0:0, v1010:0:0, v1008:0:0, v1011:0:0, v1012:0:0, v1013:0:0, v1014:0:0) :|: v999:0:0 <= v1013:0:0 && v1014:0:0 >= v1000:0:0 && v998:0:0 <= v1012:0:0 && v1011:0:0 >= v1008:0:0 && v1010:0:0 >= v1007:0:0 && v1009:0:0 >= v1006:0:0 && v1014:0:0 > 3 && v1013:0:0 > 3 && v1004:0:0 > 1 && v1012:0:0 > 3 && v2028:0:0 + v1003:0:0 >= v1003:0:0 && v1011:0:0 > 3 && v1010:0:0 > 3 && v1009:0:0 > 3 && v1008:0:0 > 0 && v1007:0:0 > 0 && v1006:0:0 > 0 && v2028:0:0 > -1 && v2028:0:0 + v1003:0:0 > 0 && v1003:0:0 > 0 && v1002:0:0 > 0 && v1000:0:0 > 0 && v999:0:0 > 0 && v998:0:0 > 0 && v997:0:0 < 0 && v996:0:0 < 0 && sum~v2028:0:0~v1003:0:0 = v2028:0:0 + v1003:0:0 113.05/33.30 113.05/33.30 The following rules are bounded: 113.05/33.30 f_493(v996:0:0, v997:0:0, v998:0:0, v999:0:0, v1000:0:0, v1002:0:0, v1003:0:0, sum~v2028:0:0~v1003:0:0, v1004:0:0, v1006:0:0, v1009:0:0, v1007:0:0, v1010:0:0, v1008:0:0, v1011:0:0, v1012:0:0, v1013:0:0, v1014:0:0) -> f_493(v996:0:0, v997:0:0, v998:0:0, v999:0:0, v1000:0:0, v1002:0:0, v1003:0:0, v2028:0:0, v2028:0:0 + v1003:0:0, v1006:0:0, v1009:0:0, v1007:0:0, v1010:0:0, v1008:0:0, v1011:0:0, v1012:0:0, v1013:0:0, v1014:0:0) :|: v999:0:0 <= v1013:0:0 && v1014:0:0 >= v1000:0:0 && v998:0:0 <= v1012:0:0 && v1011:0:0 >= v1008:0:0 && v1010:0:0 >= v1007:0:0 && v1009:0:0 >= v1006:0:0 && v1014:0:0 > 3 && v1013:0:0 > 3 && v1004:0:0 > 1 && v1012:0:0 > 3 && v2028:0:0 + v1003:0:0 >= v1003:0:0 && v1011:0:0 > 3 && v1010:0:0 > 3 && v1009:0:0 > 3 && v1008:0:0 > 0 && v1007:0:0 > 0 && v1006:0:0 > 0 && v2028:0:0 > -1 && v2028:0:0 + v1003:0:0 > 0 && v1003:0:0 > 0 && v1002:0:0 > 0 && v1000:0:0 > 0 && v999:0:0 > 0 && v998:0:0 > 0 && v997:0:0 < 0 && v996:0:0 < 0 && sum~v2028:0:0~v1003:0:0 = v2028:0:0 + v1003:0:0 113.05/33.30 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (41) 113.05/33.30 YES 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (42) 113.05/33.30 Obligation: 113.05/33.30 SCC 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (43) SCC2IRS (SOUND) 113.05/33.30 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.30 Generated rules. Obtained 11 rulesP rules: 113.05/33.30 f_463(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_473(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: 0 = 0 113.05/33.30 f_473(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_484(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 2, 4) :|: v816 <= v824 && 1 <= v824 && 2 <= v823 113.05/33.30 f_484(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 2, 4) -> f_495(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 2, 4) :|: 0 = 0 113.05/33.30 f_495(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 2, 4) -> f_506(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 2, 4) :|: TRUE 113.05/33.30 f_506(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 2, 4) -> f_519(v815, v816, v817, v818, v819, 1, v821, 0, v824, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: 0 = 0 113.05/33.30 f_519(v815, v816, v817, v818, v819, 1, v821, 0, v824, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_532(v815, v816, v817, v818, v819, 1, v821, 0, v824, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: 0 = 0 113.05/33.30 f_532(v815, v816, v817, v818, v819, 1, v821, 0, v824, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_544(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: v1544 + v816 = v824 && 0 <= v1544 113.05/33.30 f_544(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_559(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: TRUE 113.05/33.30 f_559(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_574(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: TRUE 113.05/33.30 f_574(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_453(v815, v816, v817, v818, v819, 1, v821, 0, v824, v1544, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: 1 + v815 <= 0 && 1 <= v816 && 1 <= v817 && 1 <= v818 && 1 <= v819 && 1 <= v821 && 1 <= v824 && 0 <= v1544 && 1 <= v825 && 1 <= v826 && 1 <= v827 && 4 <= v828 && 4 <= v829 && 4 <= v830 && 4 <= v831 && 4 <= v832 && 4 <= v833 && v825 <= v828 && v826 <= v829 && v827 <= v830 && v817 <= v831 && v818 <= v832 && v819 <= v833 113.05/33.30 f_453(v815, v816, v817, v818, v819, 1, v821, 0, v823, v824, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) -> f_463(v815, v816, v817, v818, v819, 1, v821, 0, v824, v823, v825, v828, v826, v829, v827, v830, v831, v832, v833, 3, 4) :|: 0 = 0 113.05/33.30 Combined rules. Obtained 1 rulesP rules: 113.05/33.30 f_463(v815:0, v816:0, v817:0, v818:0, v819:0, 1, v821:0, 0, v1544:0 + v816:0, v823:0, v825:0, v828:0, v826:0, v829:0, v827:0, v830:0, v831:0, v832:0, v833:0, 3, 4) -> f_463(v815:0, v816:0, v817:0, v818:0, v819:0, 1, v821:0, 0, v1544:0, v1544:0 + v816:0, v825:0, v828:0, v826:0, v829:0, v827:0, v830:0, v831:0, v832:0, v833:0, 3, 4) :|: v816:0 > 0 && v815:0 < 0 && v817:0 > 0 && v818:0 > 0 && v819:0 > 0 && v821:0 > 0 && v1544:0 + v816:0 > 0 && v1544:0 > -1 && v825:0 > 0 && v826:0 > 0 && v827:0 > 0 && v828:0 > 3 && v829:0 > 3 && v830:0 > 3 && v816:0 <= v1544:0 + v816:0 && v831:0 > 3 && v823:0 > 1 && v832:0 > 3 && v833:0 > 3 && v828:0 >= v825:0 && v829:0 >= v826:0 && v830:0 >= v827:0 && v831:0 >= v817:0 && v833:0 >= v819:0 && v832:0 >= v818:0 113.05/33.30 Filtered unneeded arguments: 113.05/33.30 f_463(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_463(x1, x2, x3, x4, x5, x7, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) 113.05/33.30 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 113.05/33.30 f_463(v815:0, v816:0, v817:0, v818:0, v819:0, v821:0, sum~v1544:0~v816:0, v823:0, v825:0, v828:0, v826:0, v829:0, v827:0, v830:0, v831:0, v832:0, v833:0) -> f_463(v815:0, v816:0, v817:0, v818:0, v819:0, v821:0, v1544:0, v1544:0 + v816:0, v825:0, v828:0, v826:0, v829:0, v827:0, v830:0, v831:0, v832:0, v833:0) :|: v815:0 < 0 && v816:0 > 0 && v817:0 > 0 && v818:0 > 0 && v819:0 > 0 && v821:0 > 0 && v1544:0 + v816:0 > 0 && v1544:0 > -1 && v825:0 > 0 && v826:0 > 0 && v827:0 > 0 && v828:0 > 3 && v829:0 > 3 && v830:0 > 3 && v816:0 <= v1544:0 + v816:0 && v831:0 > 3 && v823:0 > 1 && v832:0 > 3 && v833:0 > 3 && v828:0 >= v825:0 && v829:0 >= v826:0 && v830:0 >= v827:0 && v831:0 >= v817:0 && v832:0 >= v818:0 && v833:0 >= v819:0 && sum~v1544:0~v816:0 = v1544:0 + v816:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (44) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_463(v815:0, v816:0, v817:0, v818:0, v819:0, v821:0, sum~v1544:0~v816:0, v823:0, v825:0, v828:0, v826:0, v829:0, v827:0, v830:0, v831:0, v832:0, v833:0) -> f_463(v815:0, v816:0, v817:0, v818:0, v819:0, v821:0, v1544:0, v1544:0 + v816:0, v825:0, v828:0, v826:0, v829:0, v827:0, v830:0, v831:0, v832:0, v833:0) :|: v815:0 < 0 && v816:0 > 0 && v817:0 > 0 && v818:0 > 0 && v819:0 > 0 && v821:0 > 0 && v1544:0 + v816:0 > 0 && v1544:0 > -1 && v825:0 > 0 && v826:0 > 0 && v827:0 > 0 && v828:0 > 3 && v829:0 > 3 && v830:0 > 3 && v816:0 <= v1544:0 + v816:0 && v831:0 > 3 && v823:0 > 1 && v832:0 > 3 && v833:0 > 3 && v828:0 >= v825:0 && v829:0 >= v826:0 && v830:0 >= v827:0 && v831:0 >= v817:0 && v832:0 >= v818:0 && v833:0 >= v819:0 && sum~v1544:0~v816:0 = v1544:0 + v816:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (45) IntTRSCompressionProof (EQUIVALENT) 113.05/33.30 Compressed rules. 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (46) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_463(v815:0:0, v816:0:0, v817:0:0, v818:0:0, v819:0:0, v821:0:0, sum~v1544:0:0~v816:0:0, v823:0:0, v825:0:0, v828:0:0, v826:0:0, v829:0:0, v827:0:0, v830:0:0, v831:0:0, v832:0:0, v833:0:0) -> f_463(v815:0:0, v816:0:0, v817:0:0, v818:0:0, v819:0:0, v821:0:0, v1544:0:0, v1544:0:0 + v816:0:0, v825:0:0, v828:0:0, v826:0:0, v829:0:0, v827:0:0, v830:0:0, v831:0:0, v832:0:0, v833:0:0) :|: v832:0:0 >= v818:0:0 && v833:0:0 >= v819:0:0 && v831:0:0 >= v817:0:0 && v830:0:0 >= v827:0:0 && v829:0:0 >= v826:0:0 && v828:0:0 >= v825:0:0 && v833:0:0 > 3 && v832:0:0 > 3 && v823:0:0 > 1 && v831:0:0 > 3 && v816:0:0 <= v1544:0:0 + v816:0:0 && v830:0:0 > 3 && v829:0:0 > 3 && v828:0:0 > 3 && v827:0:0 > 0 && v826:0:0 > 0 && v825:0:0 > 0 && v1544:0:0 > -1 && v1544:0:0 + v816:0:0 > 0 && v821:0:0 > 0 && v819:0:0 > 0 && v818:0:0 > 0 && v817:0:0 > 0 && v816:0:0 > 0 && v815:0:0 < 0 && sum~v1544:0:0~v816:0:0 = v1544:0:0 + v816:0:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (47) RankingReductionPairProof (EQUIVALENT) 113.05/33.30 Interpretation: 113.05/33.30 [ f_463 ] = f_463_7 113.05/33.30 113.05/33.30 The following rules are decreasing: 113.05/33.30 f_463(v815:0:0, v816:0:0, v817:0:0, v818:0:0, v819:0:0, v821:0:0, sum~v1544:0:0~v816:0:0, v823:0:0, v825:0:0, v828:0:0, v826:0:0, v829:0:0, v827:0:0, v830:0:0, v831:0:0, v832:0:0, v833:0:0) -> f_463(v815:0:0, v816:0:0, v817:0:0, v818:0:0, v819:0:0, v821:0:0, v1544:0:0, v1544:0:0 + v816:0:0, v825:0:0, v828:0:0, v826:0:0, v829:0:0, v827:0:0, v830:0:0, v831:0:0, v832:0:0, v833:0:0) :|: v832:0:0 >= v818:0:0 && v833:0:0 >= v819:0:0 && v831:0:0 >= v817:0:0 && v830:0:0 >= v827:0:0 && v829:0:0 >= v826:0:0 && v828:0:0 >= v825:0:0 && v833:0:0 > 3 && v832:0:0 > 3 && v823:0:0 > 1 && v831:0:0 > 3 && v816:0:0 <= v1544:0:0 + v816:0:0 && v830:0:0 > 3 && v829:0:0 > 3 && v828:0:0 > 3 && v827:0:0 > 0 && v826:0:0 > 0 && v825:0:0 > 0 && v1544:0:0 > -1 && v1544:0:0 + v816:0:0 > 0 && v821:0:0 > 0 && v819:0:0 > 0 && v818:0:0 > 0 && v817:0:0 > 0 && v816:0:0 > 0 && v815:0:0 < 0 && sum~v1544:0:0~v816:0:0 = v1544:0:0 + v816:0:0 113.05/33.30 113.05/33.30 The following rules are bounded: 113.05/33.30 f_463(v815:0:0, v816:0:0, v817:0:0, v818:0:0, v819:0:0, v821:0:0, sum~v1544:0:0~v816:0:0, v823:0:0, v825:0:0, v828:0:0, v826:0:0, v829:0:0, v827:0:0, v830:0:0, v831:0:0, v832:0:0, v833:0:0) -> f_463(v815:0:0, v816:0:0, v817:0:0, v818:0:0, v819:0:0, v821:0:0, v1544:0:0, v1544:0:0 + v816:0:0, v825:0:0, v828:0:0, v826:0:0, v829:0:0, v827:0:0, v830:0:0, v831:0:0, v832:0:0, v833:0:0) :|: v832:0:0 >= v818:0:0 && v833:0:0 >= v819:0:0 && v831:0:0 >= v817:0:0 && v830:0:0 >= v827:0:0 && v829:0:0 >= v826:0:0 && v828:0:0 >= v825:0:0 && v833:0:0 > 3 && v832:0:0 > 3 && v823:0:0 > 1 && v831:0:0 > 3 && v816:0:0 <= v1544:0:0 + v816:0:0 && v830:0:0 > 3 && v829:0:0 > 3 && v828:0:0 > 3 && v827:0:0 > 0 && v826:0:0 > 0 && v825:0:0 > 0 && v1544:0:0 > -1 && v1544:0:0 + v816:0:0 > 0 && v821:0:0 > 0 && v819:0:0 > 0 && v818:0:0 > 0 && v817:0:0 > 0 && v816:0:0 > 0 && v815:0:0 < 0 && sum~v1544:0:0~v816:0:0 = v1544:0:0 + v816:0:0 113.05/33.30 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (48) 113.05/33.30 YES 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (49) 113.05/33.30 Obligation: 113.05/33.30 SCC 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (50) SCC2IRS (SOUND) 113.05/33.30 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.30 Generated rules. Obtained 11 rulesP rules: 113.05/33.30 f_455(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_465(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: 0 = 0 113.05/33.30 f_465(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_475(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 2, 4) :|: v740 <= v742 && 1 <= v742 && 2 <= v741 113.05/33.30 f_475(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 2, 4) -> f_487(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 2, 4) :|: 0 = 0 113.05/33.30 f_487(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 2, 4) -> f_498(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 2, 4) :|: TRUE 113.05/33.30 f_498(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 2, 4) -> f_509(v733, v734, v735, v736, v737, 0, 1, v740, v742, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: 0 = 0 113.05/33.30 f_509(v733, v734, v735, v736, v737, 0, 1, v740, v742, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_522(v733, v734, v735, v736, v737, 0, 1, v740, v742, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: 0 = 0 113.05/33.30 f_522(v733, v734, v735, v736, v737, 0, 1, v740, v742, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_535(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: v1361 + v740 = v742 && 0 <= v1361 113.05/33.30 f_535(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_548(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: TRUE 113.05/33.30 f_548(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_563(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: TRUE 113.05/33.30 f_563(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_444(v733, v734, v735, v736, v737, 0, 1, v740, v742, v1361, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: 1 <= v733 && 1 + v734 <= 0 && 1 <= v735 && 1 <= v736 && 1 <= v737 && 1 <= v740 && 1 <= v742 && 0 <= v1361 && 1 <= v743 && 1 <= v744 && 1 <= v745 && 4 <= v746 && 4 <= v747 && 4 <= v748 && 4 <= v749 && 4 <= v750 && 4 <= v751 && v743 <= v746 && v744 <= v747 && v745 <= v748 && v735 <= v749 && v736 <= v750 && v737 <= v751 113.05/33.30 f_444(v733, v734, v735, v736, v737, 0, 1, v740, v741, v742, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) -> f_455(v733, v734, v735, v736, v737, 0, 1, v740, v742, v741, v743, v746, v744, v747, v745, v748, v749, v750, v751, 3, 4) :|: 0 = 0 113.05/33.30 Combined rules. Obtained 1 rulesP rules: 113.05/33.30 f_455(v733:0, v734:0, v735:0, v736:0, v737:0, 0, 1, v740:0, v1361:0 + v740:0, v741:0, v743:0, v746:0, v744:0, v747:0, v745:0, v748:0, v749:0, v750:0, v751:0, 3, 4) -> f_455(v733:0, v734:0, v735:0, v736:0, v737:0, 0, 1, v740:0, v1361:0, v1361:0 + v740:0, v743:0, v746:0, v744:0, v747:0, v745:0, v748:0, v749:0, v750:0, v751:0, 3, 4) :|: v734:0 < 0 && v733:0 > 0 && v735:0 > 0 && v736:0 > 0 && v737:0 > 0 && v740:0 > 0 && v1361:0 + v740:0 > 0 && v1361:0 > -1 && v743:0 > 0 && v744:0 > 0 && v745:0 > 0 && v746:0 > 3 && v747:0 > 3 && v748:0 > 3 && v740:0 <= v1361:0 + v740:0 && v749:0 > 3 && v741:0 > 1 && v750:0 > 3 && v751:0 > 3 && v746:0 >= v743:0 && v747:0 >= v744:0 && v748:0 >= v745:0 && v749:0 >= v735:0 && v751:0 >= v737:0 && v750:0 >= v736:0 113.05/33.30 Filtered unneeded arguments: 113.05/33.30 f_455(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) -> f_455(x1, x2, x3, x4, x5, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) 113.05/33.30 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 113.05/33.30 f_455(v733:0, v734:0, v735:0, v736:0, v737:0, v740:0, sum~v1361:0~v740:0, v741:0, v743:0, v746:0, v744:0, v747:0, v745:0, v748:0, v749:0, v750:0, v751:0) -> f_455(v733:0, v734:0, v735:0, v736:0, v737:0, v740:0, v1361:0, v1361:0 + v740:0, v743:0, v746:0, v744:0, v747:0, v745:0, v748:0, v749:0, v750:0, v751:0) :|: v733:0 > 0 && v734:0 < 0 && v735:0 > 0 && v736:0 > 0 && v737:0 > 0 && v740:0 > 0 && v1361:0 + v740:0 > 0 && v1361:0 > -1 && v743:0 > 0 && v744:0 > 0 && v745:0 > 0 && v746:0 > 3 && v747:0 > 3 && v748:0 > 3 && v740:0 <= v1361:0 + v740:0 && v749:0 > 3 && v741:0 > 1 && v750:0 > 3 && v751:0 > 3 && v746:0 >= v743:0 && v747:0 >= v744:0 && v748:0 >= v745:0 && v749:0 >= v735:0 && v750:0 >= v736:0 && v751:0 >= v737:0 && sum~v1361:0~v740:0 = v1361:0 + v740:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (51) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_455(v733:0, v734:0, v735:0, v736:0, v737:0, v740:0, sum~v1361:0~v740:0, v741:0, v743:0, v746:0, v744:0, v747:0, v745:0, v748:0, v749:0, v750:0, v751:0) -> f_455(v733:0, v734:0, v735:0, v736:0, v737:0, v740:0, v1361:0, v1361:0 + v740:0, v743:0, v746:0, v744:0, v747:0, v745:0, v748:0, v749:0, v750:0, v751:0) :|: v733:0 > 0 && v734:0 < 0 && v735:0 > 0 && v736:0 > 0 && v737:0 > 0 && v740:0 > 0 && v1361:0 + v740:0 > 0 && v1361:0 > -1 && v743:0 > 0 && v744:0 > 0 && v745:0 > 0 && v746:0 > 3 && v747:0 > 3 && v748:0 > 3 && v740:0 <= v1361:0 + v740:0 && v749:0 > 3 && v741:0 > 1 && v750:0 > 3 && v751:0 > 3 && v746:0 >= v743:0 && v747:0 >= v744:0 && v748:0 >= v745:0 && v749:0 >= v735:0 && v750:0 >= v736:0 && v751:0 >= v737:0 && sum~v1361:0~v740:0 = v1361:0 + v740:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (52) IntTRSCompressionProof (EQUIVALENT) 113.05/33.30 Compressed rules. 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (53) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_455(v733:0:0, v734:0:0, v735:0:0, v736:0:0, v737:0:0, v740:0:0, sum~v1361:0:0~v740:0:0, v741:0:0, v743:0:0, v746:0:0, v744:0:0, v747:0:0, v745:0:0, v748:0:0, v749:0:0, v750:0:0, v751:0:0) -> f_455(v733:0:0, v734:0:0, v735:0:0, v736:0:0, v737:0:0, v740:0:0, v1361:0:0, v1361:0:0 + v740:0:0, v743:0:0, v746:0:0, v744:0:0, v747:0:0, v745:0:0, v748:0:0, v749:0:0, v750:0:0, v751:0:0) :|: v750:0:0 >= v736:0:0 && v751:0:0 >= v737:0:0 && v749:0:0 >= v735:0:0 && v748:0:0 >= v745:0:0 && v747:0:0 >= v744:0:0 && v746:0:0 >= v743:0:0 && v751:0:0 > 3 && v750:0:0 > 3 && v741:0:0 > 1 && v749:0:0 > 3 && v740:0:0 <= v1361:0:0 + v740:0:0 && v748:0:0 > 3 && v747:0:0 > 3 && v746:0:0 > 3 && v745:0:0 > 0 && v744:0:0 > 0 && v743:0:0 > 0 && v1361:0:0 > -1 && v1361:0:0 + v740:0:0 > 0 && v740:0:0 > 0 && v737:0:0 > 0 && v736:0:0 > 0 && v735:0:0 > 0 && v734:0:0 < 0 && v733:0:0 > 0 && sum~v1361:0:0~v740:0:0 = v1361:0:0 + v740:0:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (54) RankingReductionPairProof (EQUIVALENT) 113.05/33.30 Interpretation: 113.05/33.30 [ f_455 ] = f_455_7 113.05/33.30 113.05/33.30 The following rules are decreasing: 113.05/33.30 f_455(v733:0:0, v734:0:0, v735:0:0, v736:0:0, v737:0:0, v740:0:0, sum~v1361:0:0~v740:0:0, v741:0:0, v743:0:0, v746:0:0, v744:0:0, v747:0:0, v745:0:0, v748:0:0, v749:0:0, v750:0:0, v751:0:0) -> f_455(v733:0:0, v734:0:0, v735:0:0, v736:0:0, v737:0:0, v740:0:0, v1361:0:0, v1361:0:0 + v740:0:0, v743:0:0, v746:0:0, v744:0:0, v747:0:0, v745:0:0, v748:0:0, v749:0:0, v750:0:0, v751:0:0) :|: v750:0:0 >= v736:0:0 && v751:0:0 >= v737:0:0 && v749:0:0 >= v735:0:0 && v748:0:0 >= v745:0:0 && v747:0:0 >= v744:0:0 && v746:0:0 >= v743:0:0 && v751:0:0 > 3 && v750:0:0 > 3 && v741:0:0 > 1 && v749:0:0 > 3 && v740:0:0 <= v1361:0:0 + v740:0:0 && v748:0:0 > 3 && v747:0:0 > 3 && v746:0:0 > 3 && v745:0:0 > 0 && v744:0:0 > 0 && v743:0:0 > 0 && v1361:0:0 > -1 && v1361:0:0 + v740:0:0 > 0 && v740:0:0 > 0 && v737:0:0 > 0 && v736:0:0 > 0 && v735:0:0 > 0 && v734:0:0 < 0 && v733:0:0 > 0 && sum~v1361:0:0~v740:0:0 = v1361:0:0 + v740:0:0 113.05/33.30 113.05/33.30 The following rules are bounded: 113.05/33.30 f_455(v733:0:0, v734:0:0, v735:0:0, v736:0:0, v737:0:0, v740:0:0, sum~v1361:0:0~v740:0:0, v741:0:0, v743:0:0, v746:0:0, v744:0:0, v747:0:0, v745:0:0, v748:0:0, v749:0:0, v750:0:0, v751:0:0) -> f_455(v733:0:0, v734:0:0, v735:0:0, v736:0:0, v737:0:0, v740:0:0, v1361:0:0, v1361:0:0 + v740:0:0, v743:0:0, v746:0:0, v744:0:0, v747:0:0, v745:0:0, v748:0:0, v749:0:0, v750:0:0, v751:0:0) :|: v750:0:0 >= v736:0:0 && v751:0:0 >= v737:0:0 && v749:0:0 >= v735:0:0 && v748:0:0 >= v745:0:0 && v747:0:0 >= v744:0:0 && v746:0:0 >= v743:0:0 && v751:0:0 > 3 && v750:0:0 > 3 && v741:0:0 > 1 && v749:0:0 > 3 && v740:0:0 <= v1361:0:0 + v740:0:0 && v748:0:0 > 3 && v747:0:0 > 3 && v746:0:0 > 3 && v745:0:0 > 0 && v744:0:0 > 0 && v743:0:0 > 0 && v1361:0:0 > -1 && v1361:0:0 + v740:0:0 > 0 && v740:0:0 > 0 && v737:0:0 > 0 && v736:0:0 > 0 && v735:0:0 > 0 && v734:0:0 < 0 && v733:0:0 > 0 && sum~v1361:0:0~v740:0:0 = v1361:0:0 + v740:0:0 113.05/33.30 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (55) 113.05/33.30 YES 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (56) 113.05/33.30 Obligation: 113.05/33.30 SCC 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (57) SCC2IRS (SOUND) 113.05/33.30 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 113.05/33.30 Generated rules. Obtained 11 rulesP rules: 113.05/33.30 f_424(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_435(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: 0 = 0 113.05/33.30 f_435(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_446(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 2, 4) :|: v546 <= v553 && 1 <= v553 && 2 <= v552 113.05/33.30 f_446(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 2, 4) -> f_457(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 2, 4) :|: 0 = 0 113.05/33.30 f_457(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 2, 4) -> f_467(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 2, 4) :|: TRUE 113.05/33.30 f_467(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 2, 4) -> f_478(v545, v546, v547, v548, v549, 0, 1, v553, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: 0 = 0 113.05/33.30 f_478(v545, v546, v547, v548, v549, 0, 1, v553, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_490(v545, v546, v547, v548, v549, 0, 1, v553, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: 0 = 0 113.05/33.30 f_490(v545, v546, v547, v548, v549, 0, 1, v553, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_501(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: v1104 + v546 = v553 && 0 <= v1104 113.05/33.30 f_501(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_512(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: TRUE 113.05/33.30 f_512(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_525(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: TRUE 113.05/33.30 f_525(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_413(v545, v546, v547, v548, v549, 0, 1, v553, v1104, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: 1 <= v545 && 1 <= v546 && 1 <= v547 && 1 <= v548 && 1 <= v549 && 1 <= v553 && 0 <= v1104 && 1 <= v554 && 1 <= v555 && 1 <= v556 && 4 <= v557 && 4 <= v558 && 4 <= v559 && 4 <= v560 && 4 <= v561 && 4 <= v562 && v554 <= v557 && v555 <= v558 && v556 <= v559 && v547 <= v560 && v548 <= v561 && v549 <= v562 113.05/33.30 f_413(v545, v546, v547, v548, v549, 0, 1, v552, v553, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) -> f_424(v545, v546, v547, v548, v549, 0, 1, v553, v552, v554, v557, v555, v558, v556, v559, v560, v561, v562, 3, 4) :|: 0 = 0 113.05/33.30 Combined rules. Obtained 1 rulesP rules: 113.05/33.30 f_424(v545:0, v546:0, v547:0, v548:0, v549:0, 0, 1, v1104:0 + v546:0, v552:0, v554:0, v557:0, v555:0, v558:0, v556:0, v559:0, v560:0, v561:0, v562:0, 3, 4) -> f_424(v545:0, v546:0, v547:0, v548:0, v549:0, 0, 1, v1104:0, v1104:0 + v546:0, v554:0, v557:0, v555:0, v558:0, v556:0, v559:0, v560:0, v561:0, v562:0, 3, 4) :|: v546:0 > 0 && v545:0 > 0 && v547:0 > 0 && v548:0 > 0 && v549:0 > 0 && v1104:0 + v546:0 > 0 && v1104:0 > -1 && v554:0 > 0 && v555:0 > 0 && v556:0 > 0 && v557:0 > 3 && v558:0 > 3 && v559:0 > 3 && v546:0 <= v1104:0 + v546:0 && v560:0 > 3 && v552:0 > 1 && v561:0 > 3 && v562:0 > 3 && v557:0 >= v554:0 && v558:0 >= v555:0 && v559:0 >= v556:0 && v560:0 >= v547:0 && v562:0 >= v549:0 && v561:0 >= v548:0 113.05/33.30 Filtered unneeded arguments: 113.05/33.30 f_424(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) -> f_424(x1, x2, x3, x4, x5, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) 113.05/33.30 Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: 113.05/33.30 f_424(v545:0, v546:0, v547:0, v548:0, v549:0, sum~v1104:0~v546:0, v552:0, v554:0, v557:0, v555:0, v558:0, v556:0, v559:0, v560:0, v561:0, v562:0) -> f_424(v545:0, v546:0, v547:0, v548:0, v549:0, v1104:0, v1104:0 + v546:0, v554:0, v557:0, v555:0, v558:0, v556:0, v559:0, v560:0, v561:0, v562:0) :|: v545:0 > 0 && v546:0 > 0 && v547:0 > 0 && v548:0 > 0 && v549:0 > 0 && v1104:0 + v546:0 > 0 && v1104:0 > -1 && v554:0 > 0 && v555:0 > 0 && v556:0 > 0 && v557:0 > 3 && v558:0 > 3 && v559:0 > 3 && v546:0 <= v1104:0 + v546:0 && v560:0 > 3 && v552:0 > 1 && v561:0 > 3 && v562:0 > 3 && v557:0 >= v554:0 && v558:0 >= v555:0 && v559:0 >= v556:0 && v560:0 >= v547:0 && v561:0 >= v548:0 && v562:0 >= v549:0 && sum~v1104:0~v546:0 = v1104:0 + v546:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (58) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_424(v545:0, v546:0, v547:0, v548:0, v549:0, sum~v1104:0~v546:0, v552:0, v554:0, v557:0, v555:0, v558:0, v556:0, v559:0, v560:0, v561:0, v562:0) -> f_424(v545:0, v546:0, v547:0, v548:0, v549:0, v1104:0, v1104:0 + v546:0, v554:0, v557:0, v555:0, v558:0, v556:0, v559:0, v560:0, v561:0, v562:0) :|: v545:0 > 0 && v546:0 > 0 && v547:0 > 0 && v548:0 > 0 && v549:0 > 0 && v1104:0 + v546:0 > 0 && v1104:0 > -1 && v554:0 > 0 && v555:0 > 0 && v556:0 > 0 && v557:0 > 3 && v558:0 > 3 && v559:0 > 3 && v546:0 <= v1104:0 + v546:0 && v560:0 > 3 && v552:0 > 1 && v561:0 > 3 && v562:0 > 3 && v557:0 >= v554:0 && v558:0 >= v555:0 && v559:0 >= v556:0 && v560:0 >= v547:0 && v561:0 >= v548:0 && v562:0 >= v549:0 && sum~v1104:0~v546:0 = v1104:0 + v546:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (59) IntTRSCompressionProof (EQUIVALENT) 113.05/33.30 Compressed rules. 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (60) 113.05/33.30 Obligation: 113.05/33.30 Rules: 113.05/33.30 f_424(v545:0:0, v546:0:0, v547:0:0, v548:0:0, v549:0:0, sum~v1104:0:0~v546:0:0, v552:0:0, v554:0:0, v557:0:0, v555:0:0, v558:0:0, v556:0:0, v559:0:0, v560:0:0, v561:0:0, v562:0:0) -> f_424(v545:0:0, v546:0:0, v547:0:0, v548:0:0, v549:0:0, v1104:0:0, v1104:0:0 + v546:0:0, v554:0:0, v557:0:0, v555:0:0, v558:0:0, v556:0:0, v559:0:0, v560:0:0, v561:0:0, v562:0:0) :|: v561:0:0 >= v548:0:0 && v562:0:0 >= v549:0:0 && v560:0:0 >= v547:0:0 && v559:0:0 >= v556:0:0 && v558:0:0 >= v555:0:0 && v557:0:0 >= v554:0:0 && v562:0:0 > 3 && v561:0:0 > 3 && v552:0:0 > 1 && v560:0:0 > 3 && v546:0:0 <= v1104:0:0 + v546:0:0 && v559:0:0 > 3 && v558:0:0 > 3 && v557:0:0 > 3 && v556:0:0 > 0 && v555:0:0 > 0 && v554:0:0 > 0 && v1104:0:0 > -1 && v1104:0:0 + v546:0:0 > 0 && v549:0:0 > 0 && v548:0:0 > 0 && v547:0:0 > 0 && v546:0:0 > 0 && v545:0:0 > 0 && sum~v1104:0:0~v546:0:0 = v1104:0:0 + v546:0:0 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (61) RankingReductionPairProof (EQUIVALENT) 113.05/33.30 Interpretation: 113.05/33.30 [ f_424 ] = f_424_6 113.05/33.30 113.05/33.30 The following rules are decreasing: 113.05/33.30 f_424(v545:0:0, v546:0:0, v547:0:0, v548:0:0, v549:0:0, sum~v1104:0:0~v546:0:0, v552:0:0, v554:0:0, v557:0:0, v555:0:0, v558:0:0, v556:0:0, v559:0:0, v560:0:0, v561:0:0, v562:0:0) -> f_424(v545:0:0, v546:0:0, v547:0:0, v548:0:0, v549:0:0, v1104:0:0, v1104:0:0 + v546:0:0, v554:0:0, v557:0:0, v555:0:0, v558:0:0, v556:0:0, v559:0:0, v560:0:0, v561:0:0, v562:0:0) :|: v561:0:0 >= v548:0:0 && v562:0:0 >= v549:0:0 && v560:0:0 >= v547:0:0 && v559:0:0 >= v556:0:0 && v558:0:0 >= v555:0:0 && v557:0:0 >= v554:0:0 && v562:0:0 > 3 && v561:0:0 > 3 && v552:0:0 > 1 && v560:0:0 > 3 && v546:0:0 <= v1104:0:0 + v546:0:0 && v559:0:0 > 3 && v558:0:0 > 3 && v557:0:0 > 3 && v556:0:0 > 0 && v555:0:0 > 0 && v554:0:0 > 0 && v1104:0:0 > -1 && v1104:0:0 + v546:0:0 > 0 && v549:0:0 > 0 && v548:0:0 > 0 && v547:0:0 > 0 && v546:0:0 > 0 && v545:0:0 > 0 && sum~v1104:0:0~v546:0:0 = v1104:0:0 + v546:0:0 113.05/33.30 113.05/33.30 The following rules are bounded: 113.05/33.30 f_424(v545:0:0, v546:0:0, v547:0:0, v548:0:0, v549:0:0, sum~v1104:0:0~v546:0:0, v552:0:0, v554:0:0, v557:0:0, v555:0:0, v558:0:0, v556:0:0, v559:0:0, v560:0:0, v561:0:0, v562:0:0) -> f_424(v545:0:0, v546:0:0, v547:0:0, v548:0:0, v549:0:0, v1104:0:0, v1104:0:0 + v546:0:0, v554:0:0, v557:0:0, v555:0:0, v558:0:0, v556:0:0, v559:0:0, v560:0:0, v561:0:0, v562:0:0) :|: v561:0:0 >= v548:0:0 && v562:0:0 >= v549:0:0 && v560:0:0 >= v547:0:0 && v559:0:0 >= v556:0:0 && v558:0:0 >= v555:0:0 && v557:0:0 >= v554:0:0 && v562:0:0 > 3 && v561:0:0 > 3 && v552:0:0 > 1 && v560:0:0 > 3 && v546:0:0 <= v1104:0:0 + v546:0:0 && v559:0:0 > 3 && v558:0:0 > 3 && v557:0:0 > 3 && v556:0:0 > 0 && v555:0:0 > 0 && v554:0:0 > 0 && v1104:0:0 > -1 && v1104:0:0 + v546:0:0 > 0 && v549:0:0 > 0 && v548:0:0 > 0 && v547:0:0 > 0 && v546:0:0 > 0 && v545:0:0 > 0 && sum~v1104:0:0~v546:0:0 = v1104:0:0 + v546:0:0 113.05/33.30 113.05/33.30 113.05/33.30 ---------------------------------------- 113.05/33.30 113.05/33.30 (62) 113.05/33.30 YES 113.16/36.50 EOF