| `MIPSThreadStart -> (y_reg, y_sreg) | `MIPSRType (op, rd, rs, rt) -> fold_reg rt (fold_reg rs (fold_reg rd (y_reg, y_sreg))) | `MIPSIType (op, rs, rt, imm) -> fold_reg rs (fold_reg rt (y_reg, y_sreg)) | `MIPSShiftI (op, rd, rt, imm) -> fold_reg rt (fold_reg rd (y_reg, y_sreg)) | `MIPSShiftV (op, rd, rt, rs) -> fold_reg rs (fold_reg rt (fold_reg rd (y_reg, y_sreg))) | `MIPSMulDiv (op, rs, rt) -> fold_reg rs (fold_reg rt (y_reg, y_sreg)) | `MIPSMFHiLo (op, rs) -> fold_reg rs (y_reg, y_sreg) | `MIPSLUI (rt, imm) -> fold_reg rt (y_reg, y_sreg) | `MIPSLoad (width, signed, linked, base, rt, offset) -> fold_reg rt (fold_reg base (y_reg, y_sreg)) | `MIPSStore (width, conditional, base, rt, offset) -> fold_reg rt (fold_reg base (y_reg, y_sreg)) | `MIPSLSLR (store, double, left, base, rt, offset) -> fold_reg rt (fold_reg base (y_reg, y_sreg)) | `MIPSSYNC -> (y_reg, y_sreg) | `MIPSBEQ (rs, rt, offset, ne, likely) -> fold_reg rs (fold_reg rt (y_reg, y_sreg)) | `MIPSBCMPZ (rs, offset, cmp, link, likely) -> fold_reg rs (y_reg, y_sreg) | `MIPSJ (offset) -> (y_reg, y_sreg) | `MIPSJAL (offset) -> fold_reg (IReg(R31)) (y_reg, y_sreg) | `MIPSJR (rd) -> fold_reg rd (y_reg, y_sreg) | `MIPSJALR (rd, rs) -> fold_reg rd (fold_reg rs (y_reg, y_sreg))