Skip to content

Commit 57f35e2

Browse files
author
maramihali
committed
Merge branch 'mm/fix-op-queue' into mm/zk-civc
2 parents c9ac144 + ede88d2 commit 57f35e2

File tree

5 files changed

+88
-104
lines changed

5 files changed

+88
-104
lines changed

avm-transpiler/Cargo.lock

Lines changed: 16 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

barretenberg/cpp/scripts/test_civc_standalone_vks_havent_changed.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ cd ..
1111
# - Generate a hash for versioning: sha256sum bb-civc-inputs.tar.gz
1212
# - Upload the compressed results: aws s3 cp bb-civc-inputs.tar.gz s3://aztec-ci-artifacts/protocol/bb-civc-inputs-[hash(0:8)].tar.gz
1313
# Note: In case of the "Test suite failed to run ... Unexpected token 'with' " error, need to run: docker pull aztecprotocol/build:3.0
14-
pinned_short_hash="9b31056f"
14+
pinned_short_hash="c08772b2"
1515
pinned_civc_inputs_url="https://aztec-ci-artifacts.s3.us-east-2.amazonaws.com/protocol/bb-civc-inputs-${pinned_short_hash}.tar.gz"
1616

1717
function compress_and_upload {

barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_extra_relations.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ template <typename FF_> class TranslatorOpcodeConstraintRelationImpl {
1717
static constexpr size_t RELATION_LENGTH = 6;
1818
static constexpr std::array<size_t, 5> SUBRELATION_PARTIAL_LENGTHS{
1919
6, // opcode constraint relation
20-
7, // opcode constraint relation
21-
7, // opcode constraint relation
22-
7, // opcode constraint relation
23-
7 // opcode constraint relation
20+
6, // opcode constraint relation
21+
6, // opcode constraint relation
22+
6, // opcode constraint relation
23+
6 // opcode constraint relation
2424
};
2525

2626
/**
@@ -29,7 +29,7 @@ template <typename FF_> class TranslatorOpcodeConstraintRelationImpl {
2929
*/
3030
template <typename AllEntities> inline static bool skip(const AllEntities& in)
3131
{
32-
return in.lagrange_even_in_minicircuit.is_zero();
32+
return (in.lagrange_even_in_minicircuit + in.lagrange_mini_masking).is_zero();
3333
}
3434
/**
3535
* @brief Expression for enforcing the value of the Opcode to be {0,3,4,8}

barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_extra_relations_impl.hpp

Lines changed: 65 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -28,87 +28,71 @@ void TranslatorOpcodeConstraintRelationImpl<FF>::accumulate(ContainerOverSubrela
2828
const FF& scaling_factor)
2929
{
3030

31-
[&]() {
32-
using Accumulator = std::tuple_element_t<0, ContainerOverSubrelations>;
33-
using View = typename Accumulator::View;
34-
35-
auto op = View(in.op);
36-
auto lagrange_mini_masking = View(in.lagrange_mini_masking);
37-
static const FF minus_three = FF(-3);
38-
static const FF minus_four = FF(-4);
39-
static const FF minus_eight = FF(-8);
40-
static const FF minus_one = FF(-1);
41-
42-
// Contribution (1) op(op-3)(op-4)(op-8))
43-
auto tmp_1 = op * (op + minus_three);
44-
tmp_1 *= (op + minus_four);
45-
tmp_1 *= (op + minus_eight);
46-
tmp_1 *= (lagrange_mini_masking + minus_one);
47-
tmp_1 *= scaling_factor;
48-
std::get<0>(accumulators) += tmp_1;
49-
}();
50-
51-
[&]() {
52-
using Accumulator = std::tuple_element_t<1, ContainerOverSubrelations>;
53-
using View = typename Accumulator::View;
54-
auto op = View(in.op);
55-
auto lagrange_mini_masking = View(in.lagrange_mini_masking);
56-
auto lagrange_even_in_minicircuit = View(in.lagrange_even_in_minicircuit);
57-
static const FF minus_three = FF(-3);
58-
static const FF minus_four = FF(-4);
59-
static const FF minus_eight = FF(-8);
60-
static const FF minus_one = FF(-1);
61-
62-
auto accumulators_binary_limbs_0 = View(in.accumulators_binary_limbs_0);
63-
auto accumulators_binary_limbs_1 = View(in.accumulators_binary_limbs_1);
64-
auto accumulators_binary_limbs_2 = View(in.accumulators_binary_limbs_2);
65-
auto accumulators_binary_limbs_3 = View(in.accumulators_binary_limbs_3);
66-
auto accumulators_binary_limbs_0_shift = View(in.accumulators_binary_limbs_0_shift);
67-
auto accumulators_binary_limbs_1_shift = View(in.accumulators_binary_limbs_1_shift);
68-
auto accumulators_binary_limbs_2_shift = View(in.accumulators_binary_limbs_2_shift);
69-
auto accumulators_binary_limbs_3_shift = View(in.accumulators_binary_limbs_3_shift);
70-
71-
// Contribution (2) (2-5 ensure that the accumulator stays the same at even indices within the no-op range if
72-
// one exists)
73-
auto tmp_2 = (accumulators_binary_limbs_0 - accumulators_binary_limbs_0_shift);
74-
tmp_2 *= (op + minus_three);
75-
tmp_2 *= (op + minus_four);
76-
tmp_2 *= (op + minus_eight);
77-
tmp_2 *= (lagrange_mini_masking + minus_one);
78-
tmp_2 *= lagrange_even_in_minicircuit;
79-
tmp_2 *= scaling_factor;
80-
std::get<1>(accumulators) += tmp_2;
81-
82-
// Contribution (3)
83-
auto tmp_3 = (accumulators_binary_limbs_1 - accumulators_binary_limbs_1_shift);
84-
tmp_3 *= (op + minus_three);
85-
tmp_3 *= (op + minus_four);
86-
tmp_3 *= (op + minus_eight);
87-
tmp_3 *= (lagrange_mini_masking + minus_one);
88-
tmp_3 *= lagrange_even_in_minicircuit;
89-
tmp_3 *= scaling_factor;
90-
std::get<2>(accumulators) += tmp_3;
91-
92-
// Contribution (4)
93-
auto tmp_4 = (accumulators_binary_limbs_2 - accumulators_binary_limbs_2_shift);
94-
tmp_4 *= (op + minus_three);
95-
tmp_4 *= (op + minus_four);
96-
tmp_4 *= (op + minus_eight);
97-
tmp_4 *= (lagrange_mini_masking + minus_one);
98-
tmp_4 *= lagrange_even_in_minicircuit;
99-
tmp_4 *= scaling_factor;
100-
std::get<3>(accumulators) += tmp_4;
101-
102-
// Contribution (5)
103-
auto tmp_5 = (accumulators_binary_limbs_3 - accumulators_binary_limbs_3_shift);
104-
tmp_5 *= (op + minus_three);
105-
tmp_5 *= (op + minus_four);
106-
tmp_5 *= (op + minus_eight);
107-
tmp_5 *= (lagrange_mini_masking + minus_one);
108-
tmp_5 *= lagrange_even_in_minicircuit;
109-
tmp_5 *= scaling_factor;
110-
std::get<4>(accumulators) += tmp_5;
111-
}();
31+
using Accumulator = std::tuple_element_t<0, ContainerOverSubrelations>;
32+
using View = typename Accumulator::View;
33+
34+
auto op = View(in.op);
35+
auto lagrange_mini_masking = View(in.lagrange_mini_masking);
36+
static const FF minus_three = FF(-3);
37+
static const FF minus_four = FF(-4);
38+
static const FF minus_eight = FF(-8);
39+
static const FF minus_one = FF(-1);
40+
41+
// Contribution (1) op(op-3)(op-4)(op-8))
42+
auto tmp_1 = op * (op + minus_three);
43+
tmp_1 *= (op + minus_four);
44+
tmp_1 *= (op + minus_eight);
45+
tmp_1 *= (lagrange_mini_masking + minus_one);
46+
tmp_1 *= scaling_factor;
47+
std::get<0>(accumulators) += tmp_1;
48+
49+
auto lagrange_even_in_minicircuit = View(in.lagrange_even_in_minicircuit);
50+
51+
auto accumulators_binary_limbs_0 = View(in.accumulators_binary_limbs_0);
52+
auto accumulators_binary_limbs_1 = View(in.accumulators_binary_limbs_1);
53+
auto accumulators_binary_limbs_2 = View(in.accumulators_binary_limbs_2);
54+
auto accumulators_binary_limbs_3 = View(in.accumulators_binary_limbs_3);
55+
auto accumulators_binary_limbs_0_shift = View(in.accumulators_binary_limbs_0_shift);
56+
auto accumulators_binary_limbs_1_shift = View(in.accumulators_binary_limbs_1_shift);
57+
auto accumulators_binary_limbs_2_shift = View(in.accumulators_binary_limbs_2_shift);
58+
auto accumulators_binary_limbs_3_shift = View(in.accumulators_binary_limbs_3_shift);
59+
60+
// Contribution (2) (2-5 ensure that the accumulator stays the same at even indices within the no-op range if
61+
// one exists)
62+
auto tmp_2 = (accumulators_binary_limbs_0 - accumulators_binary_limbs_0_shift);
63+
tmp_2 *= (op + minus_three);
64+
tmp_2 *= (op + minus_four);
65+
tmp_2 *= (op + minus_eight);
66+
tmp_2 *= lagrange_even_in_minicircuit;
67+
tmp_2 *= scaling_factor;
68+
std::get<1>(accumulators) += tmp_2;
69+
70+
// Contribution (3)
71+
auto tmp_3 = (accumulators_binary_limbs_1 - accumulators_binary_limbs_1_shift);
72+
tmp_3 *= (op + minus_three);
73+
tmp_3 *= (op + minus_four);
74+
tmp_3 *= (op + minus_eight);
75+
tmp_3 *= lagrange_even_in_minicircuit;
76+
tmp_3 *= scaling_factor;
77+
std::get<2>(accumulators) += tmp_3;
78+
79+
// Contribution (4)
80+
auto tmp_4 = (accumulators_binary_limbs_2 - accumulators_binary_limbs_2_shift);
81+
tmp_4 *= (op + minus_three);
82+
tmp_4 *= (op + minus_four);
83+
tmp_4 *= (op + minus_eight);
84+
tmp_4 *= lagrange_even_in_minicircuit;
85+
tmp_4 *= scaling_factor;
86+
std::get<3>(accumulators) += tmp_4;
87+
88+
// Contribution (5)
89+
auto tmp_5 = (accumulators_binary_limbs_3 - accumulators_binary_limbs_3_shift);
90+
tmp_5 *= (op + minus_three);
91+
tmp_5 *= (op + minus_four);
92+
tmp_5 *= (op + minus_eight);
93+
tmp_5 *= lagrange_even_in_minicircuit;
94+
tmp_5 *= scaling_factor;
95+
std::get<4>(accumulators) += tmp_5;
11296
};
11397

11498
/**

barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ void TranslatorProvingKey::compute_lagrange_polynomials()
248248

249249
// Location of randomness for wires defined within the mini circuit
250250
for (size_t i = dyadic_mini_circuit_size_without_masking; i < mini_circuit_dyadic_size; i++) {
251-
proving_key->polynomials.lagrange_mini_masking.at(i - dyadic_mini_circuit_size_without_masking) = 1;
251+
proving_key->polynomials.lagrange_mini_masking.at(i - dyadic_mini_circuit_size_without_masking + 2) = 1;
252252
proving_key->polynomials.lagrange_mini_masking.at(i) = 1;
253253
}
254254

0 commit comments

Comments
 (0)