<!-- This issue tracker is only for technical issues related to Bitcoin Core.

General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com.

For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.

If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->

<!-- Describe the issue -->
Looking at the code below I can't understand how it is possible for the IF statement conditional expression to become true. cnt is already incremented before the IF statement. Is this not redundant? https://github.com/bitcoin/bitcoin/blob/master/src/script/script.h#L594

I have opened a ticket, https://stackoverflow.com/questions/73088518/reduntant-code-possibly-in-bitcoin-script-h

**Expected behavior**
Possibly doesn't change the behavior. 
 

<!--- What behavior did you expect? -->
Not Applicable
**Actual behavior**

<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? -->

**To reproduce**

<!--- How reliably can you reproduce the issue, what are the steps to do so? -->
It is source code issue

**System information**
Not applicable 

<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->
Main branch ..https://github.com/bitcoin/bitcoin
<!-- What type of machine are you observing the error on (OS/CPU and disk type)? -->
Not Applicable

<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? -->
Not Applicable
<!-- Any extra information that might be useful in the debugging process. -->
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->

std::vector<unsigned char> getvch() const
    {
        return serialize(m_value);
    }
    static std::vector<unsigned char> serialize(const int64_t& value)
    {
        if(value == 0)
            return std::vector<unsigned char>();
        std::vector<unsigned char> result;
        const bool neg = value < 0;
        uint64_t absvalue = neg ? ~static_cast<uint64_t>(value) + 1 : static_cast<uint64_t>(value);
        while(absvalue)
        {
            result.push_back(absvalue & 0xff);
            absvalue >>= 8;
        }
        if (result.back() & 0x80)
            result.push_back(neg ? 0x80 : 0);
        else if (neg)
            result.back() |= 0x80;
        return result;
    }
private:
    static int64_t set_vch(const std::vector<unsigned char>& vch)