const NUM_TOTAL_REGISTERS: u8 = 64;
const NUM_FREE_REGISTERS: u8 = 48;
const NUM_COMPILER_RESERVED_REGISTERS: u8 = 4 + NUM_ARG_REGISTERS;
pub(crate) const DATA_SECTION_REGISTER: u8 = NUM_TOTAL_REGISTERS - 1;
pub(crate) const RETURN_ADDRESS_REGISTER: u8 = NUM_TOTAL_REGISTERS - 2;
pub(crate) const RETURN_VALUE_REGISTER: u8 = NUM_TOTAL_REGISTERS - 3;
pub(crate) const SCRATCH_REGISTER: u8 = NUM_TOTAL_REGISTERS - 4;
pub(crate) const NUM_ARG_REGISTERS: u8 = 6;
pub(crate) const ARG_REG0: u8 = NUM_TOTAL_REGISTERS - 5;
pub(crate) const ARG_REG1: u8 = NUM_TOTAL_REGISTERS - 6;
pub(crate) const ARG_REG2: u8 = NUM_TOTAL_REGISTERS - 7;
pub(crate) const ARG_REG3: u8 = NUM_TOTAL_REGISTERS - 8;
pub(crate) const ARG_REG4: u8 = NUM_TOTAL_REGISTERS - 9;
pub(crate) const ARG_REG5: u8 = NUM_TOTAL_REGISTERS - 10;
pub(crate) const NUM_ALLOCATABLE_REGISTERS: u8 =
NUM_FREE_REGISTERS - NUM_COMPILER_RESERVED_REGISTERS;
pub(crate) const TWENTY_FOUR_BITS: u64 = 0b1111_1111_1111_1111_1111_1111;
pub(crate) const EIGHTEEN_BITS: u64 = 0b11_1111_1111_1111_1111;
pub(crate) const TWELVE_BITS: u64 = 0b1111_1111_1111;
pub(crate) const SIX_BITS: u64 = 0b11_1111;
pub(crate) const MISMATCHED_SELECTOR_REVERT_CODE: u32 = 123;