diff --git a/evm/src/arithmetic/byte.rs b/evm/src/arithmetic/byte.rs index 743aa1bc..bb8cd121 100644 --- a/evm/src/arithmetic/byte.rs +++ b/evm/src/arithmetic/byte.rs @@ -318,8 +318,7 @@ pub fn eval_ext_circuit, const D: usize>( } let t = F::Extension::from(F::from_canonical_u64(32)); let t = builder.constant_extension(t); - let idx0_hi = builder.mul_extension(idx_decomp[5], t); - let t = builder.add_extension(idx0_lo5, idx0_hi); + let t = builder.mul_add_extension(idx_decomp[5], t, idx0_lo5); let t = builder.sub_extension(idx[0], t); let t = builder.mul_extension(is_byte, t); yield_constr.constraint(builder, t); diff --git a/evm/src/cross_table_lookup.rs b/evm/src/cross_table_lookup.rs index 61480d05..8f481325 100644 --- a/evm/src/cross_table_lookup.rs +++ b/evm/src/cross_table_lookup.rs @@ -399,7 +399,7 @@ pub(crate) fn eval_cross_table_lookup_checks>(); let combined_next = challenges.combine_circuit(builder, &next_columns_eval); let selected_next = select(builder, next_filter, combined_next); - let mut transition = builder.mul_extension(*local_z, selected_next); - transition = builder.sub_extension(*next_z, transition); + let transition = builder.mul_sub_extension(*local_z, selected_next, *next_z); consumer.constraint_transition(builder, transition); } } diff --git a/evm/src/memory/memory_stark.rs b/evm/src/memory/memory_stark.rs index a0481029..36f75665 100644 --- a/evm/src/memory/memory_stark.rs +++ b/evm/src/memory/memory_stark.rs @@ -408,7 +408,6 @@ impl, const D: usize> Stark for MemoryStark, const D: usize> Stark for MemoryStark