pub fn read_ghost_const(&mut self, imm: Imm<C::F, C::EF>) -> Address<C::F> {
        self.consts.entry(imm).or_insert_with(|| (Self::alloc(&mut self.next_addr), C::F::zero())).0
    }
Read a constant (a.k.a. immediate).

Does not increment the mult. Creates an entry if it does not yet exist.
crates/recursion/compiler/src/circuit/compiler.rs