39.61/10.91 NO 39.61/10.92 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 39.61/10.92 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 39.61/10.92 39.61/10.92 39.61/10.92 Termination of the given C Problem could be disproven: 39.61/10.92 39.61/10.92 (0) C Problem 39.61/10.92 (1) CToLLVMProof [EQUIVALENT, 159 ms] 39.61/10.92 (2) LLVM problem 39.61/10.92 (3) LLVMToTerminationGraphProof [EQUIVALENT, 2613 ms] 39.61/10.92 (4) LLVM Symbolic Execution Graph 39.61/10.92 (5) SymbolicExecutionGraphToLassoProof [COMPLETE, 0 ms] 39.61/10.92 (6) AND 39.61/10.92 (7) LLVM Symbolic Execution Lasso 39.61/10.92 (8) Lasso2IRS [EQUIVALENT, 120 ms] 39.61/10.92 (9) IntTRS 39.61/10.92 (10) IRS2T2 [EQUIVALENT, 0 ms] 39.61/10.92 (11) T2IntSys 39.61/10.92 (12) T2 [COMPLETE, 1012 ms] 39.61/10.92 (13) NO 39.61/10.92 (14) LLVM Symbolic Execution Lasso 39.61/10.92 (15) Lasso2IRS [EQUIVALENT, 121 ms] 39.61/10.92 (16) IntTRS 39.61/10.92 (17) IRS2T2 [EQUIVALENT, 0 ms] 39.61/10.92 (18) T2IntSys 39.61/10.92 (19) LLVM Symbolic Execution Lasso 39.61/10.92 (20) Lasso2IRS [EQUIVALENT, 111 ms] 39.61/10.92 (21) IntTRS 39.61/10.92 (22) IRS2T2 [EQUIVALENT, 0 ms] 39.61/10.92 (23) T2IntSys 39.61/10.92 (24) T2 [COMPLETE, 1053 ms] 39.61/10.92 (25) NO 39.61/10.92 (26) LLVM Symbolic Execution Lasso 39.61/10.92 (27) Lasso2IRS [EQUIVALENT, 121 ms] 39.61/10.92 (28) IntTRS 39.61/10.92 (29) IRS2T2 [EQUIVALENT, 0 ms] 39.61/10.92 (30) T2IntSys 39.61/10.92 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (0) 39.61/10.92 Obligation: 39.61/10.92 c file /export/starexec/sandbox/benchmark/theBenchmark.c 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (1) CToLLVMProof (EQUIVALENT) 39.61/10.92 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (2) 39.61/10.92 Obligation: 39.61/10.92 LLVM Problem 39.61/10.92 39.61/10.92 Aliases: 39.61/10.92 39.61/10.92 Data layout: 39.61/10.92 39.61/10.92 "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" 39.61/10.92 39.61/10.92 Machine: 39.61/10.92 39.61/10.92 "x86_64-pc-linux-gnu" 39.61/10.92 39.61/10.92 Type definitions: 39.61/10.92 39.61/10.92 Global variables: 39.61/10.92 39.61/10.92 Function declarations and definitions: 39.61/10.92 39.61/10.92 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 39.61/10.92 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 39.61/10.92 0: 39.61/10.92 %1 = alloca i32, align 4 39.61/10.92 %i = alloca i32, align 4 39.61/10.92 %w = alloca i32, align 4 39.61/10.92 store 0, %1 39.61/10.92 %2 = call i32 @__VERIFIER_nondet_int() 39.61/10.92 store %2, %i 39.61/10.92 store 5, %w 39.61/10.92 br %3 39.61/10.92 3: 39.61/10.92 %4 = load %i 39.61/10.92 %5 = icmp ne %4 0 39.61/10.92 br %5, %6, %30 39.61/10.92 6: 39.61/10.92 %7 = load %i 39.61/10.92 %8 = load %w 39.61/10.92 %9 = sub 0 %8 39.61/10.92 %10 = icmp slt %7 %9 39.61/10.92 br %10, %11, %16 39.61/10.92 11: 39.61/10.92 %12 = load %i 39.61/10.92 %13 = sub %12 1 39.61/10.92 store %13, %i 39.61/10.92 %14 = load %i 39.61/10.92 %15 = mul %14 -1 39.61/10.92 store %15, %i 39.61/10.92 br %27 39.61/10.92 16: 39.61/10.92 %17 = load %i 39.61/10.92 %18 = load %w 39.61/10.92 %19 = icmp sgt %17 %18 39.61/10.92 br %19, %20, %25 39.61/10.92 20: 39.61/10.92 %21 = load %i 39.61/10.92 %22 = add %21 1 39.61/10.92 store %22, %i 39.61/10.92 %23 = load %i 39.61/10.92 %24 = mul %23 -1 39.61/10.92 store %24, %i 39.61/10.92 br %26 39.61/10.92 25: 39.61/10.92 store 0, %i 39.61/10.92 br %26 39.61/10.92 26: 39.61/10.92 br %27 39.61/10.92 27: 39.61/10.92 %28 = load %w 39.61/10.92 %29 = add %28 1 39.61/10.92 store %29, %w 39.61/10.92 br %3 39.61/10.92 30: 39.61/10.92 ret 0 39.61/10.92 39.61/10.92 39.61/10.92 Analyze Termination of all function calls matching the pattern: 39.61/10.92 main() 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (3) LLVMToTerminationGraphProof (EQUIVALENT) 39.61/10.92 Constructed symbolic execution graph for LLVM program and proved memory safety. 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (4) 39.61/10.92 Obligation: 39.61/10.92 SE Graph 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (5) SymbolicExecutionGraphToLassoProof (COMPLETE) 39.61/10.92 Converted SEGraph to 4 dependent lassos. 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (6) 39.61/10.92 Complex Obligation (AND) 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (7) 39.61/10.92 Obligation: 39.61/10.92 Lasso 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (8) Lasso2IRS (EQUIVALENT) 39.61/10.92 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 39.61/10.92 Generated rules. Obtained 99 rulesP rules: 39.61/10.92 f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1022 = 1 + v997 && 7 <= v1022 39.61/10.92 f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1088 + v1022 = 0 && 7 + v1088 <= 0 39.61/10.92 f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: v1022 < v1003 39.61/10.92 f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1095 = 1 + v1003 && 9 <= v1095 39.61/10.92 f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1156 + v1095 = 0 && 9 + v1156 <= 0 39.61/10.92 f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_418(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v995, v1002, v997, v1095, v1156, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_418(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1269 = 1 + v1177 && 7 <= v1269 39.61/10.92 f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1350 + v1269 = 0 && 7 + v1350 <= 0 39.61/10.92 f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 1 + v1354 = v1184 && 9 + v1354 <= 0 39.61/10.92 f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: v1356 + v1354 = 0 && 9 <= v1356 39.61/10.92 f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_384(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1175, v1177, v1183, v1354, v1356, v1185, v1186, v1187, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_384(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_129 -> f_130(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 39.61/10.92 f_130(v1, v2, 3, 1, 4) -> f_131(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 39.61/10.92 f_131(v1, v3, v2, v4, 3, 1, 4) -> f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 39.61/10.92 f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: 0 = 0 39.61/10.92 f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: v7 != 0 39.61/10.92 f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: TRUE 39.61/10.92 f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) -> f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) -> f_149(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) :|: 0 <= 5 + v7 39.61/10.92 f_149(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) -> f_151(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: 0 = 0 39.61/10.92 f_151(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_153(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: TRUE 39.61/10.92 f_153(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: 0 = 0 39.61/10.92 f_155(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_157(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: 0 = 0 39.61/10.92 f_157(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_159(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: 5 < v7 39.61/10.92 f_159(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_162(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_162(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_165(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: TRUE 39.61/10.92 f_165(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_168(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_168(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_171(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) :|: v13 = 1 + v7 && 7 <= v13 39.61/10.92 f_171(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) -> f_174(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_174(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) -> f_177(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_177(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) -> f_180(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: v15 + v13 = 0 && 7 + v15 <= 0 39.61/10.92 f_180(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_183(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_183(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_186(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_186(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_189(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_189(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_192(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_192(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_195(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_195(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) -> f_198(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_198(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) -> f_200(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_200(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) -> f_202(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_202(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_204(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_204(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_206(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_206(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_208(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_208(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_210(v1, v3, v5, v7, v15, 1, 6, -5, 0, 5, v13, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_210(v1, v3, v5, v7, v15, 1, 6, -5, 0, 5, v13, v2, v4, v6, 3, 4, 7) -> f_212(v1, v3, v5, v7, v15, 1, 6, -6, 0, 5, v13, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_212(v1, v3, v5, v7, v15, 1, 6, -6, 0, 5, v13, v2, v4, v6, 3, 4, 7) -> f_214(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_214(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) -> f_216(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_216(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) -> f_218(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_218(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) -> f_220(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) :|: 1 + v34 = v15 && 8 + v34 <= 0 39.61/10.92 f_220(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) -> f_222(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_222(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) -> f_224(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) :|: 0 = 0 39.61/10.92 f_224(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) -> f_226(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) :|: v41 + v34 = 0 && 8 <= v41 39.61/10.92 f_226(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) -> f_228(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_228(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) -> f_230(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_230(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) -> f_266(v1, v3, v5, v7, v15, 1, 6, -6, v7, 5, v13, v34, v41, v2, v4, v6, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_266(v224, v225, v226, v227, v228, 1, v230, v231, v232, v233, v234, v235, v236, v237, v238, v239, 0, 3, 7, 6, 5, 8, 4) -> f_325(v224, v225, v226, v227, v228, 1, v230, v231, v232, v233, v234, v235, v236, v237, v238, v239, 0, 3, 7, 6, 9, 5, 8, 4) :|: TRUE 39.61/10.92 f_325(v609, v610, v611, v612, v613, 1, v615, v616, v617, v618, v619, v620, v621, v622, v623, v624, 0, 3, 7, 6, 9, 5, 8, 4) -> f_384(v609, v610, v611, v612, v613, 1, v615, v616, v617, v618, v619, v620, v621, v622, v623, v624, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 Combined rules. Obtained 3 rulesP rules: 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, v7:0, 1 + v34:0, 1, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v7:0 > 5 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v7:0 < 0 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 + v34:0 = 0 && v41:0 > 7 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, v7:0, 1 + v34:0, 1, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v7:0 > 5 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 + v34:0 = 0 && v41:0 > 7 39.61/10.92 f_385(v991:0, v992:0, v993:0, v994:0, v995:0, 1, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991:0, v992:0, v993:0, v994:0, 1 + v1354:0, 1, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) :|: v997:0 > 5 && v1088:0 < -6 && v1088:0 + (1 + v997:0) = 0 && v1003:0 > 1 + v997:0 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 + v1354:0 = 0 && v1356:0 > 8 39.61/10.92 Filtered unneeded arguments: 39.61/10.92 f_385(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_385(x4, x5, x7, x8, x9, x10, x11, x12, x13) 39.61/10.92 Removed division, modulo operations, cleaned up constraints. Obtained 3 rules.P rules: 39.61/10.92 f_129 -> f_385(v7:0, 1 + v34:0, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0) :|: v7:0 < 0 && v7:0 > 5 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 > 7 && v41:0 + v34:0 = 0 39.61/10.92 f_129 -> f_385(v7:0, 1 + v34:0, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0) :|: v34:0 < -7 && v7:0 > 5 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 > 7 && v41:0 + v34:0 = 0 39.61/10.92 f_385(v994:0, v995:0, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0) -> f_385(v994:0, 1 + v1354:0, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0) :|: v1003:0 > 1 + v997:0 && v997:0 > 5 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (9) 39.61/10.92 Obligation: 39.61/10.92 Rules: 39.61/10.92 f_129 -> f_385(v7:0, 1 + v34:0, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0) :|: v7:0 < 0 && v7:0 > 5 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 > 7 && v41:0 + v34:0 = 0 39.61/10.92 f_129 -> f_385(x, 1 + x1, 6, -6, x, 5, 1 + x, x1, x2) :|: x1 < -7 && x > 5 && 1 + x1 + (1 + x) = 0 && x2 > 7 && x2 + x1 = 0 39.61/10.92 f_385(v994:0, v995:0, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0) -> f_385(v994:0, 1 + v1354:0, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0) :|: v1003:0 > 1 + v997:0 && v997:0 > 5 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 39.61/10.92 Start term: f_129 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (10) IRS2T2 (EQUIVALENT) 39.61/10.92 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 39.61/10.92 39.61/10.92 (f_129_9,1) 39.61/10.92 (f_385_9,2) 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (11) 39.61/10.92 Obligation: 39.61/10.92 START: 1; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 assume(oldX9 < 0 && oldX9 > 5 && oldX10 < -7 && 1 + oldX10 + (1 + oldX9) = 0 && oldX11 > 7 && oldX11 + oldX10 = 0); 39.61/10.92 x0 := oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 6; 39.61/10.92 x3 := -6; 39.61/10.92 x4 := oldX9; 39.61/10.92 x5 := 5; 39.61/10.92 x6 := 1 + oldX9; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX11; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 assume(oldX10 < -7 && oldX9 > 5 && 1 + oldX10 + (1 + oldX9) = 0 && oldX11 > 7 && oldX11 + oldX10 = 0); 39.61/10.92 x0 := oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 6; 39.61/10.92 x3 := -6; 39.61/10.92 x4 := oldX9; 39.61/10.92 x5 := 5; 39.61/10.92 x6 := 1 + oldX9; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX11; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 2; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := -(oldX8 - -2); 39.61/10.92 oldX10 := -(oldX2 - -2); 39.61/10.92 oldX11 := -(oldX9 - 0); 39.61/10.92 assume(oldX8 > 1 + oldX2 && oldX2 > 5 && oldX8 > 7 && oldX9 < -9 && 1 + oldX9 + (1 + oldX8) = 0 && oldX10 < -6 && oldX10 + (1 + (1 + oldX2)) = 0 && oldX9 < -8 && oldX11 > 8 && oldX11 + oldX9 = 0); 39.61/10.92 x0 := oldX0; 39.61/10.92 x1 := 1 + oldX9; 39.61/10.92 x2 := 1 + (1 + oldX2); 39.61/10.92 x3 := -(oldX2 - -2); 39.61/10.92 x4 := oldX8; 39.61/10.92 x5 := 1 + oldX2; 39.61/10.92 x6 := 1 + oldX8; 39.61/10.92 x7 := -(oldX8 - -2); 39.61/10.92 x8 := -(oldX9 - 0); 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (12) T2 (COMPLETE) 39.61/10.92 Found this recurrent set for cutpoint 5: oldX10 <= -8 and 8 <= oldX11 and 6 <= oldX9 and 6 <= x2 and 8 <= x8 and oldX10-oldX11 <= -16 and oldX10+oldX11 <= 0 and 0 <= oldX10+oldX11 and oldX10-x2 <= -14 and oldX10-x8 <= -16 and 0 <= oldX10+x8 and 14 <= oldX11+x2 and oldX11-x8 <= 0 and 16 <= oldX11+x8 and oldX10-oldX9 <= -14 and oldX9+oldX10 <= -2 and -2 <= oldX9+oldX10 and oldX9-oldX11 <= -2 and oldX11-oldX9 <= 2 and 14 <= oldX9+oldX11 and 12 <= oldX9+x2 and oldX9-x8 <= -2 and 14 <= oldX9+x8 and x2-x8 <= -2 and 14 <= x2+x8 and -x8+x2+2 <= 0 and -x2+5 <= 0 and -x2+6 <= 0 and -x8+7 <= 0 and -x8+8 <= 0 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (13) 39.61/10.92 NO 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (14) 39.61/10.92 Obligation: 39.61/10.92 Lasso 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (15) Lasso2IRS (EQUIVALENT) 39.61/10.92 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 39.61/10.92 Generated rules. Obtained 97 rulesP rules: 39.61/10.92 f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1022 = 1 + v997 && 7 <= v1022 39.61/10.92 f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1088 + v1022 = 0 && 7 + v1088 <= 0 39.61/10.92 f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: v1022 < v1003 39.61/10.92 f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1095 = 1 + v1003 && 9 <= v1095 39.61/10.92 f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1156 + v1095 = 0 && 9 + v1156 <= 0 39.61/10.92 f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_418(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v995, v1002, v997, v1095, v1156, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_418(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1269 = 1 + v1177 && 7 <= v1269 39.61/10.92 f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1350 + v1269 = 0 && 7 + v1350 <= 0 39.61/10.92 f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 1 + v1354 = v1184 && 9 + v1354 <= 0 39.61/10.92 f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: v1356 + v1354 = 0 && 9 <= v1356 39.61/10.92 f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_384(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1175, v1177, v1183, v1354, v1356, v1185, v1186, v1187, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_384(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_129 -> f_130(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 39.61/10.92 f_130(v1, v2, 3, 1, 4) -> f_131(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 39.61/10.92 f_131(v1, v3, v2, v4, 3, 1, 4) -> f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 39.61/10.92 f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: 0 = 0 39.61/10.92 f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: v7 != 0 39.61/10.92 f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: TRUE 39.61/10.92 f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) -> f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) -> f_148(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: 5 + v7 < 0 && 6 + v7 <= 0 39.61/10.92 f_148(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_150(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_150(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_152(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: TRUE 39.61/10.92 f_152(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_154(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_154(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_156(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) :|: 1 + v9 = v7 && 7 + v9 <= 0 39.61/10.92 f_156(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) -> f_158(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_158(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) -> f_161(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_161(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) -> f_164(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: v11 + v9 = 0 && 7 <= v11 39.61/10.92 f_164(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_167(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_167(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_170(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_170(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_173(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_173(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_176(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_176(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) -> f_179(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_179(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) -> f_182(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_182(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) -> f_185(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_185(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_188(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_188(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_191(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_191(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_194(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_194(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_197(v1, v3, v5, v7, v11, 1, 6, -5, v9, 5, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_197(v1, v3, v5, v7, v11, 1, 6, -5, v9, 5, v2, v4, v6, 0, 3, 4, 7) -> f_199(v1, v3, v5, v7, v11, 1, 6, -6, v9, 5, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_199(v1, v3, v5, v7, v11, 1, 6, -6, v9, 5, v2, v4, v6, 0, 3, 4, 7) -> f_201(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_201(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_203(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_203(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_205(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_205(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_207(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_207(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_209(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_209(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_211(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_211(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_213(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_213(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_215(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) :|: v32 = 1 + v11 && 8 <= v32 39.61/10.92 f_215(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) -> f_217(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_217(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) -> f_219(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) :|: 0 = 0 39.61/10.92 f_219(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) -> f_221(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) :|: v35 + v32 = 0 && 8 + v35 <= 0 39.61/10.92 f_221(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) -> f_223(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_223(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) -> f_225(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_225(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) -> f_300(v1, v3, v5, v7, v11, 1, 6, -6, 0, v7, v9, 5, v32, v35, v2, v4, v6, 3, 7, 6, 8, 5, 4) :|: TRUE 39.61/10.92 f_300(v406, v407, v408, v409, v410, 1, v412, v413, 0, v415, v416, v417, v418, v419, v420, v421, v422, 3, 7, 6, 8, 5, 4) -> f_359(v406, v407, v408, v409, v410, 1, v412, v413, 0, v415, v416, v417, v418, v419, v420, v421, v422, 3, 7, 6, 10, 5, 9, 8, 4) :|: TRUE 39.61/10.92 f_359(v790, v791, v792, v793, v794, 1, v796, v797, 0, v799, v800, v801, v802, v803, v804, v805, v806, 3, 7, 6, 10, 5, 9, 8, 4) -> f_418(v790, v791, v792, v793, v794, 1, v796, v797, 0, v799, v800, v801, v802, v803, v804, v805, v806, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 Combined rules. Obtained 3 rulesP rules: 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, 1 + v9:0, 1 + v1354:0, 1, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 < -1 && v9:0 < -6 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 && 1 + v1354:0 + (1 + v11:0) = 0 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, 1 + v9:0, 1 + v1354:0, 1, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 > -1 && v9:0 < -6 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 && 1 + v1354:0 + (1 + v11:0) = 0 39.61/10.92 f_385(v991:0, v992:0, v993:0, v994:0, v995:0, 1, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991:0, v992:0, v993:0, v994:0, 1 + v1354:0, 1, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) :|: v997:0 > 5 && v1088:0 < -6 && v1088:0 + (1 + v997:0) = 0 && v1003:0 > 1 + v997:0 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 + v1354:0 = 0 && v1356:0 > 8 39.61/10.92 Filtered unneeded arguments: 39.61/10.92 f_385(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_385(x4, x5, x7, x8, x9, x10, x11, x12, x13) 39.61/10.92 Removed division, modulo operations, cleaned up constraints. Obtained 3 rules.P rules: 39.61/10.92 f_129 -> f_385(1 + v9:0, 1 + v1354:0, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0) :|: v9:0 < -6 && v9:0 < -1 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && 1 + v1354:0 + (1 + v11:0) = 0 && v1356:0 + v1354:0 = 0 39.61/10.92 f_129 -> f_385(1 + v9:0, 1 + v1354:0, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0) :|: v9:0 < -6 && v9:0 > -1 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && 1 + v1354:0 + (1 + v11:0) = 0 && v1356:0 + v1354:0 = 0 39.61/10.92 f_385(v994:0, v995:0, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0) -> f_385(v994:0, 1 + v1354:0, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0) :|: v1003:0 > 1 + v997:0 && v997:0 > 5 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (16) 39.61/10.92 Obligation: 39.61/10.92 Rules: 39.61/10.92 f_129 -> f_385(1 + v9:0, 1 + v1354:0, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0) :|: v9:0 < -6 && v9:0 < -1 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && 1 + v1354:0 + (1 + v11:0) = 0 && v1356:0 + v1354:0 = 0 39.61/10.92 f_129 -> f_385(1 + x, 1 + x1, 7, -7, x2, 6, 1 + x2, x1, x3) :|: x < -6 && x > -1 && x2 > 6 && x2 + x = 0 && x1 < -8 && x3 > 8 && 1 + x1 + (1 + x2) = 0 && x3 + x1 = 0 39.61/10.92 f_385(x4, x5, x6, x7, x8, x9, x10, x11, x12) -> f_385(x4, 1 + x13, 1 + (1 + x6), x14, x12, 1 + x6, 1 + x12, x13, x15) :|: x12 > 1 + x6 && x6 > 5 && x12 > 7 && x13 < -9 && 1 + x13 + (1 + x12) = 0 && x14 < -6 && x14 + (1 + (1 + x6)) = 0 && x13 < -8 && x15 > 8 && x15 + x13 = 0 39.61/10.92 Start term: f_129 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (17) IRS2T2 (EQUIVALENT) 39.61/10.92 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 39.61/10.92 39.61/10.92 (f_129_9,1) 39.61/10.92 (f_385_9,2) 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (18) 39.61/10.92 Obligation: 39.61/10.92 START: 1; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 oldX12 := nondet(); 39.61/10.92 assume(oldX9 < -6 && oldX9 < -1 && oldX11 > 6 && oldX11 + oldX9 = 0 && oldX10 < -8 && oldX12 > 8 && 1 + oldX10 + (1 + oldX11) = 0 && oldX12 + oldX10 = 0); 39.61/10.92 x0 := 1 + oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 7; 39.61/10.92 x3 := -7; 39.61/10.92 x4 := oldX11; 39.61/10.92 x5 := 6; 39.61/10.92 x6 := 1 + oldX11; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX12; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 oldX12 := nondet(); 39.61/10.92 assume(oldX9 < -6 && oldX9 > -1 && oldX11 > 6 && oldX11 + oldX9 = 0 && oldX10 < -8 && oldX12 > 8 && 1 + oldX10 + (1 + oldX11) = 0 && oldX12 + oldX10 = 0); 39.61/10.92 x0 := 1 + oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 7; 39.61/10.92 x3 := -7; 39.61/10.92 x4 := oldX11; 39.61/10.92 x5 := 6; 39.61/10.92 x6 := 1 + oldX11; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX12; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 2; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := -(oldX8 - -2); 39.61/10.92 oldX10 := -(oldX2 - -2); 39.61/10.92 oldX11 := -(oldX9 - 0); 39.61/10.92 assume(oldX8 > 1 + oldX2 && oldX2 > 5 && oldX8 > 7 && oldX9 < -9 && 1 + oldX9 + (1 + oldX8) = 0 && oldX10 < -6 && oldX10 + (1 + (1 + oldX2)) = 0 && oldX9 < -8 && oldX11 > 8 && oldX11 + oldX9 = 0); 39.61/10.92 x0 := oldX0; 39.61/10.92 x1 := 1 + oldX9; 39.61/10.92 x2 := 1 + (1 + oldX2); 39.61/10.92 x3 := -(oldX2 - -2); 39.61/10.92 x4 := oldX8; 39.61/10.92 x5 := 1 + oldX2; 39.61/10.92 x6 := 1 + oldX8; 39.61/10.92 x7 := -(oldX8 - -2); 39.61/10.92 x8 := -(oldX9 - 0); 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (19) 39.61/10.92 Obligation: 39.61/10.92 Lasso 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (20) Lasso2IRS (EQUIVALENT) 39.61/10.92 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 39.61/10.92 Generated rules. Obtained 99 rulesP rules: 39.61/10.92 f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1022 = 1 + v997 && 7 <= v1022 39.61/10.92 f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1088 + v1022 = 0 && 7 + v1088 <= 0 39.61/10.92 f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: v1022 < v1003 39.61/10.92 f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1095 = 1 + v1003 && 9 <= v1095 39.61/10.92 f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1156 + v1095 = 0 && 9 + v1156 <= 0 39.61/10.92 f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_418(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v995, v1002, v997, v1095, v1156, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_418(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1269 = 1 + v1177 && 7 <= v1269 39.61/10.92 f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1350 + v1269 = 0 && 7 + v1350 <= 0 39.61/10.92 f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 1 + v1354 = v1184 && 9 + v1354 <= 0 39.61/10.92 f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: v1356 + v1354 = 0 && 9 <= v1356 39.61/10.92 f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_384(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1175, v1177, v1183, v1354, v1356, v1185, v1186, v1187, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_384(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_129 -> f_130(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 39.61/10.92 f_130(v1, v2, 3, 1, 4) -> f_131(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 39.61/10.92 f_131(v1, v3, v2, v4, 3, 1, 4) -> f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 39.61/10.92 f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: 0 = 0 39.61/10.92 f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: v7 != 0 39.61/10.92 f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: TRUE 39.61/10.92 f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) -> f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) -> f_149(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) :|: 0 <= 5 + v7 39.61/10.92 f_149(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) -> f_151(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: 0 = 0 39.61/10.92 f_151(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_153(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: TRUE 39.61/10.92 f_153(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_155(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: 0 = 0 39.61/10.92 f_155(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_157(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) :|: 0 = 0 39.61/10.92 f_157(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4) -> f_159(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: 5 < v7 39.61/10.92 f_159(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_162(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_162(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_165(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: TRUE 39.61/10.92 f_165(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_168(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_168(v1, v3, v5, v7, 1, 5, -5, 0, v2, v4, v6, 3, 4, 6) -> f_171(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) :|: v13 = 1 + v7 && 7 <= v13 39.61/10.92 f_171(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) -> f_174(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_174(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) -> f_177(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_177(v1, v3, v5, v7, 1, 5, -5, 0, v13, v2, v4, v6, 3, 4, 6, 7) -> f_180(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: v15 + v13 = 0 && 7 + v15 <= 0 39.61/10.92 f_180(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_183(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_183(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_186(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_186(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_189(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_189(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_192(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_192(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, v2, v4, v6, 3, 4, 6, 7) -> f_195(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_195(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) -> f_198(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_198(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) -> f_200(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_200(v1, v3, v5, v7, 1, 5, -5, 0, v13, v15, 6, v2, v4, v6, 3, 4, 7) -> f_202(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_202(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_204(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_204(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_206(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_206(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_208(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_208(v1, v3, v5, v7, v15, 1, 5, -5, 0, v13, 6, v2, v4, v6, 3, 4, 7) -> f_210(v1, v3, v5, v7, v15, 1, 6, -5, 0, 5, v13, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_210(v1, v3, v5, v7, v15, 1, 6, -5, 0, 5, v13, v2, v4, v6, 3, 4, 7) -> f_212(v1, v3, v5, v7, v15, 1, 6, -6, 0, 5, v13, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_212(v1, v3, v5, v7, v15, 1, 6, -6, 0, 5, v13, v2, v4, v6, 3, 4, 7) -> f_214(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_214(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) -> f_216(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_216(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) -> f_218(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_218(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v2, v4, v6, 0, 3, 4, 7) -> f_220(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) :|: 1 + v34 = v15 && 8 + v34 <= 0 39.61/10.92 f_220(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) -> f_222(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_222(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) -> f_224(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) :|: 0 = 0 39.61/10.92 f_224(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v2, v4, v6, 0, 3, 4, 7, 8) -> f_226(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) :|: v41 + v34 = 0 && 8 <= v41 39.61/10.92 f_226(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) -> f_228(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_228(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) -> f_230(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_230(v1, v3, v5, v7, v15, 1, 6, -6, 5, v13, v34, v41, v2, v4, v6, 0, 3, 4, 7, 8) -> f_266(v1, v3, v5, v7, v15, 1, 6, -6, v7, 5, v13, v34, v41, v2, v4, v6, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_266(v224, v225, v226, v227, v228, 1, v230, v231, v232, v233, v234, v235, v236, v237, v238, v239, 0, 3, 7, 6, 5, 8, 4) -> f_325(v224, v225, v226, v227, v228, 1, v230, v231, v232, v233, v234, v235, v236, v237, v238, v239, 0, 3, 7, 6, 9, 5, 8, 4) :|: TRUE 39.61/10.92 f_325(v609, v610, v611, v612, v613, 1, v615, v616, v617, v618, v619, v620, v621, v622, v623, v624, 0, 3, 7, 6, 9, 5, 8, 4) -> f_384(v609, v610, v611, v612, v613, 1, v615, v616, v617, v618, v619, v620, v621, v622, v623, v624, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 Combined rules. Obtained 3 rulesP rules: 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, v7:0, 1 + v34:0, 1, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v7:0 > 5 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v7:0 < 0 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 + v34:0 = 0 && v41:0 > 7 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, v7:0, 1 + v34:0, 1, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v7:0 > 5 && v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 + v34:0 = 0 && v41:0 > 7 39.61/10.92 f_385(v991:0, v992:0, v993:0, v994:0, v995:0, 1, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991:0, v992:0, v993:0, v994:0, 1 + v1354:0, 1, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) :|: v997:0 > 5 && v1088:0 < -6 && v1088:0 + (1 + v997:0) = 0 && v1003:0 > 1 + v997:0 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 + v1354:0 = 0 && v1356:0 > 8 39.61/10.92 Filtered unneeded arguments: 39.61/10.92 f_385(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_385(x4, x5, x7, x8, x9, x10, x11, x12, x13) 39.61/10.92 Removed division, modulo operations, cleaned up constraints. Obtained 3 rules.P rules: 39.61/10.92 f_129 -> f_385(v7:0, 1 + v34:0, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0) :|: v7:0 < 0 && v7:0 > 5 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 > 7 && v41:0 + v34:0 = 0 39.61/10.92 f_129 -> f_385(v7:0, 1 + v34:0, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0) :|: v34:0 < -7 && v7:0 > 5 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 > 7 && v41:0 + v34:0 = 0 39.61/10.92 f_385(v994:0, v995:0, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0) -> f_385(v994:0, 1 + v1354:0, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0) :|: v1003:0 > 1 + v997:0 && v997:0 > 5 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (21) 39.61/10.92 Obligation: 39.61/10.92 Rules: 39.61/10.92 f_129 -> f_385(v7:0, 1 + v34:0, 6, -6, v7:0, 5, 1 + v7:0, v34:0, v41:0) :|: v7:0 < 0 && v7:0 > 5 && v34:0 < -7 && 1 + v34:0 + (1 + v7:0) = 0 && v41:0 > 7 && v41:0 + v34:0 = 0 39.61/10.92 f_129 -> f_385(x, 1 + x1, 6, -6, x, 5, 1 + x, x1, x2) :|: x1 < -7 && x > 5 && 1 + x1 + (1 + x) = 0 && x2 > 7 && x2 + x1 = 0 39.61/10.92 f_385(v994:0, v995:0, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0) -> f_385(v994:0, 1 + v1354:0, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0) :|: v1003:0 > 1 + v997:0 && v997:0 > 5 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 39.61/10.92 Start term: f_129 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (22) IRS2T2 (EQUIVALENT) 39.61/10.92 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 39.61/10.92 39.61/10.92 (f_129_9,1) 39.61/10.92 (f_385_9,2) 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (23) 39.61/10.92 Obligation: 39.61/10.92 START: 1; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 assume(oldX9 < 0 && oldX9 > 5 && oldX10 < -7 && 1 + oldX10 + (1 + oldX9) = 0 && oldX11 > 7 && oldX11 + oldX10 = 0); 39.61/10.92 x0 := oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 6; 39.61/10.92 x3 := -6; 39.61/10.92 x4 := oldX9; 39.61/10.92 x5 := 5; 39.61/10.92 x6 := 1 + oldX9; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX11; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 assume(oldX10 < -7 && oldX9 > 5 && 1 + oldX10 + (1 + oldX9) = 0 && oldX11 > 7 && oldX11 + oldX10 = 0); 39.61/10.92 x0 := oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 6; 39.61/10.92 x3 := -6; 39.61/10.92 x4 := oldX9; 39.61/10.92 x5 := 5; 39.61/10.92 x6 := 1 + oldX9; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX11; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 2; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := -(oldX8 - -2); 39.61/10.92 oldX10 := -(oldX2 - -2); 39.61/10.92 oldX11 := -(oldX9 - 0); 39.61/10.92 assume(oldX8 > 1 + oldX2 && oldX2 > 5 && oldX8 > 7 && oldX9 < -9 && 1 + oldX9 + (1 + oldX8) = 0 && oldX10 < -6 && oldX10 + (1 + (1 + oldX2)) = 0 && oldX9 < -8 && oldX11 > 8 && oldX11 + oldX9 = 0); 39.61/10.92 x0 := oldX0; 39.61/10.92 x1 := 1 + oldX9; 39.61/10.92 x2 := 1 + (1 + oldX2); 39.61/10.92 x3 := -(oldX2 - -2); 39.61/10.92 x4 := oldX8; 39.61/10.92 x5 := 1 + oldX2; 39.61/10.92 x6 := 1 + oldX8; 39.61/10.92 x7 := -(oldX8 - -2); 39.61/10.92 x8 := -(oldX9 - 0); 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (24) T2 (COMPLETE) 39.61/10.92 Found this recurrent set for cutpoint 5: oldX10 <= -8 and 8 <= oldX11 and 6 <= oldX9 and 6 <= x2 and 8 <= x8 and oldX10-oldX11 <= -16 and oldX10+oldX11 <= 0 and 0 <= oldX10+oldX11 and oldX10-x2 <= -14 and oldX10-x8 <= -16 and 0 <= oldX10+x8 and 14 <= oldX11+x2 and oldX11-x8 <= 0 and 16 <= oldX11+x8 and oldX10-oldX9 <= -14 and oldX9+oldX10 <= -2 and -2 <= oldX9+oldX10 and oldX9-oldX11 <= -2 and oldX11-oldX9 <= 2 and 14 <= oldX9+oldX11 and 12 <= oldX9+x2 and oldX9-x8 <= -2 and 14 <= oldX9+x8 and x2-x8 <= -2 and 14 <= x2+x8 and -x8+x2+2 <= 0 and -x2+5 <= 0 and -x2+6 <= 0 and -x8+7 <= 0 and -x8+8 <= 0 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (25) 39.61/10.92 NO 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (26) 39.61/10.92 Obligation: 39.61/10.92 Lasso 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (27) Lasso2IRS (EQUIVALENT) 39.61/10.92 Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: 39.61/10.92 Generated rules. Obtained 97 rulesP rules: 39.61/10.92 f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1022 = 1 + v997 && 7 <= v1022 39.61/10.92 f_386(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_387(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_388(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1022, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_389(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_390(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_391(v991, v992, v993, v994, v1003, 1, v995, v997, v998, v999, v1000, v1001, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_392(v991, v992, v993, v994, v1003, 1, v997, v998, v999, v1000, v1001, v995, v1022, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_393(v991, v992, v993, v994, v1003, 1, v1022, v998, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: v1088 + v1022 = 0 && 7 + v1088 <= 0 39.61/10.92 f_394(v991, v992, v993, v994, v1003, 1, v1022, v1088, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_395(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_396(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1000, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_397(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1000, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) -> f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_398(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: v1022 < v1003 39.61/10.92 f_399(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_401(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_403(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v999, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_405(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4) -> f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1095 = 1 + v1003 && 9 <= v1095 39.61/10.92 f_407(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_409(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1001, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_411(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v995, v997, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: v1156 + v1095 = 0 && 9 + v1156 <= 0 39.61/10.92 f_413(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_415(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_417(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v1095, v1156, v997, v995, v1002, v1004, v1005, v1006, 3, 7, 6, 8, 4, 9) -> f_418(v991, v992, v993, v994, v1003, 1, v1022, v1088, 0, v995, v1002, v997, v1095, v1156, v1004, v1005, v1006, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_418(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_420(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1182, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 5, 8, 4) -> f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_422(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1269 = 1 + v1177 && 7 <= v1269 39.61/10.92 f_424(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_426(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_427(v1171, v1172, v1173, v1174, v1175, 1, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1184, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_428(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_429(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_430(v1171, v1172, v1173, v1174, v1184, 1, v1175, v1177, v1178, 0, v1180, v1181, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_431(v1171, v1172, v1173, v1174, v1184, 1, v1177, v1178, 0, v1180, v1181, v1175, v1269, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_432(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1178, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) :|: v1350 + v1269 = 0 && 7 + v1350 <= 0 39.61/10.92 f_433(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, 0, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 3, 7, 6, 8, 4) -> f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_434(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: TRUE 39.61/10.92 f_435(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1180, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) :|: 0 = 0 39.61/10.92 f_436(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4) -> f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 1 + v1354 = v1184 && 9 + v1354 <= 0 39.61/10.92 f_437(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_438(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1181, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: 0 = 0 39.61/10.92 f_439(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1175, v1177, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: v1356 + v1354 = 0 && 9 <= v1356 39.61/10.92 f_440(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_441(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) :|: TRUE 39.61/10.92 f_442(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1354, v1356, v1177, v1175, v1183, v1185, v1186, v1187, 0, 3, 7, 6, 8, 4, 9) -> f_384(v1171, v1172, v1173, v1174, v1184, 1, v1269, v1350, v1175, v1177, v1183, v1354, v1356, v1185, v1186, v1187, 0, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 f_384(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991, v992, v993, v994, v995, 1, v997, v998, v999, v1000, v1001, v1002, v1003, v1004, v1005, v1006, 0, 3, 7, 6, 5, 8, 4) :|: 0 = 0 39.61/10.92 f_129 -> f_130(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 39.61/10.92 f_130(v1, v2, 3, 1, 4) -> f_131(v1, v3, v2, v4, 3, 1, 4) :|: 1 <= v3 && v4 = 3 + v3 && 4 <= v4 39.61/10.92 f_131(v1, v3, v2, v4, 3, 1, 4) -> f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) :|: 1 <= v5 && v6 = 3 + v5 && 4 <= v6 39.61/10.92 f_132(v1, v3, v5, v2, v4, v6, 3, 1, 4) -> f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_133(v1, v3, v5, v2, v4, v6, 0, 3, 1, 4) -> f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_134(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) :|: TRUE 39.61/10.92 f_135(v1, v3, v5, v7, v2, v4, v6, 0, 3, 1, 4) -> f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_136(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: TRUE 39.61/10.92 f_137(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: 0 = 0 39.61/10.92 f_138(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) :|: v7 != 0 39.61/10.92 f_139(v1, v3, v5, v7, v2, v4, v6, 0, 5, 3, 1, 4) -> f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_141(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: TRUE 39.61/10.92 f_143(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) :|: 0 = 0 39.61/10.92 f_145(v1, v3, v5, v7, 1, v2, v4, v6, 0, 5, 3, 4) -> f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_146(v1, v3, v5, v7, 1, 5, v2, v4, v6, 0, 3, 4) -> f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) :|: 0 = 0 39.61/10.92 f_147(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4) -> f_148(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: 5 + v7 < 0 && 6 + v7 <= 0 39.61/10.92 f_148(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_150(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_150(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_152(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: TRUE 39.61/10.92 f_152(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_154(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) :|: 0 = 0 39.61/10.92 f_154(v1, v3, v5, v7, 1, 5, -5, v2, v4, v6, 0, 3, 4, 6) -> f_156(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) :|: 1 + v9 = v7 && 7 + v9 <= 0 39.61/10.92 f_156(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) -> f_158(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_158(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) -> f_161(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_161(v1, v3, v5, v7, 1, 5, -5, v9, v2, v4, v6, 0, 3, 4, 6, 7) -> f_164(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: v11 + v9 = 0 && 7 <= v11 39.61/10.92 f_164(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_167(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_167(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_170(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: TRUE 39.61/10.92 f_170(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_173(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) :|: 0 = 0 39.61/10.92 f_173(v1, v3, v5, v7, 1, 5, -5, v9, v11, v2, v4, v6, 0, 3, 4, 6, 7) -> f_176(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_176(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) -> f_179(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_179(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) -> f_182(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_182(v1, v3, v5, v7, 1, 5, -5, v9, v11, 6, v2, v4, v6, 0, 3, 4, 7) -> f_185(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_185(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_188(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_188(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_191(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: TRUE 39.61/10.92 f_191(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_194(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_194(v1, v3, v5, v7, v11, 1, 5, -5, v9, 6, v2, v4, v6, 0, 3, 4, 7) -> f_197(v1, v3, v5, v7, v11, 1, 6, -5, v9, 5, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_197(v1, v3, v5, v7, v11, 1, 6, -5, v9, 5, v2, v4, v6, 0, 3, 4, 7) -> f_199(v1, v3, v5, v7, v11, 1, 6, -6, v9, 5, v2, v4, v6, 0, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_199(v1, v3, v5, v7, v11, 1, 6, -6, v9, 5, v2, v4, v6, 0, 3, 4, 7) -> f_201(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_201(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_203(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_203(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_205(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_205(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_207(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_207(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_209(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_209(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_211(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: TRUE 39.61/10.92 f_211(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_213(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) :|: 0 = 0 39.61/10.92 f_213(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v2, v4, v6, 3, 4, 7) -> f_215(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) :|: v32 = 1 + v11 && 8 <= v32 39.61/10.92 f_215(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) -> f_217(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_217(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) -> f_219(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) :|: 0 = 0 39.61/10.92 f_219(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v2, v4, v6, 3, 4, 7, 8) -> f_221(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) :|: v35 + v32 = 0 && 8 + v35 <= 0 39.61/10.92 f_221(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) -> f_223(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_223(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) -> f_225(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) :|: TRUE 39.61/10.92 f_225(v1, v3, v5, v7, v11, 1, 6, -6, 0, v9, 5, v32, v35, v2, v4, v6, 3, 4, 7, 8) -> f_300(v1, v3, v5, v7, v11, 1, 6, -6, 0, v7, v9, 5, v32, v35, v2, v4, v6, 3, 7, 6, 8, 5, 4) :|: TRUE 39.61/10.92 f_300(v406, v407, v408, v409, v410, 1, v412, v413, 0, v415, v416, v417, v418, v419, v420, v421, v422, 3, 7, 6, 8, 5, 4) -> f_359(v406, v407, v408, v409, v410, 1, v412, v413, 0, v415, v416, v417, v418, v419, v420, v421, v422, 3, 7, 6, 10, 5, 9, 8, 4) :|: TRUE 39.61/10.92 f_359(v790, v791, v792, v793, v794, 1, v796, v797, 0, v799, v800, v801, v802, v803, v804, v805, v806, 3, 7, 6, 10, 5, 9, 8, 4) -> f_418(v790, v791, v792, v793, v794, 1, v796, v797, 0, v799, v800, v801, v802, v803, v804, v805, v806, 3, 7, 6, 5, 8, 4) :|: TRUE 39.61/10.92 Combined rules. Obtained 3 rulesP rules: 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, 1 + v9:0, 1 + v1354:0, 1, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 < -1 && v9:0 < -6 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 && 1 + v1354:0 + (1 + v11:0) = 0 39.61/10.92 f_129 -> f_385(v1:0, v3:0, v5:0, 1 + v9:0, 1 + v1354:0, 1, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0, 3 + v1:0, 3 + v3:0, 3 + v5:0, 0, 3, 7, 6, 5, 8, 4) :|: v3:0 > 0 && v1:0 > 0 && v5:0 > 0 && v9:0 > -1 && v9:0 < -6 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 && 1 + v1354:0 + (1 + v11:0) = 0 39.61/10.92 f_385(v991:0, v992:0, v993:0, v994:0, v995:0, 1, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) -> f_385(v991:0, v992:0, v993:0, v994:0, 1 + v1354:0, 1, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0, v1004:0, v1005:0, v1006:0, 0, 3, 7, 6, 5, 8, 4) :|: v997:0 > 5 && v1088:0 < -6 && v1088:0 + (1 + v997:0) = 0 && v1003:0 > 1 + v997:0 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 + v1354:0 = 0 && v1356:0 > 8 39.61/10.92 Filtered unneeded arguments: 39.61/10.92 f_385(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) -> f_385(x4, x5, x7, x8, x9, x10, x11, x12, x13) 39.61/10.92 Removed division, modulo operations, cleaned up constraints. Obtained 3 rules.P rules: 39.61/10.92 f_129 -> f_385(1 + v9:0, 1 + v1354:0, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0) :|: v9:0 < -6 && v9:0 < -1 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && 1 + v1354:0 + (1 + v11:0) = 0 && v1356:0 + v1354:0 = 0 39.61/10.92 f_129 -> f_385(1 + v9:0, 1 + v1354:0, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0) :|: v9:0 < -6 && v9:0 > -1 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && 1 + v1354:0 + (1 + v11:0) = 0 && v1356:0 + v1354:0 = 0 39.61/10.92 f_385(v994:0, v995:0, v997:0, v998:0, v999:0, v1000:0, v1001:0, v1002:0, v1003:0) -> f_385(v994:0, 1 + v1354:0, 1 + (1 + v997:0), v1350:0, v1003:0, 1 + v997:0, 1 + v1003:0, v1354:0, v1356:0) :|: v1003:0 > 1 + v997:0 && v997:0 > 5 && v1003:0 > 7 && v1354:0 < -9 && 1 + v1354:0 + (1 + v1003:0) = 0 && v1350:0 < -6 && v1350:0 + (1 + (1 + v997:0)) = 0 && v1354:0 < -8 && v1356:0 > 8 && v1356:0 + v1354:0 = 0 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (28) 39.61/10.92 Obligation: 39.61/10.92 Rules: 39.61/10.92 f_129 -> f_385(1 + v9:0, 1 + v1354:0, 7, -7, v11:0, 6, 1 + v11:0, v1354:0, v1356:0) :|: v9:0 < -6 && v9:0 < -1 && v11:0 > 6 && v11:0 + v9:0 = 0 && v1354:0 < -8 && v1356:0 > 8 && 1 + v1354:0 + (1 + v11:0) = 0 && v1356:0 + v1354:0 = 0 39.61/10.92 f_129 -> f_385(1 + x, 1 + x1, 7, -7, x2, 6, 1 + x2, x1, x3) :|: x < -6 && x > -1 && x2 > 6 && x2 + x = 0 && x1 < -8 && x3 > 8 && 1 + x1 + (1 + x2) = 0 && x3 + x1 = 0 39.61/10.92 f_385(x4, x5, x6, x7, x8, x9, x10, x11, x12) -> f_385(x4, 1 + x13, 1 + (1 + x6), x14, x12, 1 + x6, 1 + x12, x13, x15) :|: x12 > 1 + x6 && x6 > 5 && x12 > 7 && x13 < -9 && 1 + x13 + (1 + x12) = 0 && x14 < -6 && x14 + (1 + (1 + x6)) = 0 && x13 < -8 && x15 > 8 && x15 + x13 = 0 39.61/10.92 Start term: f_129 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (29) IRS2T2 (EQUIVALENT) 39.61/10.92 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 39.61/10.92 39.61/10.92 (f_129_9,1) 39.61/10.92 (f_385_9,2) 39.61/10.92 39.61/10.92 ---------------------------------------- 39.61/10.92 39.61/10.92 (30) 39.61/10.92 Obligation: 39.61/10.92 START: 1; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 oldX12 := nondet(); 39.61/10.92 assume(oldX9 < -6 && oldX9 < -1 && oldX11 > 6 && oldX11 + oldX9 = 0 && oldX10 < -8 && oldX12 > 8 && 1 + oldX10 + (1 + oldX11) = 0 && oldX12 + oldX10 = 0); 39.61/10.92 x0 := 1 + oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 7; 39.61/10.92 x3 := -7; 39.61/10.92 x4 := oldX11; 39.61/10.92 x5 := 6; 39.61/10.92 x6 := 1 + oldX11; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX12; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 1; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := nondet(); 39.61/10.92 oldX10 := nondet(); 39.61/10.92 oldX11 := nondet(); 39.61/10.92 oldX12 := nondet(); 39.61/10.92 assume(oldX9 < -6 && oldX9 > -1 && oldX11 > 6 && oldX11 + oldX9 = 0 && oldX10 < -8 && oldX12 > 8 && 1 + oldX10 + (1 + oldX11) = 0 && oldX12 + oldX10 = 0); 39.61/10.92 x0 := 1 + oldX9; 39.61/10.92 x1 := 1 + oldX10; 39.61/10.92 x2 := 7; 39.61/10.92 x3 := -7; 39.61/10.92 x4 := oldX11; 39.61/10.92 x5 := 6; 39.61/10.92 x6 := 1 + oldX11; 39.61/10.92 x7 := oldX10; 39.61/10.92 x8 := oldX12; 39.61/10.92 TO: 2; 39.61/10.92 39.61/10.92 FROM: 2; 39.61/10.92 oldX0 := x0; 39.61/10.92 oldX1 := x1; 39.61/10.92 oldX2 := x2; 39.61/10.92 oldX3 := x3; 39.61/10.92 oldX4 := x4; 39.61/10.92 oldX5 := x5; 39.61/10.92 oldX6 := x6; 39.61/10.92 oldX7 := x7; 39.61/10.92 oldX8 := x8; 39.61/10.92 oldX9 := -(oldX8 - -2); 39.61/10.92 oldX10 := -(oldX2 - -2); 39.61/10.92 oldX11 := -(oldX9 - 0); 39.61/10.92 assume(oldX8 > 1 + oldX2 && oldX2 > 5 && oldX8 > 7 && oldX9 < -9 && 1 + oldX9 + (1 + oldX8) = 0 && oldX10 < -6 && oldX10 + (1 + (1 + oldX2)) = 0 && oldX9 < -8 && oldX11 > 8 && oldX11 + oldX9 = 0); 39.61/10.92 x0 := oldX0; 39.61/10.92 x1 := 1 + oldX9; 39.61/10.92 x2 := 1 + (1 + oldX2); 39.61/10.92 x3 := -(oldX2 - -2); 39.61/10.92 x4 := oldX8; 39.61/10.92 x5 := 1 + oldX2; 39.61/10.92 x6 := 1 + oldX8; 39.61/10.92 x7 := -(oldX8 - -2); 39.61/10.92 x8 := -(oldX9 - 0); 39.61/10.92 TO: 2; 39.61/10.92 39.81/10.96 EOF