diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/alu.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/alu.test.cpp index 83fa1f334703..3de63023c594 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/alu.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/alu.test.cpp @@ -745,7 +745,7 @@ class AluDivConstrainingTest : public AluConstrainingTest, { .alu_b_inv = div_0_error ? 0 : b.as_ff().invert(), .alu_constant_64 = 64, - .alu_helper1 = remainder, + .alu_helper1 = div_0_error ? 0 : remainder.as_ff(), .alu_ia = a, .alu_ia_tag = tag, .alu_ib = b, diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.cpp index 44ac4c70228b..4178899d7d98 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.cpp @@ -76,7 +76,8 @@ std::vector> get_operation_columns(const simulation::AluEv } case simulation::AluOperation::DIV: { bool div_0_error = event.error == simulation::AluError::DIV_0_ERROR; - auto remainder = no_tag_err ? event.a - event.b * event.c : MemoryValue::from_tag(event.a.get_tag(), 0); + auto remainder = + no_tag_err && !div_0_error ? event.a - event.b * event.c : MemoryValue::from_tag(event.a.get_tag(), 0); // Columns shared for all tags in a DIV: std::vector> res = { { Column::alu_sel_op_div, 1 }, diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.test.cpp index aaac6e559399..a5cf0653e6b9 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/alu_trace.test.cpp @@ -472,7 +472,7 @@ TEST_P(AluDivTraceGenerationTest, TraceGenerationDiv) ROW_FIELD_EQ(alu_ia, a), ROW_FIELD_EQ(alu_ib, b), ROW_FIELD_EQ(alu_ic, c), - ROW_FIELD_EQ(alu_helper1, a - b * c), + ROW_FIELD_EQ(alu_helper1, div_0_error ? 0 : (a - b * c).as_ff()), ROW_FIELD_EQ(alu_ia_tag, static_cast(tag)), ROW_FIELD_EQ(alu_ib_tag, static_cast(tag)), ROW_FIELD_EQ(alu_ic_tag, static_cast(tag)),