31 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
32 auto tmp =
static_cast<View
>(in.get(C::bitwise_start)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start)));
36 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
37 auto tmp =
static_cast<View
>(in.get(C::bitwise_start_keccak)) *
38 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start_keccak)));
42 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
43 auto tmp =
static_cast<View
>(in.get(C::bitwise_start_sha256)) *
44 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start_sha256)));
48 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
50 (
static_cast<View
>(in.get(C::bitwise_start_keccak)) +
static_cast<View
>(in.get(C::bitwise_start_sha256))) *
51 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start)));
55 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
57 (
static_cast<View
>(in.get(C::bitwise_start_keccak)) +
static_cast<View
>(in.get(C::bitwise_start_sha256))) *
58 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel)));
62 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
63 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)) *
64 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)));
68 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
69 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err)) *
70 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err)));
74 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
75 auto tmp = (
static_cast<View
>(in.get(C::bitwise_err)) -
76 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err))) *
77 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)))));
81 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
82 auto tmp =
static_cast<View
>(in.get(C::bitwise_last)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_last)));
86 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
87 auto tmp =
static_cast<View
>(in.get(C::bitwise_err)) * (
static_cast<View
>(in.get(C::bitwise_last)) -
FF(1));
91 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
92 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::bitwise_err))) *
static_cast<View
>(in.get(C::bitwise_start)) *
93 (
static_cast<View
>(in.get(C::bitwise_tag_c)) -
static_cast<View
>(in.get(C::bitwise_tag_a)));
97 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
98 auto tmp =
static_cast<View
>(in.get(C::bitwise_start)) *
99 ((
CView(bitwise_TAG_A_DIFF) * (
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)) *
100 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_tag_a_inv))) +
101 static_cast<View
>(in.get(C::bitwise_tag_a_inv))) -
103 static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)));
107 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
108 auto tmp =
static_cast<View
>(in.get(C::bitwise_start)) *
109 (
CView(bitwise_TAG_AB_DIFF) * ((
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err))) *
110 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_tag_ab_diff_inv))) +
111 static_cast<View
>(in.get(C::bitwise_tag_ab_diff_inv))) -
112 static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err)));
116 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
117 auto tmp = (
static_cast<View
>(in.get(C::bitwise_op_id_shift)) -
static_cast<View
>(in.get(C::bitwise_op_id))) *
118 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_last)));
122 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
124 static_cast<View
>(in.get(C::bitwise_sel)) *
125 ((
static_cast<View
>(in.get(C::bitwise_ctr_shift)) -
static_cast<View
>(in.get(C::bitwise_ctr))) +
FF(1)) *
126 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_last)));
130 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
132 (
static_cast<View
>(in.get(C::bitwise_ctr)) * ((
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel))) *
133 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_ctr_inv))) +
134 static_cast<View
>(in.get(C::bitwise_ctr_inv))) -
135 static_cast<View
>(in.get(C::bitwise_sel)));
139 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
140 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel)) *
141 (((
static_cast<View
>(in.get(C::bitwise_ctr)) -
FF(1)) *
142 (
static_cast<View
>(in.get(C::bitwise_last)) *
143 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_ctr_min_one_inv))) +
144 static_cast<View
>(in.get(C::bitwise_ctr_min_one_inv))) +
145 static_cast<View
>(in.get(C::bitwise_last))) -
150 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
151 auto tmp =
static_cast<View
>(in.get(C::bitwise_last)) *
152 (
static_cast<View
>(in.get(C::bitwise_acc_ia)) -
static_cast<View
>(in.get(C::bitwise_ia_byte)));
156 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
157 auto tmp =
static_cast<View
>(in.get(C::bitwise_last)) *
158 (
static_cast<View
>(in.get(C::bitwise_acc_ib)) -
static_cast<View
>(in.get(C::bitwise_ib_byte)));
162 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
163 auto tmp =
static_cast<View
>(in.get(C::bitwise_last)) *
164 (
static_cast<View
>(in.get(C::bitwise_acc_ic)) -
static_cast<View
>(in.get(C::bitwise_ic_byte)));
168 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
169 auto tmp = ((
static_cast<View
>(in.get(C::bitwise_acc_ia)) -
static_cast<View
>(in.get(C::bitwise_ia_byte))) -
170 FF(256) *
static_cast<View
>(in.get(C::bitwise_acc_ia_shift))) *
171 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_last)));
175 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
176 auto tmp = ((
static_cast<View
>(in.get(C::bitwise_acc_ib)) -
static_cast<View
>(in.get(C::bitwise_ib_byte))) -
177 FF(256) *
static_cast<View
>(in.get(C::bitwise_acc_ib_shift))) *
178 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_last)));
182 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
183 auto tmp = ((
static_cast<View
>(in.get(C::bitwise_acc_ic)) -
static_cast<View
>(in.get(C::bitwise_ic_byte))) -
184 FF(256) *
static_cast<View
>(in.get(C::bitwise_acc_ic_shift))) *
185 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_last)));
189 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
190 auto tmp = (
static_cast<View
>(in.get(C::bitwise_sel_get_ctr)) -
191 static_cast<View
>(in.get(C::bitwise_start)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_err))));
195 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
197 static_cast<View
>(in.get(C::bitwise_sel_and)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_and)));
201 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
203 static_cast<View
>(in.get(C::bitwise_sel_or)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_or)));
207 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
209 static_cast<View
>(in.get(C::bitwise_sel_xor)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_xor)));
213 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
214 auto tmp = (
static_cast<View
>(in.get(C::bitwise_sel)) *
static_cast<View
>(in.get(C::bitwise_op_id)) -
215 (
static_cast<View
>(in.get(C::bitwise_sel_and)) *
CView(constants_AVM_BITWISE_AND_OP_ID) +
216 static_cast<View
>(in.get(C::bitwise_sel_or)) *
CView(constants_AVM_BITWISE_OR_OP_ID) +
217 static_cast<View
>(in.get(C::bitwise_sel_xor)) *
CView(constants_AVM_BITWISE_XOR_OP_ID)));
221 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
222 auto tmp = (
static_cast<View
>(in.get(C::bitwise_ic_byte)) -
223 (
static_cast<View
>(in.get(C::bitwise_sel_and)) *
static_cast<View
>(in.get(C::bitwise_output_and)) +
224 static_cast<View
>(in.get(C::bitwise_sel_or)) *
static_cast<View
>(in.get(C::bitwise_output_or)) +
225 static_cast<View
>(in.get(C::bitwise_sel_xor)) *
static_cast<View
>(in.get(C::bitwise_output_xor))));