@@ -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/* *
0 commit comments