function macroCogState4ZF0:
    useregset hub
    useregset cog
    body:
        let instruction_reg (arrayAccess reg_cog_ram_r p_reg)
        if (eq32 p_reg 0I1ff):
            true:
                let compound_statex (jump 0I5)
                let bus_sel_state (jump 0I2)
            false:
                let compound_statex (jump 0I2)
        let p_reg (and32 (add32 p_reg 0I1) 0I1ff)
        call (macroCogPeripherals )

function macroCogState4ZF1:
    useregset hub
    useregset cog
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let instr_next (arrayAccess reg_cog_ram_r p_reg)
        let instruction_reg instr_next
        if (eq32 p_reg 0I1ff):
            true:
                let compound_statex (jump 0I5)
                let bus_sel_state (jump 0I2)
            false:
                let compound_statex (jump 0I2)
        let p_reg (and32 (add32 p_reg 0I1) 0I1ff)
        letarr reg_cog_ram_r instr_dst outp_cog_alu_r
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)

function macroCogState4ZF2:
    useregset hub
    useregset cog
    body:
        let instruction_reg (arrayAccess reg_cog_ram_r p_reg)
        let compound_statex (mux32 (eq32 p_reg 0I1ff) (jump 0I5) (jump 0I4))
        let p_reg (and32 (add32 p_reg 0I1) 0I1ff)
        call (macroCogPeripherals )

function macroCogState4ZF3:
    useregset hub
    useregset cog
    local I px
    body:
        let px (and32 source 0I1ff)
        let instruction_reg (arrayAccess reg_cog_ram_r px)
        let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
        let p_reg (and32 (add32 px 0I1) 0I1ff)
        call (macroCogPeripherals )

function macroCogState4ZF4:
    useregset hub
    useregset cog
    local I px
    body:
        let px (and32 source 0I1ff)
        let instruction_reg (arrayAccess reg_cog_ram_r px)
        if (eq32 dest 0I1):
            false:
                let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
                let p_reg (and32 (add32 px 0I1) 0I1ff)
            true:
                let compound_statex (jump 0I5)
        call (macroCogPeripherals )

function macroCogState4ZF5:
    useregset hub
    useregset cog
    local I px
    body:
        let px (and32 source 0I1ff)
        let instruction_reg (arrayAccess reg_cog_ram_r px)
        if (eq32 dest 0I0):
            false:
                let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
                let p_reg (and32 (add32 px 0I1) 0I1ff)
            true:
                let compound_statex (jump 0I5)
        call (macroCogPeripherals )

function macroCogState4ZF6:
    useregset hub
    useregset cog
    local I px
    body:
        let px (and32 source 0I1ff)
        let instruction_reg (arrayAccess reg_cog_ram_r px)
        if (neq32 dest 0I0):
            false:
                let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
                let p_reg (and32 (add32 px 0I1) 0I1ff)
            true:
                let compound_statex (jump 0I5)
        call (macroCogPeripherals )

function macroCogState4ZF7:
    useregset hub
    useregset cog
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let instr_next (arrayAccess reg_cog_ram_r p_reg)
        let instruction_reg instr_next
        let compound_statex (mux32 (eq32 p_reg 0I1ff) (jump 0I5) (jump 0I4))
        let p_reg (and32 (add32 p_reg 0I1) 0I1ff)
        letarr reg_cog_ram_r instr_dst outp_cog_alu_r
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)

function macroCogState4ZF8:
    useregset hub
    useregset cog
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let instr_next (arrayAccess reg_cog_ram_r p_reg)
        let instruction_reg instr_next
        let compound_statex (mux32 (eq32 p_reg 0I1ff) (jump 0I5) (jump 0I4))
        let p_reg (and32 (add32 p_reg 0I1) 0I1ff)
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)

function macroCogState4ZF9:
    useregset hub
    useregset cog
    local I px
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let px (and32 source 0I1ff)
        let instr_next (arrayAccess reg_cog_ram_r px)
        let instruction_reg instr_next
        let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
        let p_reg (and32 (add32 px 0I1) 0I1ff)
        letarr reg_cog_ram_r instr_dst outp_cog_alu_r
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)

function macroCogState4ZF10:
    useregset hub
    useregset cog
    local I px
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let px (and32 source 0I1ff)
        let instr_next (arrayAccess reg_cog_ram_r px)
        let instruction_reg instr_next
        if (eq32 dest 0I1):
            false:
                let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
                let p_reg (and32 (add32 px 0I1) 0I1ff)
            true:
                let compound_statex (jump 0I5)
        letarr reg_cog_ram_r instr_dst outp_cog_alu_r
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)

function macroCogState4ZF11:
    useregset hub
    useregset cog
    local I px
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let px (and32 source 0I1ff)
        let instr_next (arrayAccess reg_cog_ram_r px)
        let instruction_reg instr_next
        if (eq32 dest 0I0):
            false:
                let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
                let p_reg (and32 (add32 px 0I1) 0I1ff)
            true:
                let compound_statex (jump 0I5)
        letarr reg_cog_ram_r instr_dst outp_cog_alu_r
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)

function macroCogState4ZF12:
    useregset hub
    useregset cog
    local I px
    local I instr_next
    local I instr_dst
    input I instr_dst_input
    local I outp_cog_alu_r
    input I outp_cog_alu_r_input
    body:
        let instr_dst instr_dst_input
        let outp_cog_alu_r outp_cog_alu_r_input
        let px (and32 source 0I1ff)
        let instr_next (arrayAccess reg_cog_ram_r px)
        let instruction_reg instr_next
        if (neq32 dest 0I0):
            false:
                let compound_statex (mux32 (eq32 px 0I1ff) (jump 0I5) (jump 0I4))
                let p_reg (and32 (add32 px 0I1) 0I1ff)
            true:
                let compound_statex (jump 0I5)
        letarr reg_cog_ram_r instr_dst outp_cog_alu_r
        call (macroCogPeripherals )
        call (macroCog4SetControlRegisters instr_dst outp_cog_alu_r)
