/export/starexec/sandbox/solver/bin/starexec_run_c /export/starexec/sandbox/benchmark/theBenchmark.c /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/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, 16.4 s] (4) LLVM Symbolic Execution Graph (5) SymbolicExecutionGraphToSCCProof [SOUND, 0 ms] (6) AND (7) LLVM Symbolic Execution SCC (8) SCC2IRS [SOUND, 179 ms] (9) IntTRS (10) IRS2T2 [EQUIVALENT, 0 ms] (11) T2IntSys (12) T2 [EQUIVALENT, 973 ms] (13) YES (14) LLVM Symbolic Execution SCC (15) SCC2IRS [SOUND, 140 ms] (16) IntTRS (17) IntTRSCompressionProof [EQUIVALENT, 1 ms] (18) IntTRS (19) PolynomialOrderProcessor [EQUIVALENT, 6 ms] (20) YES ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox/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: "cstrpbrk" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: (s1 *i8, s2 *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca *i8, align 8 %2 = alloca *i8, align 8 %3 = alloca *i8, align 8 %scanp = alloca *i8, align 8 %c = alloca i32, align 4 %sc = alloca i32, align 4 store %s1, %2 store %s2, %3 br %4 4: %5 = load %2 %6 = getelementptr %5, 1 store %6, %2 %7 = load %5 %8 = sext i8 %7 to i32 store %8, %c %9 = icmp ne %8 0 br %9, %10, %27 10: %11 = load %3 store %11, %scanp br %12 12: %13 = load %scanp %14 = getelementptr %13, 1 store %14, %scanp %15 = load %13 %16 = sext i8 %15 to i32 store %16, %sc %17 = icmp ne %16 0 br %17, %18, %26 18: %19 = load %sc %20 = load %c %21 = icmp eq %19 %20 br %21, %22, %25 22: %23 = load %2 %24 = getelementptr %23, -1 store %24, %1 br %28 25: br %12 26: br %4 27: store null, %1 br %28 28: %29 = load %1 ret %29 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %length1 = alloca i32, align 4 %length2 = alloca i32, align 4 %nondetString1 = alloca *i8, align 8 %nondetString2 = alloca *i8, align 8 store 0, %1 %2 = call i32 @__VERIFIER_nondet_int() store %2, %length1 %3 = call i32 @__VERIFIER_nondet_int() store %3, %length2 %4 = load %length1 %5 = icmp slt %4 1 br %5, %6, %7 6: store 1, %length1 br %7 7: %8 = load %length2 %9 = icmp slt %8 1 br %9, %10, %11 10: store 1, %length2 br %11 11: %12 = load %length1 %13 = sext i32 %12 to i64 %14 = mul %13 1 %15 = alloca i8, numElementsLit: %14 store %15, %nondetString1 %16 = load %length2 %17 = sext i32 %16 to i64 %18 = mul %17 1 %19 = alloca i8, numElementsLit: %18 store %19, %nondetString2 %20 = load %length1 %21 = sub %20 1 %22 = sext i32 %21 to i64 %23 = load %nondetString1 %24 = getelementptr %23, %22 store 0, %24 %25 = load %length2 %26 = sub %25 1 %27 = sext i32 %26 to i64 %28 = load %nondetString2 %29 = getelementptr %28, %27 store 0, %29 %30 = load %nondetString1 %31 = load %nondetString2 %32 = call *i8 @cstrpbrk(*i8 %30, *i8 %31) 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) SymbolicExecutionGraphToSCCProof (SOUND) Splitted symbolic execution graph to 2 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 42 rulesP rules: f_873(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_874(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: v3230 = 1 + v3188 && 3 <= v3230 f_874(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_875(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_875(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_876(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_876(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_877(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_877(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_878(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_878(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_879(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: v3232 != 0 && v3188 < v3201 && 3 <= v3201 f_878(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_880(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: v3232 = 0 f_879(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_881(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_881(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_883(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_883(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_928(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, v3232, v3189, v3185, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3196, v3197, v3678, v3680, 3, 7, 2, 4, 8) :|: TRUE f_928(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, v3668, v3669, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_929(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, v3669, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) :|: 0 = 0 f_929(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, v3669, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_930(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) :|: 0 = 0 f_930(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_932(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) :|: v3667 != v3663 f_932(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_934(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) :|: 0 = 0 f_934(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_936(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) :|: TRUE f_936(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_938(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) :|: TRUE f_938(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3678, v3680, 3, 7, 2, 4, 8) -> f_872(v3653, v3654, v3655, v3656, v3657, v3658, v3659, v3660, v3661, v3662, v3663, 1, v3665, v3666, v3667, 0, v3671, v3682, v3672, v3683, v3673, v3684, v3674, v3685, v3675, v3686, v3679, v3681, v3687, v3688, v3689, v3690, v3691, v3692, v3693, v3694, v3676, v3677, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_872(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3187, v3188, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_873(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3189, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_880(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_882(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_882(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_884(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_884(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_886(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_886(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3183, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_888(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_888(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_891(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: v3302 = 1 + v3184 && 3 <= v3302 f_891(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_894(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_894(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_897(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_897(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, v3185, 1, v3188, v3230, 0, v3189, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_900(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_900(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_902(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_902(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_904(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: v3304 != 0 && v3184 < v3199 && 3 <= v3199 f_904(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_907(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_907(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_910(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_910(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_913(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_913(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_915(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_915(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_917(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_917(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3188, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3198, v3200, 3, 7, 2, 4, 8) -> f_919(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_919(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3230, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_921(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: v3650 = 1 + v3176 && 2 <= v3650 f_921(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_922(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_922(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_923(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_923(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_924(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_924(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_925(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_925(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, 0, v3189, v3185, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_926(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, v3189, v3185, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: 0 = 0 f_926(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, v3189, v3185, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_927(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, v3189, v3185, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) :|: TRUE f_927(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3650, v3214, v3189, v3185, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3183, v3187, v3196, v3197, v3188, v3198, v3200, 3, 7, 2, 4, 8) -> f_928(v3175, v3176, v3177, v3178, v3179, v3180, v3181, v3182, v3184, v3302, v3304, 1, v3176, v3650, v3214, v3189, v3185, 0, v3191, v3202, v3192, v3203, v3193, v3204, v3194, v3205, v3195, v3206, v3199, v3201, v3207, v3208, v3209, v3210, v3211, v3212, v3213, v3214, v3196, v3197, v3678, v3680, 3, 7, 2, 4, 8) :|: TRUE Combined rules. Obtained 8 rulesP rules: f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, 1 + v3188:0, v3232:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3188:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3201:0 > v3188:0 && v3232:0 < 0 && v3232:0 < v3185:0 && v3201:0 > 2 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, 1 + v3188:0, v3232:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3188:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3201:0 > v3188:0 && v3232:0 < 0 && v3232:0 > v3185:0 && v3201:0 > 2 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, 1 + v3188:0, v3232:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3188:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3201:0 > v3188:0 && v3232:0 > 0 && v3232:0 < v3185:0 && v3201:0 > 2 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, 1 + v3188:0, v3232:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3188:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3201:0 > v3188:0 && v3232:0 > 0 && v3232:0 > v3185:0 && v3201:0 > 2 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3184:0, 1 + v3184:0, v3304:0, 1, 1 + v3176:0, v3214:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3176:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3184:0 > 1 && v3199:0 > v3184:0 && v3304:0 < 0 && v3199:0 > 2 && v3304:0 > v3214:0 && v3176:0 > 0 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3184:0, 1 + v3184:0, v3304:0, 1, 1 + v3176:0, v3214:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3176:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3184:0 > 1 && v3199:0 > v3184:0 && v3304:0 < 0 && v3199:0 > 2 && v3304:0 < v3214:0 && v3176:0 > 0 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3184:0, 1 + v3184:0, v3304:0, 1, 1 + v3176:0, v3214:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3176:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3184:0 > 1 && v3199:0 > v3184:0 && v3304:0 > 0 && v3199:0 > 2 && v3304:0 > v3214:0 && v3176:0 > 0 f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3183:0, v3184:0, v3185:0, 1, v3188:0, v3189:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3187:0, v3196:0, v3197:0, v3198:0, v3200:0, 3, 7, 2, 4, 8) -> f_873(v3175:0, v3176:0, v3177:0, v3178:0, v3179:0, v3180:0, v3181:0, v3182:0, v3184:0, 1 + v3184:0, v3304:0, 1, 1 + v3176:0, v3214:0, 0, v3191:0, v3202:0, v3192:0, v3203:0, v3193:0, v3204:0, v3194:0, v3205:0, v3195:0, v3206:0, v3199:0, v3201:0, v3207:0, v3208:0, v3209:0, v3210:0, v3211:0, v3212:0, v3213:0, v3214:0, v3176:0, v3196:0, v3197:0, v3198:1, v3200:1, 3, 7, 2, 4, 8) :|: v3188:0 > 1 && v3184:0 > 1 && v3199:0 > v3184:0 && v3304:0 > 0 && v3199:0 > 2 && v3304:0 < v3214:0 && v3176:0 > 0 Filtered unneeded arguments: f_873(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45) -> f_873(x2, x10, x11, x13, x26, x27, x35) Removed division, modulo operations, cleaned up constraints. Obtained 5 rules.P rules: f_873(v3176:0, v3184:0, v3185:0, v3188:0, v3199:0, v3201:0, v3214:0) -> f_873(v3176:0, v3184:0, v3185:0, 1 + v3188:0, v3199:0, v3201:0, v3214:0) :|: v3201:0 > v3188:0 && v3201:0 > 2 && v3188:0 > 1 f_873(v3176:0, v3184:0, v3185:0, v3188:0, v3199:0, v3201:0, v3214:0) -> f_873(v3176:0, 1 + v3184:0, v3304:0, 1 + v3176:0, v3199:0, v3201:0, v3214:0) :|: v3184:0 > 1 && v3188:0 > 1 && v3199:0 > v3184:0 && v3304:0 < 0 && v3199:0 > 2 && v3176:0 > 0 && v3304:0 > v3214:0 f_873(v3176:0, v3184:0, v3185:0, v3188:0, v3199:0, v3201:0, v3214:0) -> f_873(v3176:0, 1 + v3184:0, v3304:0, 1 + v3176:0, v3199:0, v3201:0, v3214:0) :|: v3184:0 > 1 && v3188:0 > 1 && v3199:0 > v3184:0 && v3304:0 < 0 && v3199:0 > 2 && v3176:0 > 0 && v3304:0 < v3214:0 f_873(v3176:0, v3184:0, v3185:0, v3188:0, v3199:0, v3201:0, v3214:0) -> f_873(v3176:0, 1 + v3184:0, v3304:0, 1 + v3176:0, v3199:0, v3201:0, v3214:0) :|: v3184:0 > 1 && v3188:0 > 1 && v3199:0 > v3184:0 && v3304:0 > 0 && v3199:0 > 2 && v3176:0 > 0 && v3304:0 > v3214:0 f_873(v3176:0, v3184:0, v3185:0, v3188:0, v3199:0, v3201:0, v3214:0) -> f_873(v3176:0, 1 + v3184:0, v3304:0, 1 + v3176:0, v3199:0, v3201:0, v3214:0) :|: v3184:0 > 1 && v3188:0 > 1 && v3199:0 > v3184:0 && v3304:0 > 0 && v3199:0 > 2 && v3176:0 > 0 && v3304:0 < v3214:0 ---------------------------------------- (9) Obligation: Rules: f_873(v3176:0, v3184:0, v3185:0, v3188:0, v3199:0, v3201:0, v3214:0) -> f_873(v3176:0, v3184:0, v3185:0, 1 + v3188:0, v3199:0, v3201:0, v3214:0) :|: v3201:0 > v3188:0 && v3201:0 > 2 && v3188:0 > 1 f_873(x, x1, x2, x3, x4, x5, x6) -> f_873(x, 1 + x1, x7, 1 + x, x4, x5, x6) :|: x1 > 1 && x3 > 1 && x4 > x1 && x7 < 0 && x4 > 2 && x > 0 && x7 > x6 f_873(x8, x9, x10, x11, x12, x13, x14) -> f_873(x8, 1 + x9, x15, 1 + x8, x12, x13, x14) :|: x9 > 1 && x11 > 1 && x12 > x9 && x15 < 0 && x12 > 2 && x8 > 0 && x15 < x14 f_873(x16, x17, x18, x19, x20, x21, x22) -> f_873(x16, 1 + x17, x23, 1 + x16, x20, x21, x22) :|: x17 > 1 && x19 > 1 && x20 > x17 && x23 > 0 && x20 > 2 && x16 > 0 && x23 > x22 f_873(x24, x25, x26, x27, x28, x29, x30) -> f_873(x24, 1 + x25, x31, 1 + x24, x28, x29, x30) :|: x25 > 1 && x27 > 1 && x28 > x25 && x31 > 0 && x28 > 2 && x24 > 0 && x31 < x30 ---------------------------------------- (10) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f_873_7,1) ---------------------------------------- (11) Obligation: START: 0; FROM: 0; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; assume(oldX5 > oldX3 && oldX5 > 2 && oldX3 > 1); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := 1 + oldX3; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); assume(oldX1 > 1 && oldX3 > 1 && oldX4 > oldX1 && oldX7 < 0 && oldX4 > 2 && oldX0 > 0 && oldX7 > oldX6); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := 1 + oldX0; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); assume(oldX1 > 1 && oldX3 > 1 && oldX4 > oldX1 && oldX7 < 0 && oldX4 > 2 && oldX0 > 0 && oldX7 < oldX6); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := 1 + oldX0; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); assume(oldX1 > 1 && oldX3 > 1 && oldX4 > oldX1 && oldX7 > 0 && oldX4 > 2 && oldX0 > 0 && oldX7 > oldX6); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := 1 + oldX0; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := x4; oldX5 := x5; oldX6 := x6; oldX7 := nondet(); assume(oldX1 > 1 && oldX3 > 1 && oldX4 > oldX1 && oldX7 > 0 && oldX4 > 2 && oldX0 > 0 && oldX7 < oldX6); x0 := oldX0; x1 := 1 + oldX1; x2 := oldX7; x3 := 1 + oldX0; x4 := oldX4; x5 := oldX5; x6 := oldX6; TO: 1; ---------------------------------------- (12) T2 (EQUIVALENT) Initially, performed program simplifications using lexicographic rank functions: * Removed transitions 1, 4, 5, 6, 7, 8 using the following rank functions: - Rank function 1: RF for loc. 5: -x1+x4 RF for loc. 6: -x1+x4 Bound for (chained) transitions 5: 1 Bound for (chained) transitions 6: 1 Bound for (chained) transitions 7: 1 Bound for (chained) transitions 8: 1 - Rank function 2: RF for loc. 5: -2*x3+2*x5 RF for loc. 6: -1-2*x3+2*x5 Bound for (chained) transitions 4: 1 - Rank function 3: RF for loc. 5: 1 RF for loc. 6: 0 Bound for (chained) transitions 1: 1 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: SCC ---------------------------------------- (15) SCC2IRS (SOUND) Transformed LLVM symbolic execution graph SCC into a rewrite problem. Log: Generated rules. Obtained 23 rulesP rules: f_700(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_705(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: v1638 = 1 + v1627 f_705(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_708(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_708(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_711(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 f_711(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_715(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 f_715(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_719(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_719(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_723(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 f_723(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_728(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_728(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_730(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_730(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_732(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 f_732(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_734(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: v2101 = 1 + v1635 && 4 <= v2101 f_734(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_736(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_736(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_738(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_738(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_740(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1636, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 f_740(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1636, v1634, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_743(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_743(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_746(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: v2105 != 0 && v1635 < v1650 && 4 <= v1650 f_746(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_750(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 f_750(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_754(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_754(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1634, v1636, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_755(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1635, v2101, v2105, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1645, v1648, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) :|: TRUE f_755(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) -> f_759(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) :|: 0 = 0 f_759(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) -> f_764(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) :|: TRUE f_764(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) -> f_769(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) :|: TRUE f_769(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v2250, v2253, v2269, v2271, v2251, v2252, v2254, v2256, 3, 7, 2, 4, 8) -> f_695(v2231, v2232, v2233, v2234, v2235, v2236, v2237, v2238, v2239, v2240, v2241, 1, v2243, 0, v2245, v2258, v2246, v2259, v2247, v2260, v2248, v2261, v2249, v2262, v2255, v2257, v2263, v2264, v2265, v2266, v2267, v2268, v2270, v1664, v1666, v2250, v2253, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: TRUE f_695(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) -> f_700(v1626, v1627, v1628, v1629, v1630, v1631, v1632, v1633, v1634, v1635, v1636, 1, v1638, 0, v1640, v1653, v1641, v1654, v1642, v1655, v1643, v1656, v1644, v1657, v1650, v1652, v1658, v1659, v1660, v1661, v1662, v1663, v1665, v1664, v1666, v1645, v1648, v1646, v1647, v1649, v1651, 3, 7, 2, 4, 8) :|: 0 = 0 Combined rules. Obtained 2 rulesP rules: f_700(v1626:0, v1627:0, v1628:0, v1629:0, v1630:0, v1631:0, v1632:0, v1633:0, v1634:0, v1635:0, v1636:0, 1, 1 + v1627:0, 0, v1640:0, v1653:0, v1641:0, v1654:0, v1642:0, v1655:0, v1643:0, v1656:0, v1644:0, v1657:0, v1650:0, v1652:0, v1658:0, v1659:0, v1660:0, v1661:0, v1662:0, v1663:0, v1665:0, v1664:0, v1666:0, v1645:0, v1648:0, v1646:0, v1647:0, v1649:0, v1651:0, 3, 7, 2, 4, 8) -> f_700(v1626:0, v1627:0, v1628:0, v1629:0, v1630:0, v1631:0, v1632:0, v1633:0, v1635:0, 1 + v1635:0, v2105:0, 1, 1 + v1627:0, 0, v1640:0, v1653:0, v1641:0, v1654:0, v1642:0, v1655:0, v1643:0, v1656:0, v1644:0, v1657:0, v1650:0, v1652:0, v1658:0, v1659:0, v1660:0, v1661:0, v1662:0, v1663:0, v1665:0, v1664:1, v1666:1, v1645:0, v1648:0, v1646:1, v1647:1, v1649:1, v1651:1, 3, 7, 2, 4, 8) :|: v1635:0 > 2 && v1650:0 > v1635:0 && v1650:0 > 3 && v2105:0 < 0 f_700(v1626:0, v1627:0, v1628:0, v1629:0, v1630:0, v1631:0, v1632:0, v1633:0, v1634:0, v1635:0, v1636:0, 1, 1 + v1627:0, 0, v1640:0, v1653:0, v1641:0, v1654:0, v1642:0, v1655:0, v1643:0, v1656:0, v1644:0, v1657:0, v1650:0, v1652:0, v1658:0, v1659:0, v1660:0, v1661:0, v1662:0, v1663:0, v1665:0, v1664:0, v1666:0, v1645:0, v1648:0, v1646:0, v1647:0, v1649:0, v1651:0, 3, 7, 2, 4, 8) -> f_700(v1626:0, v1627:0, v1628:0, v1629:0, v1630:0, v1631:0, v1632:0, v1633:0, v1635:0, 1 + v1635:0, v2105:0, 1, 1 + v1627:0, 0, v1640:0, v1653:0, v1641:0, v1654:0, v1642:0, v1655:0, v1643:0, v1656:0, v1644:0, v1657:0, v1650:0, v1652:0, v1658:0, v1659:0, v1660:0, v1661:0, v1662:0, v1663:0, v1665:0, v1664:1, v1666:1, v1645:0, v1648:0, v1646:1, v1647:1, v1649:1, v1651:1, 3, 7, 2, 4, 8) :|: v1635:0 > 2 && v1650:0 > v1635:0 && v1650:0 > 3 && v2105:0 > 0 Filtered unneeded arguments: f_700(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46) -> f_700(x2, x10, x13, x25) Removed division, modulo operations, cleaned up constraints. Obtained 1 rules.P rules: f_700(v1627:0, v1635:0, sum~cons_1~v1627:0, v1650:0) -> f_700(v1627:0, 1 + v1635:0, 1 + v1627:0, v1650:0) :|: v1650:0 > v1635:0 && v1650:0 > 3 && v1635:0 > 2 && sum~cons_1~v1627:0 = 1 + v1627:0 ---------------------------------------- (16) Obligation: Rules: f_700(v1627:0, v1635:0, sum~cons_1~v1627:0, v1650:0) -> f_700(v1627:0, 1 + v1635:0, 1 + v1627:0, v1650:0) :|: v1650:0 > v1635:0 && v1650:0 > 3 && v1635:0 > 2 && sum~cons_1~v1627:0 = 1 + v1627:0 ---------------------------------------- (17) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (18) Obligation: Rules: f_700(v1627:0:0, v1635:0:0, sum~cons_1~v1627:0:0, v1650:0:0) -> f_700(v1627:0:0, 1 + v1635:0:0, 1 + v1627:0:0, v1650:0:0) :|: v1650:0:0 > v1635:0:0 && v1650:0:0 > 3 && v1635:0:0 > 2 && sum~cons_1~v1627:0:0 = 1 + v1627:0:0 ---------------------------------------- (19) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f_700(x, x1, x2, x3)] = -x1 + x3 The following rules are decreasing: f_700(v1627:0:0, v1635:0:0, sum~cons_1~v1627:0:0, v1650:0:0) -> f_700(v1627:0:0, 1 + v1635:0:0, 1 + v1627:0:0, v1650:0:0) :|: v1650:0:0 > v1635:0:0 && v1650:0:0 > 3 && v1635:0:0 > 2 && sum~cons_1~v1627:0:0 = 1 + v1627:0:0 The following rules are bounded: f_700(v1627:0:0, v1635:0:0, sum~cons_1~v1627:0:0, v1650:0:0) -> f_700(v1627:0:0, 1 + v1635:0:0, 1 + v1627:0:0, v1650:0:0) :|: v1650:0:0 > v1635:0:0 && v1650:0:0 > 3 && v1635:0:0 > 2 && sum~cons_1~v1627:0:0 = 1 + v1627:0:0 ---------------------------------------- (20) YES