pub fn byte_sliced_mul<LevelIn: TowerLevel, LevelOut: TowerLevel<Base = LevelIn>>(
builder: &mut ConstraintSystemBuilder<'_>,
name: impl ToString,
mult_a: &LevelIn::Data<OracleId>,
mult_b: &LevelIn::Data<OracleId>,
log_size: usize,
zero_carry_oracle: OracleId,
lookup_batch_mul: &mut LookupBatch,
lookup_batch_add: &mut LookupBatch,
lookup_batch_dci: &mut LookupBatch,
) -> Result<LevelOut::Data<OracleId>, Error>