pub fn read_const(&mut self, imm: Imm<C::F, C::EF>) -> Address<C::F> {
        self.consts
            .entry(imm)
            .and_modify(|(_, x)| *x += C::F::one())
            .or_insert_with(|| (Self::alloc(&mut self.next_addr), C::F::one()))
            .0
    }
Read a constant (a.k.a. immediate).

Increments the mult, first creating an entry if it does not yet exist.
crates/recursion/compiler/src/circuit/compiler.rs