/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could not be shown: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 174 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 388 ms] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToLassoProof [EQUIVALENT, 0 ms] (6) LLVM Symbolic Execution Lasso (7) Lasso2IRS [SOUND, 50 ms] (8) IntTRS (9) IRS2T2 [EQUIVALENT, 0 ms] (10) T2IntSys (11) T2 [COMPLETE, 1132 ms] (12) NO (13) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (14) LLVM Symbolic Execution SCC (15) SCC2IRS [SOUND, 55 ms] (16) IntTRS (17) IntTRSCompressionProof [EQUIVALENT, 0 ms] (18) IntTRS (19) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] (20) NO (21) SCC2IRS [SOUND, 1 ms] (22) IntTRS (23) IntTRSCompressionProof [EQUIVALENT, 0 ms] (24) IntTRS (25) IntTRSPeriodicNontermProof [COMPLETE, 12 ms] (26) NO (27) SEGraph to IRS [SOUND, 56 ms] (28) IntTRS (29) IRS2T2 [EQUIVALENT, 0 ms] (30) T2IntSys (31) T2 [COMPLETE, 1243 ms] (32) NO ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %a = alloca [1048 x i32], align 16 store 0, %1 br %2 2: %3 = getelementptr %a, 0, 2 %4 = load %3 %5 = icmp sge %4 0 br %5, %6, %13 6: %7 = getelementptr %a, 0, 2 %8 = load %7 %9 = sub %8 1 %10 = getelementptr %a, 0, 2 store %9, %10 %11 = call i32 @__VERIFIER_nondet_int() %12 = getelementptr %a, 0, 2 store %11, %12 br %2 13: ret 0 Analyze Termination of all function calls matching the pattern: main() ---------------------------------------- (3) LLVMToTerminationGraphProof (EQUIVALENT) Constructed symbolic execution graph for LLVM program and proved memory safety. ---------------------------------------- (4) Obligation: SE Graph ---------------------------------------- (5) SymbolicExecutionGraphToLassoProof (EQUIVALENT) Converted SEGraph to 1 independent lasso. ---------------------------------------- (6) Obligation: Lasso ---------------------------------------- (7) Lasso2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 33 rulesP rules: f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 <= v10 f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 + v12 = v10 && 0 <= 1 + v12 f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_78(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_78(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_57 -> f_58(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_58(v1, v2, 3, 1, 4) -> f_59(v1, v3, v2, v4, 3, 4191, 1, 4, 4192) :|: 1 <= v3 && v4 = 4191 + v3 && 4192 <= v4 f_59(v1, v3, v2, v4, 3, 4191, 1, 4, 4192) -> f_60(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) :|: TRUE f_60(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) -> f_61(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) :|: TRUE f_61(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) -> f_62(v1, v3, v5, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: v5 = 8 + v3 && 9 <= v5 f_62(v1, v3, v5, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_63(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: TRUE f_63(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_64(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: 0 <= v6 f_64(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_66(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_66(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_68(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_68(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_70(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_70(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_71(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_71(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_72(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 + v8 = v6 && 0 <= 1 + v8 f_72(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_73(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_73(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_74(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_74(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_75(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_75(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_76(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_76(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_77(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_77(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_78(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE Combined rules. Obtained 2 rulesP rules: f_57 -> f_79(v1:0, v3:0, 8 + v3:0, 1 + v8:0, 1, v8:0, v10:0, 3 + v1:0, 4191 + v3:0, 0, 3, 4191, 8, 4, 4192, 9) :|: v3:0 > 0 && v1:0 > 0 && v8:0 > -2 f_79(v1:0, v3:0, 8 + v3:0, v6:0, 1, v8:0, 1 + v12:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1:0, v3:0, 8 + v3:0, 1 + v12:0, 1, v12:0, v14:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) :|: v12:0 > -2 Filtered unneeded arguments: f_79(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_79(x2, x3, x7) Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: f_57 -> f_79(v3:0, 8 + v3:0, v10:0) :|: v3:0 > 0 f_79(v3:0, sum~cons_8~v3:0, sum~cons_1~v12:0) -> f_79(v3:0, 8 + v3:0, v14:0) :|: v12:0 > -2 && sum~cons_8~v3:0 = 8 + v3:0 && sum~cons_1~v12:0 = 1 + v12:0 ---------------------------------------- (8) Obligation: Rules: f_57 -> f_79(v3:0, 8 + v3:0, v10:0) :|: v3:0 > 0 f_79(x, x1, x2) -> f_79(x, 8 + x, x3) :|: x4 > -2 && x1 = 8 + x && x2 = 1 + x4 Start term: f_57 ---------------------------------------- (9) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_57_3,1) (f_79_3,2) ---------------------------------------- (10) Obligation: START: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := nondet(); oldX4 := nondet(); assume(oldX3 > 0); x0 := oldX3; x1 := 8 + oldX3; x2 := oldX4; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX4 := oldX2 - 1; oldX3 := nondet(); assume(oldX4 > -2 && oldX1 = 8 + oldX0 && oldX2 = 1 + oldX4); x0 := oldX0; x1 := 8 + oldX0; x2 := oldX3; TO: 2; ---------------------------------------- (11) T2 (COMPLETE) Found this recurrent set for cutpoint 5: oldX0 == 1 and oldX3 == 1 and oldX4 == 1 and x0 == 1 and x1 == 9 and x2 == 1 ---------------------------------------- (12) NO ---------------------------------------- (13) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 1 SCC. ---------------------------------------- (14) Obligation: SCC ---------------------------------------- (15) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 15 rulesP rules: f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 <= v10 f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 + v12 = v10 && 0 <= 1 + v12 f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_78(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_78(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 Combined rules. Obtained 1 rulesP rules: f_79(v1:0, v3:0, 8 + v3:0, v6:0, 1, v8:0, 1 + v12:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1:0, v3:0, 8 + v3:0, 1 + v12:0, 1, v12:0, v14:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) :|: v12:0 > -2 Filtered unneeded arguments: f_79(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_79(x2, x3, x7) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_79(v3:0, sum~cons_8~v3:0, sum~cons_1~v12:0) -> f_79(v3:0, 8 + v3:0, v14:0) :|: v12:0 > -2 && sum~cons_8~v3:0 = 8 + v3:0 && sum~cons_1~v12:0 = 1 + v12:0 ---------------------------------------- (16) Obligation: Rules: f_79(v3:0, sum~cons_8~v3:0, sum~cons_1~v12:0) -> f_79(v3:0, 8 + v3:0, v14:0) :|: v12:0 > -2 && sum~cons_8~v3:0 = 8 + v3:0 && sum~cons_1~v12:0 = 1 + v12:0 ---------------------------------------- (17) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (18) Obligation: Rules: f_79(v3:0:0, sum~cons_8~v3:0:0, sum~cons_1~v12:0:0) -> f_79(v3:0:0, 8 + v3:0:0, v14:0:0) :|: v12:0:0 > -2 && sum~cons_8~v3:0:0 = 8 + v3:0:0 && sum~cons_1~v12:0:0 = 1 + v12:0:0 ---------------------------------------- (19) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, v3:0:0, sum~cons_8~v3:0:0, sum~cons_1~v12:0:0) -> f(1, v3:0:0, 8 + v3:0:0, v14:0:0) :|: pc = 1 && (v12:0:0 > -2 && sum~cons_8~v3:0:0 = 8 + v3:0:0 && sum~cons_1~v12:0:0 = 1 + v12:0:0) Witness term starting non-terminating reduction: f(1, -8, 0, 3) ---------------------------------------- (20) NO ---------------------------------------- (21) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 15 rulesP rules: f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 <= v10 f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 + v12 = v10 && 0 <= 1 + v12 f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_78(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 <= v1 && 4 <= v2 && 1 <= v3 && 4192 <= v4 && 9 <= v5 && 0 <= v10 && 0 <= 1 + v12 && v1 <= v2 && v3 <= v4 f_78(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 Combined rules. Obtained 1 rulesP rules: f_79(v1:0, v3:0, 8 + v3:0, v6:0, 1, v8:0, 1 + v12:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1:0, v3:0, 8 + v3:0, 1 + v12:0, 1, v12:0, v14:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) :|: v12:0 > -2 && v2:0 > 3 && v1:0 > 0 && v3:0 > 0 && v4:0 > 4191 && v4:0 >= v3:0 && v2:0 >= v1:0 Filtered unneeded arguments: f_79(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_79(x1, x2, x3, x7, x8, x9) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_79(v1:0, v3:0, sum~cons_8~v3:0, sum~cons_1~v12:0, v2:0, v4:0) -> f_79(v1:0, v3:0, 8 + v3:0, v14:0, v2:0, v4:0) :|: v2:0 > 3 && v12:0 > -2 && v1:0 > 0 && v3:0 > 0 && v4:0 > 4191 && v2:0 >= v1:0 && v4:0 >= v3:0 && sum~cons_8~v3:0 = 8 + v3:0 && sum~cons_1~v12:0 = 1 + v12:0 ---------------------------------------- (22) Obligation: Rules: f_79(v1:0, v3:0, sum~cons_8~v3:0, sum~cons_1~v12:0, v2:0, v4:0) -> f_79(v1:0, v3:0, 8 + v3:0, v14:0, v2:0, v4:0) :|: v2:0 > 3 && v12:0 > -2 && v1:0 > 0 && v3:0 > 0 && v4:0 > 4191 && v2:0 >= v1:0 && v4:0 >= v3:0 && sum~cons_8~v3:0 = 8 + v3:0 && sum~cons_1~v12:0 = 1 + v12:0 ---------------------------------------- (23) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (24) Obligation: Rules: f_79(v1:0:0, v3:0:0, sum~cons_8~v3:0:0, sum~cons_1~v12:0:0, v2:0:0, v4:0:0) -> f_79(v1:0:0, v3:0:0, 8 + v3:0:0, v14:0:0, v2:0:0, v4:0:0) :|: v2:0:0 >= v1:0:0 && v4:0:0 >= v3:0:0 && v4:0:0 > 4191 && v3:0:0 > 0 && v1:0:0 > 0 && v12:0:0 > -2 && v2:0:0 > 3 && sum~cons_8~v3:0:0 = 8 + v3:0:0 && sum~cons_1~v12:0:0 = 1 + v12:0:0 ---------------------------------------- (25) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, v1:0:0, v3:0:0, sum~cons_8~v3:0:0, sum~cons_1~v12:0:0, v2:0:0, v4:0:0) -> f(1, v1:0:0, v3:0:0, 8 + v3:0:0, v14:0:0, v2:0:0, v4:0:0) :|: pc = 1 && (v2:0:0 >= v1:0:0 && v4:0:0 >= v3:0:0 && v4:0:0 > 4191 && v3:0:0 > 0 && v1:0:0 > 0 && v12:0:0 > -2 && v2:0:0 > 3 && sum~cons_8~v3:0:0 = 8 + v3:0:0 && sum~cons_1~v12:0:0 = 1 + v12:0:0) Witness term starting non-terminating reduction: f(1, 2048, 2040, 2048, 8191, 6022, 4198) ---------------------------------------- (26) NO ---------------------------------------- (27) SEGraph to IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 39 rulesP rules: f_57 -> f_58(v1, v2, 3, 1, 4) :|: 1 <= v1 && v2 = 3 + v1 && 4 <= v2 f_58(v1, v2, 3, 1, 4) -> f_59(v1, v3, v2, v4, 3, 4191, 1, 4, 4192) :|: 1 <= v3 && v4 = 4191 + v3 && 4192 <= v4 f_59(v1, v3, v2, v4, 3, 4191, 1, 4, 4192) -> f_60(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) :|: TRUE f_60(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) -> f_61(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) :|: TRUE f_61(v1, v3, v2, v4, 0, 3, 4191, 1, 4, 4192) -> f_62(v1, v3, v5, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: v5 = 8 + v3 && 9 <= v5 f_62(v1, v3, v5, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_63(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: TRUE f_63(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_64(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: 0 <= v6 f_63(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_65(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) :|: v6 < 0 f_64(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_66(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_65(v1, v3, v5, v6, v2, v4, 0, 3, 4191, 8, 1, 4, 4192, 9) -> f_67(v1, v3, v5, v6, 0, v2, v4, 3, 4191, 8, 1, 4, 4192, 9) :|: 0 = 0 f_66(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_68(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_67(v1, v3, v5, v6, 0, v2, v4, 3, 4191, 8, 1, 4, 4192, 9) -> f_69(v1, v3, v5, v6, 0, v2, v4, 3, 4191, 8, 1, 4, 4192, 9) :|: TRUE f_68(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_70(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_70(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_71(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_71(v1, v3, v5, v6, 1, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_72(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 + v8 = v6 && 0 <= 1 + v8 f_72(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_73(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_73(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_74(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_74(v1, v3, v5, v6, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_75(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_75(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_76(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_76(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_77(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_77(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_78(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_78(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_79(v1, v3, v5, v6, 1, v8, v10, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 <= v10 f_80(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_82(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v10 < 0 f_81(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_82(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_84(v1, v3, v5, v10, 0, v6, v8, v2, v4, 3, 4191, 8, 1, 4, 4192, 9) :|: 0 = 0 f_83(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_84(v1, v3, v5, v10, 0, v6, v8, v2, v4, 3, 4191, 8, 1, 4, 4192, 9) -> f_86(v1, v3, v5, v10, 0, v6, v8, v2, v4, 3, 4191, 8, 1, 4, 4192, 9) :|: TRUE f_85(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_87(v1, v3, v5, v10, 1, v6, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 0 = 0 f_88(v1, v3, v5, v10, 1, v8, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: 1 + v12 = v10 && 0 <= 1 + v12 f_89(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_90(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_91(v1, v3, v5, v10, 1, v12, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_92(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: v5 = 8 + v3 f_93(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_94(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE f_95(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) -> f_78(v1, v3, v5, v10, 1, v12, v14, v2, v4, 0, 3, 4191, 8, 4, 4192, 9) :|: TRUE Combined rules. Obtained 4 rulesP rules: f_57 -> f_80(v1:0, v3:0, 8 + v3:0, v10:0, 1, 1 + v8:0, v8:0, 3 + v1:0, 4191 + v3:0, 0, 3, 4191, 8, 4, 4192, 9) :|: v3:0 > 0 && v1:0 > 0 && v8:0 > -2 f_80(v1:0, v3:0, v5:0, v10:0, 1, v6:0, v8:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) -> f_86(v1:0, v3:0, v5:0, v10:0, 0, v6:0, v8:0, v2:0, v4:0, 3, 4191, 8, 1, 4, 4192, 9) :|: v10:0 < 0 f_80(v1:0, v3:0, 8 + v3:0, 1 + v12:0, 1, v6:0, v8:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) -> f_80(v1:0, v3:0, 8 + v3:0, v14:0, 1, 1 + v12:0, v12:0, v2:0, v4:0, 0, 3, 4191, 8, 4, 4192, 9) :|: v12:0 > -2 f_57 -> f_69(v1:0, v3:0, 8 + v3:0, v6:0, 0, 3 + v1:0, 4191 + v3:0, 3, 4191, 8, 1, 4, 4192, 9) :|: v3:0 > 0 && v1:0 > 0 && v6:0 < 0 Filtered unneeded arguments: f_80(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) -> f_80(x2, x3, x4) Removed division, modulo operations, cleaned up constraints. Obtained 4 rules.P rules: f_57 -> f_80(v3:0, 8 + v3:0, v10:0) :|: v3:0 > 0 f_80(v3:0, v5:0, v10:0) -> f_86(v1:0, v3:0, v5:0, v10:0, 0, v6:0, v8:0, v2:0, v4:0, 3, 4191, 8, 1, 4, 4192, 9) :|: v10:0 < 0 f_80(v3:0, sum~cons_8~v3:0, sum~cons_1~v12:0) -> f_80(v3:0, 8 + v3:0, v14:0) :|: v12:0 > -2 && sum~cons_8~v3:0 = 8 + v3:0 && sum~cons_1~v12:0 = 1 + v12:0 f_57 -> f_69(v1:0, v3:0, 8 + v3:0, v6:0, 0, 3 + v1:0, 4191 + v3:0, 3, 4191, 8, 1, 4, 4192, 9) :|: v1:0 > 0 && v6:0 < 0 && v3:0 > 0 ---------------------------------------- (28) Obligation: Rules: f_57 -> f_80(v3:0, 8 + v3:0, v10:0) :|: v3:0 > 0 f_80(x, x1, x2) -> f_86(x3, x, x1, x2, 0, x4, x5, x6, x7, 3, 4191, 8, 1, 4, 4192, 9) :|: x2 < 0 f_80(x8, x9, x10) -> f_80(x8, 8 + x8, x11) :|: x12 > -2 && x9 = 8 + x8 && x10 = 1 + x12 f_57 -> f_69(x13, x14, 8 + x14, x15, 0, 3 + x13, 4191 + x14, 3, 4191, 8, 1, 4, 4192, 9) :|: x13 > 0 && x15 < 0 && x14 > 0 Start term: f_57 ---------------------------------------- (29) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_57_16,1) (f_80_16,2) (f_86_16,3) (f_69_16,4) ---------------------------------------- (30) Obligation: START: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := nondet(); oldX17 := nondet(); oldX18 := nondet(); oldX19 := nondet(); oldX20 := nondet(); oldX21 := nondet(); oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); oldX30 := nondet(); assume(oldX16 > 0); x0 := oldX16; x1 := 8 + oldX16; x2 := oldX17; x3 := oldX18; x4 := oldX19; x5 := oldX20; x6 := oldX21; x7 := oldX22; x8 := oldX23; x9 := oldX24; x10 := oldX25; x11 := oldX26; x12 := oldX27; x13 := oldX28; x14 := oldX29; x15 := oldX30; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := nondet(); oldX17 := nondet(); oldX18 := nondet(); oldX19 := nondet(); oldX20 := nondet(); assume(oldX2 < 0); x0 := oldX16; x1 := oldX0; x2 := oldX1; x3 := oldX2; x4 := 0; x5 := oldX17; x6 := oldX18; x7 := oldX19; x8 := oldX20; x9 := 3; x10 := 4191; x11 := 8; x12 := 1; x13 := 4; x14 := 4192; x15 := 9; TO: 3; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX30 := oldX2 - 1; oldX16 := nondet(); oldX17 := nondet(); oldX18 := nondet(); oldX19 := nondet(); oldX20 := nondet(); oldX21 := nondet(); oldX22 := nondet(); oldX23 := nondet(); oldX24 := nondet(); oldX25 := nondet(); oldX26 := nondet(); oldX27 := nondet(); oldX28 := nondet(); oldX29 := nondet(); assume(oldX30 > -2 && oldX1 = 8 + oldX0 && oldX2 = 1 + oldX30); x0 := oldX0; x1 := 8 + oldX0; x2 := oldX16; x3 := oldX17; x4 := oldX18; x5 := oldX19; x6 := oldX20; x7 := oldX21; x8 := oldX22; x9 := oldX23; x10 := oldX24; x11 := oldX25; x12 := oldX26; x13 := oldX27; x14 := oldX28; x15 := oldX29; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := x7; oldX8 := x8; oldX9 := x9; oldX10 := x10; oldX11 := x11; oldX12 := x12; oldX13 := x13; oldX14 := x14; oldX15 := x15; oldX16 := nondet(); oldX17 := nondet(); oldX18 := nondet(); oldX19 := nondet(); oldX20 := nondet(); assume(oldX16 > 0 && oldX18 < 0 && oldX17 > 0); x0 := oldX16; x1 := oldX17; x2 := 8 + oldX17; x3 := oldX18; x4 := 0; x5 := 3 + oldX16; x6 := 4191 + oldX17; x7 := 3; x8 := 4191; x9 := 8; x10 := 1; x11 := 4; x12 := 4192; x13 := 9; x14 := oldX19; x15 := oldX20; TO: 4; ---------------------------------------- (31) T2 (COMPLETE) Found this recurrent set for cutpoint 7: oldX0 == 1 and oldX16 == 1 and oldX17 == 1 and x0 == 1 and x1 == 9 and x2 == 1 ---------------------------------------- (32) NO