/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could be proven: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 178 ms] (2) LLVM problem (3) LLVMToTerminationGraphProof [EQUIVALENT, 7216 ms] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (6) AND (7) LLVM Symbolic Execution SCC (8) SCC2IRS [SOUND, 255 ms] (9) IntTRS (10) IRS2T2 [EQUIVALENT, 1 ms] (11) T2IntSys (12) T2 [EQUIVALENT, 684 ms] (13) YES (14) LLVM Symbolic Execution SCC (15) SCC2IRS [SOUND, 112 ms] (16) IntTRS (17) IRS2T2 [EQUIVALENT, 0 ms] (18) T2IntSys (19) T2 [EQUIVALENT, 1063 ms] (20) YES (21) LLVM Symbolic Execution SCC (22) SCC2IRS [SOUND, 93 ms] (23) IntTRS (24) IRS2T2 [EQUIVALENT, 4 ms] (25) T2IntSys (26) T2 [EQUIVALENT, 794 ms] (27) YES ---------------------------------------- (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: "malloc" returnParam: *i8 parameters: (i64) variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "__VERIFIER_nondet_String" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %length = alloca i32, align 4 %nondetString = alloca *i8, align 8 %1 = call i32 @__VERIFIER_nondet_int() store %1, %length %2 = load %length %3 = icmp slt %2 1 br %3, %4, %5 4: store 1, %length br %5 5: %6 = load %length %7 = sext i32 %6 to i64 %8 = mul %7 1 %9 = call *i8 @malloc(i64 %8) store %9, %nondetString %10 = load %length %11 = sub %10 1 %12 = sext i32 %11 to i64 %13 = load %nondetString %14 = getelementptr %13, %12 store 0, %14 %15 = load %nondetString ret %15 *BasicFunctionTypename: "cstrspn" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (s1 *i8, s2 *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %2 = alloca *i8, align 8 %3 = alloca *i8, align 8 %sc1 = alloca *i8, align 8 %s = alloca *i8, align 8 %c = alloca i32, align 4 store %s1, %2 store %s2, %3 %4 = load %2 store %4, %sc1 br %5 5: %6 = load %sc1 %7 = load %6 %8 = sext i8 %7 to i32 %9 = icmp ne %8 0 br %9, %10, %50 10: %11 = load %3 store %11, %s %12 = load %sc1 %13 = load %12 %14 = sext i8 %13 to i32 store %14, %c br %15 15: %16 = load %s %17 = load %16 %18 = sext i8 %17 to i32 %19 = icmp ne %18 0 br %19, %20, %28 20: %21 = load %s %22 = load %21 %23 = sext i8 %22 to i32 %24 = load %c %25 = trunc i32 %24 to i8 %26 = sext i8 %25 to i32 %27 = icmp ne %23 %26 br %28 28: %29 = phi [0, %15], [%27, %20] br %29, %30, %33 30: %31 = load %s %32 = getelementptr %31, 1 store %32, %s br %15 33: %34 = load %s %35 = load %34 %36 = sext i8 %35 to i32 %37 = load %c %38 = icmp ne %36 %37 br %38, %39, %46 39: %40 = load %sc1 %41 = load %2 %42 = ptrtoint *i8 %40 to i64 %43 = ptrtoint *i8 %41 to i64 %44 = sub %42 %43 %45 = trunc i64 %44 to i32 store %45, %1 br %57 46: br %47 47: %48 = load %sc1 %49 = getelementptr %48, 1 store %49, %sc1 br %5 50: %51 = load %sc1 %52 = load %2 %53 = ptrtoint *i8 %51 to i64 %54 = ptrtoint *i8 %52 to i64 %55 = sub %53 %54 %56 = trunc i64 %55 to i32 store %56, %1 br %57 57: %58 = load %1 ret %58 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 store 0, %1 %2 = call *i8 @__VERIFIER_nondet_String() %3 = call *i8 @__VERIFIER_nondet_String() %4 = call i32 @cstrspn(*i8 %2, *i8 %3) ret %4 Analyze Termination of all function calls matching the pattern: main() ---------------------------------------- (3) LLVMToTerminationGraphProof (EQUIVALENT) Constructed symbolic execution graph for LLVM program and proved memory safety. ---------------------------------------- (4) Obligation: SE Graph ---------------------------------------- (5) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 3 SCCs. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC ---------------------------------------- (8) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 73 rulesP rules: f_985(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3847, v3846, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_988(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3847, v3846, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: TRUE f_988(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3847, v3846, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_991(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: 0 = 0 f_991(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_994(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: v3881 != 0 && v3853 < v3857 && 3 <= v3857 f_994(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_998(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: 0 = 0 f_998(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_1002(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: TRUE f_1002(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_1006(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3847, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: 0 = 0 f_1006(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3847, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_1010(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3847, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: 0 = 0 f_1010(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3847, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_1014(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1014(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1018(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1018(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1022(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: TRUE f_1022(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3848, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1026(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1026(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1031(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: v3881 != v4217 f_1026(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1032(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: v3881 = v4217 f_1031(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1037(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1037(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1042(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1042(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1043(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3881, v4217, v3846, v3853, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, v3881, 3, 7, 2, 4, 8) :|: TRUE f_1043(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4539, v4540, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4557, v4558, 3, 7, 2, 4, 8) -> f_1048(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4539, v4540, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4557, v4558, 3, 7, 2, 4, 8) :|: TRUE f_1048(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4539, v4540, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4557, v4558, 3, 7, 2, 4, 8) -> f_1053(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4540, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4558, 3, 7, 2, 4, 8) :|: 0 = 0 f_1053(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4540, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4558, 3, 7, 2, 4, 8) -> f_1058(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4820, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4540, v4558, 3, 7, 2, 4, 8) :|: v4820 = 1 + v4536 && 2 <= v4820 f_1058(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4820, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4540, v4558, 3, 7, 2, 4, 8) -> f_1063(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4820, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4540, v4558, 3, 7, 2, 4, 8) :|: TRUE f_1063(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4820, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4540, v4558, 3, 7, 2, 4, 8) -> f_1068(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4820, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4540, v4558, 3, 7, 2, 4, 8) :|: TRUE f_1068(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4820, v4541, v4542, 0, v4544, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, v4539, v4557, v4540, v4558, 3, 7, 2, 4, 8) -> f_983(v4525, v4526, v4527, v4528, v4529, v4530, v4531, v4532, v4533, v4534, 1, v4536, v4537, v4538, v4541, v4542, 0, v4544, v4820, v4545, v4546, v4547, v4548, v4549, v4550, v4551, v4552, v4553, v4554, v4555, v4556, 3, 7, 2, 4, 8) :|: TRUE f_983(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3846, v3847, v3848, v3849, v3850, 0, v3852, v3853, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) -> f_985(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v3847, v3846, v3848, v3849, v3850, 0, v3852, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, 3, 7, 2, 4, 8) :|: 0 = 0 f_1032(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, v3849, v3850, 0, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1038(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, 0, v3849, v3850, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1038(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, 0, v3849, v3850, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1044(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, 0, v3849, v3850, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) :|: 0 = 0 f_1044(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, 0, v3849, v3850, v3852, v3846, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v3847, 3, 7, 2, 4, 8) -> f_1164(v3835, v3836, v3837, v3838, v3839, v3840, v3841, v3842, v3843, v3844, 1, v3853, v4217, 0, v3849, v3850, v3852, v3846, v3853, v3854, v3855, v3856, v3857, v3858, v3859, v3860, v3861, v3862, v3863, v3864, v3865, v4217, v3847, 3, 7, 2, 4, 8) :|: TRUE f_1164(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6744, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6762, 3, 7, 2, 4, 8) -> f_1165(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6744, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1165(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6744, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6762, 3, 7, 2, 4, 8) -> f_1166(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1166(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6762, 3, 7, 2, 4, 8) -> f_1167(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1167(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6762, 3, 7, 2, 4, 8) -> f_1168(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1168(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6745, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6762, 3, 7, 2, 4, 8) -> f_1169(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1169(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, v6742, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) -> f_1171(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) :|: v6742 = v6739 f_1171(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) -> f_1173(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1173(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) -> f_1175(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1175(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) -> f_1177(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1177(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6746, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6762, 3, 7, 2, 4, 8) -> f_1179(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1179(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1181(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6905, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: v6905 = 1 + v6738 && 3 <= v6905 f_1181(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6905, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1183(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6905, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1183(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6905, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1185(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6905, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1185(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6738, v6739, 1, v6741, 0, v6905, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1187(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6739, 1, v6738, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1187(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6739, 1, v6738, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1189(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, v6739, 1, v6738, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1189(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, v6739, 1, v6738, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1191(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1191(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1193(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: v6952 != 0 && v6905 < v6751 && 4 <= v6751 f_1193(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1196(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1196(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1198(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1198(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1200(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1200(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1202(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1202(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6738, v6739, v6741, 0, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1204(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6739, v6741, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1204(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6739, v6741, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1206(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6739, v6741, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1206(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6739, v6741, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1208(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: 0 = 0 f_1208(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1210(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1210(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1212(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) :|: TRUE f_1212(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6738, v6747, v6748, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6761, v6744, v6745, v6746, v6762, 3, 7, 2, 4, 8) -> f_1141(v6730, v6731, v6732, v6733, v6734, v6735, v6736, v6737, v6905, v6952, 1, v6741, v6739, 0, v6747, v6748, v6738, v6749, v6750, v6751, v6752, v6753, v6754, v6755, v6756, v6757, v6758, v6759, v6760, v6762, v6761, 3, 7, 2, 4, 8) :|: TRUE f_1141(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6163, v6164, v6165, 3, 7, 2, 4, 8) -> f_1143(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6147, v6146, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6163, v6164, v6165, 3, 7, 2, 4, 8) :|: 0 = 0 f_1143(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6147, v6146, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6163, v6164, v6165, 3, 7, 2, 4, 8) -> f_1145(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6147, v6146, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) :|: 0 = 0 f_1145(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6147, v6146, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) -> f_1147(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) :|: 0 = 0 f_1147(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) -> f_1149(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) :|: 0 = 0 f_1149(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) -> f_1150(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) :|: TRUE f_1150(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) -> f_1151(v6135, v6136, v6137, v6138, v6139, v6140, v6141, v6142, v6143, v6144, 1, v6163, v6146, v6147, 0, v6149, v6150, v6151, v6152, v6153, v6154, v6155, v6156, v6157, v6158, v6159, v6160, v6161, v6162, v6164, v6165, 3, 7, 2, 4, 8) :|: TRUE f_1151(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6428, v6429, 0, v6431, v6432, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1152(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1152(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1153(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1153(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1154(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1154(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1155(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1155(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1156(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: TRUE f_1156(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, v6429, 0, v6431, v6432, v6428, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1157(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1157(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1158(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: v6427 != v6447 f_1157(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1159(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: v6427 = v6447 f_1158(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1160(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1160(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1162(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, v6431, v6432, v6428, v6429, 0, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1162(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6427, v6447, v6431, v6432, v6428, v6429, 0, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1043(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6417, v6427, v6447, v6431, v6432, v6428, v6429, 0, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6427, v6445, v6446, 3, 7, 2, 4, 8) :|: TRUE f_1159(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1161(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1161(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1163(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) :|: 0 = 0 f_1163(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6447, 0, v6431, v6432, v6428, v6429, v6433, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6445, v6446, 3, 7, 2, 4, 8) -> f_1164(v6416, v6417, v6418, v6419, v6420, v6421, v6422, v6423, v6424, v6425, 1, v6417, v6447, 0, v6428, v6429, v6433, v6431, v6432, v6434, v6435, v6436, v6437, v6438, v6439, v6440, v6441, v6442, v6443, v6444, v6447, v6446, v6445, 3, 7, 2, 4, 8) :|: TRUE Combined rules. Obtained 12 rulesP rules: f_1157(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, v6424:0, v6425:0, 1, v6427:0, v6447:0, 0, v6431:0, v6432:0, v6428:0, v6429:0, v6433:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6445:0, v6446:0, 3, 7, 2, 4, 8) -> f_985(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, v6424:0, v6425:0, 1, 1 + v6417:0, v6427:0, v6417:0, v6447:0, v6428:0, v6429:0, 0, v6433:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6427:0, 3, 7, 2, 4, 8) :|: v6447:0 > v6427:0 && v6417:0 > 0 f_1157(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, v6424:0, v6425:0, 1, v6427:0, v6447:0, 0, v6431:0, v6432:0, v6428:0, v6429:0, v6433:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6445:0, v6446:0, 3, 7, 2, 4, 8) -> f_985(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, v6424:0, v6425:0, 1, 1 + v6417:0, v6427:0, v6417:0, v6447:0, v6428:0, v6429:0, 0, v6433:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6427:0, 3, 7, 2, 4, 8) :|: v6447:0 < v6427:0 && v6417:0 > 0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_1157(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, 1 + v3843:0, v6952:0, 1, v3865:0, v6447:0, 0, v3846:0, v3853:0, v3853:0, v3844:0, v3843:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3847:0, v3844:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3844:0 < 0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v3856:0 > 3 && v6952:0 < 0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_1157(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, 1 + v3843:0, v6952:0, 1, v3865:0, v6447:0, 0, v3846:0, v3853:0, v3853:0, v3844:0, v3843:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3847:0, v3844:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3844:0 < 0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v3856:0 > 3 && v6952:0 > 0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_1157(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, 1 + v3843:0, v6952:0, 1, v3865:0, v6447:0, 0, v3846:0, v3853:0, v3853:0, v3844:0, v3843:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3847:0, v3844:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3844:0 > 0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v3856:0 > 3 && v6952:0 < 0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_1157(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, 1 + v3843:0, v6952:0, 1, v3865:0, v6447:0, 0, v3846:0, v3853:0, v3853:0, v3844:0, v3843:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3847:0, v3844:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3844:0 > 0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v3856:0 > 3 && v6952:0 > 0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, 1 + v3853:0, v3881:0, v3853:0, v4217:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3881:0 < 0 && v3857:0 > 2 && v3853:0 > 0 && v4217:0 > v3881:0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, 1 + v3853:0, v3881:0, v3853:0, v4217:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3881:0 < 0 && v3857:0 > 2 && v3853:0 > 0 && v4217:0 < v3881:0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, 1 + v3853:0, v3881:0, v3853:0, v4217:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3881:0 > 0 && v3857:0 > 2 && v3853:0 > 0 && v4217:0 > v3881:0 f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, v3853:0, v3847:0, v3846:0, v3848:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) -> f_985(v3835:0, v3836:0, v3837:0, v3838:0, v3839:0, v3840:0, v3841:0, v3842:0, v3843:0, v3844:0, 1, 1 + v3853:0, v3881:0, v3853:0, v4217:0, v3849:0, v3850:0, 0, v3852:0, v3854:0, v3855:0, v3856:0, v3857:0, v3858:0, v3859:0, v3860:0, v3861:0, v3862:0, v3863:0, v3864:0, v3865:0, 3, 7, 2, 4, 8) :|: v3857:0 > v3853:0 && v3881:0 > 0 && v3857:0 > 2 && v3853:0 > 0 && v4217:0 < v3881:0 f_1157(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, v6424:0, v6425:0, 1, v6425:0, v6425:0, 0, v6431:0, v6432:0, v6428:0, v6429:0, v6433:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6445:0, v6446:0, 3, 7, 2, 4, 8) -> f_1157(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, 1 + v6424:0, v6952:0, 1, v6425:0, v6447:1, 0, v6431:0, v6432:0, v6417:0, v6425:0, v6424:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6445:0, v6446:0, 3, 7, 2, 4, 8) :|: v6424:0 > 1 && v6436:0 > 1 + v6424:0 && v6436:0 > 3 && v6952:0 < 0 f_1157(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, v6424:0, v6425:0, 1, v6425:0, v6425:0, 0, v6431:0, v6432:0, v6428:0, v6429:0, v6433:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6445:0, v6446:0, 3, 7, 2, 4, 8) -> f_1157(v6416:0, v6417:0, v6418:0, v6419:0, v6420:0, v6421:0, v6422:0, v6423:0, 1 + v6424:0, v6952:0, 1, v6425:0, v6447:1, 0, v6431:0, v6432:0, v6417:0, v6425:0, v6424:0, v6434:0, v6435:0, v6436:0, v6437:0, v6438:0, v6439:0, v6440:0, v6441:0, v6442:0, v6443:0, v6444:0, v6445:0, v6446:0, 3, 7, 2, 4, 8) :|: v6424:0 > 1 && v6436:0 > 1 + v6424:0 && v6436:0 > 3 && v6952:0 > 0 Filtered unneeded arguments: f_1157(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37) -> f_1157(x2, x9, x10, x12, x13, x22, x23) f_985(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36) -> f_985(x2, x9, x10, x12, x22, x23, x31) Removed division, modulo operations, cleaned up constraints. Obtained 9 rules.P rules: f_1157(v6417:0, v6424:0, v6425:0, v6427:0, v6447:0, v6436:0, v6437:0) -> f_985(v6417:0, v6424:0, v6425:0, 1 + v6417:0, v6436:0, v6437:0, v6427:0) :|: v6447:0 > v6427:0 && v6417:0 > 0 f_1157(v6417:0, v6424:0, v6425:0, v6427:0, v6447:0, v6436:0, v6437:0) -> f_985(v6417:0, v6424:0, v6425:0, 1 + v6417:0, v6436:0, v6437:0, v6427:0) :|: v6447:0 < v6427:0 && v6417:0 > 0 f_985(v3836:0, v3843:0, v3844:0, v3853:0, v3856:0, v3857:0, v3865:0) -> f_1157(v3836:0, 1 + v3843:0, v6952:0, v3865:0, v6447:0, v3856:0, v3857:0) :|: v3844:0 < 0 && v3857:0 > v3853:0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v6952:0 < 0 && v3856:0 > 3 f_985(v3836:0, v3843:0, v3844:0, v3853:0, v3856:0, v3857:0, v3865:0) -> f_1157(v3836:0, 1 + v3843:0, v6952:0, v3865:0, v6447:0, v3856:0, v3857:0) :|: v3844:0 < 0 && v3857:0 > v3853:0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v6952:0 > 0 && v3856:0 > 3 f_985(v3836:0, v3843:0, v3844:0, v3853:0, v3856:0, v3857:0, v3865:0) -> f_1157(v3836:0, 1 + v3843:0, v6952:0, v3865:0, v6447:0, v3856:0, v3857:0) :|: v3844:0 > 0 && v3857:0 > v3853:0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v6952:0 < 0 && v3856:0 > 3 f_985(v3836:0, v3843:0, v3844:0, v3853:0, v3856:0, v3857:0, v3865:0) -> f_1157(v3836:0, 1 + v3843:0, v6952:0, v3865:0, v6447:0, v3856:0, v3857:0) :|: v3844:0 > 0 && v3857:0 > v3853:0 && v3857:0 > 2 && v3843:0 > 1 && v3856:0 > 1 + v3843:0 && v6952:0 > 0 && v3856:0 > 3 f_985(v3836:0, v3843:0, v3844:0, v3853:0, v3856:0, v3857:0, v3865:0) -> f_985(v3836:0, v3843:0, v3844:0, 1 + v3853:0, v3856:0, v3857:0, v3865:0) :|: v3857:0 > 2 && v3853:0 > 0 && v3857:0 > v3853:0 f_1157(v6417:0, v6424:0, v6425:0, v6425:01, v6425:02, v6436:0, v6437:0) -> f_1157(v6417:0, 1 + v6424:0, v6952:0, v6425:0, v6447:1, v6436:0, v6437:0) :|: v6436:0 > 1 + v6424:0 && v6424:0 > 1 && v6952:0 < 0 && v6436:0 > 3 && v6425:0 = v6425:01 && v6425:0 = v6425:02 f_1157(v6417:0, v6424:0, v6425:0, v6425:01, v6425:02, v6436:0, v6437:0) -> f_1157(v6417:0, 1 + v6424:0, v6952:0, v6425:0, v6447:1, v6436:0, v6437:0) :|: v6436:0 > 1 + v6424:0 && v6424:0 > 1 && v6952:0 > 0 && v6436:0 > 3 && v6425:0 = v6425:01 && v6425:0 = v6425:02 ---------------------------------------- (9) Obligation: Rules: f_1157(v6417:0, v6424:0, v6425:0, v6427:0, v6447:0, v6436:0, v6437:0) -> f_985(v6417:0, v6424:0, v6425:0, 1 + v6417:0, v6436:0, v6437:0, v6427:0) :|: v6447:0 > v6427:0 && v6417:0 > 0 f_1157(x, x1, x2, x3, x4, x5, x6) -> f_985(x, x1, x2, 1 + x, x5, x6, x3) :|: x4 < x3 && x > 0 f_985(x7, x8, x9, x10, x11, x12, x13) -> f_1157(x7, 1 + x8, x14, x13, x15, x11, x12) :|: x9 < 0 && x12 > x10 && x12 > 2 && x8 > 1 && x11 > 1 + x8 && x14 < 0 && x11 > 3 f_985(x16, x17, x18, x19, x20, x21, x22) -> f_1157(x16, 1 + x17, x23, x22, x24, x20, x21) :|: x18 < 0 && x21 > x19 && x21 > 2 && x17 > 1 && x20 > 1 + x17 && x23 > 0 && x20 > 3 f_985(x25, x26, x27, x28, x29, x30, x31) -> f_1157(x25, 1 + x26, x32, x31, x33, x29, x30) :|: x27 > 0 && x30 > x28 && x30 > 2 && x26 > 1 && x29 > 1 + x26 && x32 < 0 && x29 > 3 f_985(x34, x35, x36, x37, x38, x39, x40) -> f_1157(x34, 1 + x35, x41, x40, x42, x38, x39) :|: x36 > 0 && x39 > x37 && x39 > 2 && x35 > 1 && x38 > 1 + x35 && x41 > 0 && x38 > 3 f_985(v3836:0, v3843:0, v3844:0, v3853:0, v3856:0, v3857:0, v3865:0) -> f_985(v3836:0, v3843:0, v3844:0, 1 + v3853:0, v3856:0, v3857:0, v3865:0) :|: v3857:0 > 2 && v3853:0 > 0 && v3857:0 > v3853:0 f_1157(x43, x44, x45, x46, x47, x48, x49) -> f_1157(x43, 1 + x44, x50, x45, x51, x48, x49) :|: x48 > 1 + x44 && x44 > 1 && x50 < 0 && x48 > 3 && x45 = x46 && x45 = x47 f_1157(x52, x53, x54, x55, x56, x57, x58) -> f_1157(x52, 1 + x53, x59, x54, x60, x57, x58) :|: x57 > 1 + x53 && x53 > 1 && x59 > 0 && x57 > 3 && x54 = x55 && x54 = x56 ---------------------------------------- (10) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_1157_7,1) (f_985_7,2) ---------------------------------------- (11) Obligation: START: 0; FROM: 0; TO: 1; FROM: 0; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; assume(oldX4 > oldX3 && oldX0 > 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := 1 + oldX0; x4 := oldX5; x5 := oldX6; x6 := oldX3; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; assume(oldX4 < oldX3 && oldX0 > 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := 1 + oldX0; x4 := oldX5; x5 := oldX6; x6 := oldX3; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); oldX8 := nondet(); assume(oldX2 < 0 && oldX5 > oldX3 && oldX5 > 2 && oldX1 > 1 && oldX4 > 1 + oldX1 && oldX7 < 0 && oldX4 > 3); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := oldX6; x4 := oldX8; x5 := oldX4; x6 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); oldX8 := nondet(); assume(oldX2 < 0 && oldX5 > oldX3 && oldX5 > 2 && oldX1 > 1 && oldX4 > 1 + oldX1 && oldX7 > 0 && oldX4 > 3); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := oldX6; x4 := oldX8; x5 := oldX4; x6 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); oldX8 := nondet(); assume(oldX2 > 0 && oldX5 > oldX3 && oldX5 > 2 && oldX1 > 1 && oldX4 > 1 + oldX1 && oldX7 < 0 && oldX4 > 3); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := oldX6; x4 := oldX8; x5 := oldX4; x6 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); oldX8 := nondet(); assume(oldX2 > 0 && oldX5 > oldX3 && oldX5 > 2 && oldX1 > 1 && oldX4 > 1 + oldX1 && oldX7 > 0 && oldX4 > 3); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := oldX6; x4 := oldX8; x5 := oldX4; x6 := oldX5; TO: 1; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; assume(oldX5 > 2 && oldX3 > 0 && oldX5 > oldX3); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := 1 + oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 2; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); oldX8 := nondet(); assume(oldX5 > 1 + oldX1 && oldX1 > 1 && oldX7 < 0 && oldX5 > 3 && oldX2 = oldX3 && oldX2 = oldX4); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := oldX2; x4 := oldX8; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); oldX8 := nondet(); assume(oldX5 > 1 + oldX1 && oldX1 > 1 && oldX7 > 0 && oldX5 > 3 && oldX2 = oldX3 && oldX2 = oldX4); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := oldX2; x4 := oldX8; x5 := oldX5; x6 := oldX6; TO: 1; ---------------------------------------- (12) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 2, 5, 6, 7, 8, 20, 23, 24, 25, 26, 27 using the following rank functions: - Rank function 1: RF for loc. 6: 3-4*x1+4*x5 RF for loc. 7: -4*x1+4*x4 RF for loc. 8: 2-4*x1+4*x5 RF for loc. 12: -4*x1+4*x4 Bound for (chained) transitions 7: 10 Bound for (chained) transitions 8: 10 Bound for (chained) transitions 23: 8 Bound for (chained) transitions 24: 8 Bound for (chained) transitions 25: 8 Bound for (chained) transitions 26: 8 - Rank function 2: RF for loc. 6: -2-2*x0+3*x6 RF for loc. 7: -3*x3+3*x5 RF for loc. 8: -3-2*x0+3*x6 RF for loc. 12: -1-3*x3+3*x5 Bound for (chained) transitions 27: 2 - Rank function 3: RF for loc. 6: 2 RF for loc. 7: 0 RF for loc. 8: 1 RF for loc. 12: -1 Bound for (chained) transitions 2: 2 Bound for (chained) transitions 5: 1 Bound for (chained) transitions 6: 1 Bound for (chained) transitions 20: 0 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: SCC ---------------------------------------- (15) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 41 rulesP rules: f_772(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1825, 1, v1824, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_774(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, v1825, 1, v1824, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_774(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, v1825, 1, v1824, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_776(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_776(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_778(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: v1850 != 0 && v1828 < v1831 && 3 <= v1831 f_778(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_782(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_782(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_786(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_786(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_790(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_790(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_794(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_794(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1824, v1825, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_798(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_798(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_802(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_802(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_806(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_806(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_810(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_810(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_815(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_815(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_820(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_820(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_825(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_825(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_831(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_831(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_837(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_837(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_842(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_842(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_847(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_847(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_853(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_853(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_855(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_855(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_857(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_857(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_859(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_859(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_862(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_862(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v1825, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_866(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: v1825 = v2522 f_866(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_870(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_870(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_874(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_874(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_878(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_878(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_882(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_882(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_886(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_886(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_890(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_890(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_894(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_894(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, v2522, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_899(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: v2522 = v1850 f_899(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_904(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 f_904(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_909(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_909(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_915(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_915(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1824, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_920(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) :|: 0 = 0 f_920(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) -> f_925(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) :|: v3019 = 1 + v1828 && 3 <= v3019 f_925(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) -> f_930(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) :|: TRUE f_930(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) -> f_935(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) :|: TRUE f_935(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, v1824, 3, 7, 2, 4, 8) -> f_770(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1850, 1, 0, v3019, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: TRUE f_770(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1824, v1825, 1, 0, v1828, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) -> f_772(v1816, v1817, v1818, v1819, v1820, v1821, v1822, v1823, v1828, v1825, 1, v1824, 0, v1829, v1830, v1831, v1832, v1833, v1834, v1835, v1836, v1837, v1838, 3, 7, 2, 4, 8) :|: 0 = 0 Combined rules. Obtained 2 rulesP rules: f_772(v1816:0, v1817:0, v1818:0, v1819:0, v1820:0, v1821:0, v1822:0, v1823:0, v1828:0, v1825:0, 1, v1824:0, 0, v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1837:0, v1838:0, 3, 7, 2, 4, 8) -> f_772(v1816:0, v1817:0, v1818:0, v1819:0, v1820:0, v1821:0, v1822:0, v1823:0, 1 + v1828:0, v1825:0, 1, v1828:0, 0, v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1837:0, v1838:0, 3, 7, 2, 4, 8) :|: v1831:0 > v1828:0 && v1825:0 < 0 && v1828:0 > 1 && v1831:0 > 2 f_772(v1816:0, v1817:0, v1818:0, v1819:0, v1820:0, v1821:0, v1822:0, v1823:0, v1828:0, v1825:0, 1, v1824:0, 0, v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1837:0, v1838:0, 3, 7, 2, 4, 8) -> f_772(v1816:0, v1817:0, v1818:0, v1819:0, v1820:0, v1821:0, v1822:0, v1823:0, 1 + v1828:0, v1825:0, 1, v1828:0, 0, v1829:0, v1830:0, v1831:0, v1832:0, v1833:0, v1834:0, v1835:0, v1836:0, v1837:0, v1838:0, 3, 7, 2, 4, 8) :|: v1831:0 > v1828:0 && v1825:0 > 0 && v1828:0 > 1 && v1831:0 > 2 Filtered unneeded arguments: f_772(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) -> f_772(x9, x10, x16) Removed division, modulo operations, cleaned up constraints. Obtained 2 rules.P rules: f_772(v1828:0, v1825:0, v1831:0) -> f_772(1 + v1828:0, v1825:0, v1831:0) :|: v1825:0 < 0 && v1831:0 > v1828:0 && v1831:0 > 2 && v1828:0 > 1 f_772(v1828:0, v1825:0, v1831:0) -> f_772(1 + v1828:0, v1825:0, v1831:0) :|: v1825:0 > 0 && v1831:0 > v1828:0 && v1831:0 > 2 && v1828:0 > 1 ---------------------------------------- (16) Obligation: Rules: f_772(v1828:0, v1825:0, v1831:0) -> f_772(1 + v1828:0, v1825:0, v1831:0) :|: v1825:0 < 0 && v1831:0 > v1828:0 && v1831:0 > 2 && v1828:0 > 1 f_772(x, x1, x2) -> f_772(1 + x, x1, x2) :|: x1 > 0 && x2 > x && x2 > 2 && x > 1 ---------------------------------------- (17) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_772_3,1) ---------------------------------------- (18) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; assume(oldX1 < 0 && oldX2 > oldX0 && oldX2 > 2 && oldX0 > 1); x0 := 1 + oldX0; x1 := oldX1; x2 := oldX2; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; assume(oldX1 > 0 && oldX2 > oldX0 && oldX2 > 2 && oldX0 > 1); x0 := 1 + oldX0; x1 := oldX1; x2 := oldX2; TO: 1; ---------------------------------------- (19) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 1, 4, 5 using the following rank functions: - Rank function 1: RF for loc. 5: 1-2*x0+2*x2 RF for loc. 6: -2*x0+2*x2 Bound for (chained) transitions 4: 2 Bound for (chained) transitions 5: 2 - Rank function 2: RF for loc. 5: 1 RF for loc. 6: 0 Bound for (chained) transitions 1: 1 ---------------------------------------- (20) YES ---------------------------------------- (21) Obligation: SCC ---------------------------------------- (22) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 21 rulesP rules: f_556(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v654, v653, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_560(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v654, v653, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: TRUE f_560(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v654, v653, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_564(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_564(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_568(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: v710 != 0 && v656 < v660 && 3 <= v660 f_568(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_574(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_574(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_580(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: TRUE f_580(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v653, v654, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_586(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v654, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_586(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v654, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_592(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v654, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_592(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v654, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_599(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_599(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_602(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_602(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_605(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: TRUE f_605(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v655, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_608(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_608(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_612(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: v710 != v958 f_612(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_617(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_617(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_622(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_622(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_627(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) :|: TRUE f_627(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v653, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v654, 0, 3, 7, 2, 4, 8) -> f_632(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) :|: 0 = 0 f_632(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) -> f_637(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) :|: v1072 = 1 + v656 && 3 <= v1072 f_637(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) -> f_642(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) :|: TRUE f_642(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) -> f_647(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) :|: TRUE f_647(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, v653, v654, 0, 3, 7, 2, 4, 8) -> f_553(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v710, v958, v1072, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: TRUE f_553(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v653, v654, v655, v656, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) -> f_556(v643, v644, v645, v646, v647, v648, v649, v650, v651, 1, v656, v654, v653, v655, v657, v658, v659, v660, v661, v662, v663, v664, v665, v666, v667, 0, 3, 7, 2, 4, 8) :|: 0 = 0 Combined rules. Obtained 4 rulesP rules: f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, v656:0, v654:0, v653:0, v655:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) -> f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, 1 + v656:0, v710:0, v656:0, v958:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) :|: v660:0 > v656:0 && v710:0 < 0 && v660:0 > 2 && v656:0 > 1 && v958:0 > v710:0 f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, v656:0, v654:0, v653:0, v655:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) -> f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, 1 + v656:0, v710:0, v656:0, v958:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) :|: v660:0 > v656:0 && v710:0 < 0 && v660:0 > 2 && v656:0 > 1 && v958:0 < v710:0 f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, v656:0, v654:0, v653:0, v655:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) -> f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, 1 + v656:0, v710:0, v656:0, v958:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) :|: v660:0 > v656:0 && v710:0 > 0 && v660:0 > 2 && v656:0 > 1 && v958:0 > v710:0 f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, v656:0, v654:0, v653:0, v655:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) -> f_556(v643:0, v644:0, v645:0, v646:0, v647:0, v648:0, v649:0, v650:0, v651:0, 1, 1 + v656:0, v710:0, v656:0, v958:0, v657:0, v658:0, v659:0, v660:0, v661:0, v662:0, v663:0, v664:0, v665:0, v666:0, v667:0, 0, 3, 7, 2, 4, 8) :|: v660:0 > v656:0 && v710:0 > 0 && v660:0 > 2 && v656:0 > 1 && v958:0 < v710:0 Filtered unneeded arguments: f_556(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) -> f_556(x11, x18) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_556(v656:0, v660:0) -> f_556(1 + v656:0, v660:0) :|: v660:0 > 2 && v656:0 > 1 && v660:0 > v656:0 ---------------------------------------- (23) Obligation: Rules: f_556(v656:0, v660:0) -> f_556(1 + v656:0, v660:0) :|: v660:0 > 2 && v656:0 > 1 && v660:0 > v656:0 ---------------------------------------- (24) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_556_2,1) ---------------------------------------- (25) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; assume(oldX1 > 2 && oldX0 > 1 && oldX1 > oldX0); x0 := 1 + oldX0; x1 := oldX1; TO: 1; ---------------------------------------- (26) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 1, 3, 4 using the following rank functions: - Rank function 1: RF for loc. 5: 1-2*x0+2*x1 RF for loc. 6: -2*x0+2*x1 Bound for (chained) transitions 3: 2 Bound for (chained) transitions 4: 2 - Rank function 2: RF for loc. 5: 0 RF for loc. 6: -1 Bound for (chained) transitions 1: 0 ---------------------------------------- (27) YES