29 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel)));
33 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
34 auto tmp =
static_cast<View
>(in.get(C::bitwise_start)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start)));
38 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
39 auto tmp =
static_cast<View
>(in.get(C::bitwise_end)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_end)));
43 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
44 auto tmp = (
static_cast<View
>(in.get(C::bitwise_start)) +
static_cast<View
>(in.get(C::bitwise_end))) *
45 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel)));
49 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
50 auto tmp = (
FF(1) -
CView(bitwise_LATCH_CONDITION)) *
51 (
static_cast<View
>(in.get(C::bitwise_sel)) -
static_cast<View
>(in.get(C::bitwise_sel_shift)));
55 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
56 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel_shift)) *
57 (
static_cast<View
>(in.get(C::bitwise_start_shift)) -
CView(bitwise_LATCH_CONDITION));
61 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
62 auto tmp =
static_cast<View
>(in.get(C::bitwise_start_keccak)) *
63 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start_keccak)));
67 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
68 auto tmp =
static_cast<View
>(in.get(C::bitwise_start_sha256)) *
69 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start_sha256)));
73 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
75 (
static_cast<View
>(in.get(C::bitwise_start_keccak)) +
static_cast<View
>(in.get(C::bitwise_start_sha256))) *
76 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_start)));
80 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
82 (
static_cast<View
>(in.get(C::bitwise_start_keccak)) +
static_cast<View
>(in.get(C::bitwise_start_sha256))) *
83 static_cast<View
>(in.get(C::bitwise_err));
87 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
88 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)) *
89 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)));
93 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
94 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err)) *
95 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err)));
99 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
100 auto tmp = (
static_cast<View
>(in.get(C::bitwise_err)) -
101 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err))) *
102 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)))));
106 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
107 auto tmp =
static_cast<View
>(in.get(C::bitwise_err)) * (
static_cast<View
>(in.get(C::bitwise_end)) -
FF(1));
111 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
112 auto tmp = (
static_cast<View
>(in.get(C::bitwise_sel)) -
static_cast<View
>(in.get(C::bitwise_start))) *
113 static_cast<View
>(in.get(C::bitwise_err));
117 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
118 auto tmp = (
static_cast<View
>(in.get(C::bitwise_sel_compute)) -
119 static_cast<View
>(in.get(C::bitwise_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_err))));
123 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
124 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::bitwise_err))) *
static_cast<View
>(in.get(C::bitwise_start)) *
125 (
static_cast<View
>(in.get(C::bitwise_tag_c)) -
static_cast<View
>(in.get(C::bitwise_tag_a)));
129 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
130 auto tmp =
static_cast<View
>(in.get(C::bitwise_start)) *
131 ((
CView(bitwise_TAG_A_DIFF) * (
static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)) *
132 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_tag_a_inv))) +
133 static_cast<View
>(in.get(C::bitwise_tag_a_inv))) -
135 static_cast<View
>(in.get(C::bitwise_sel_tag_ff_err)));
139 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
140 auto tmp =
static_cast<View
>(in.get(C::bitwise_start)) *
141 (
CView(bitwise_TAG_AB_DIFF) * ((
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err))) *
142 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_tag_ab_diff_inv))) +
143 static_cast<View
>(in.get(C::bitwise_tag_ab_diff_inv))) -
144 static_cast<View
>(in.get(C::bitwise_sel_tag_mismatch_err)));
148 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
149 auto tmp =
CView(bitwise_NOT_END) *
150 (
static_cast<View
>(in.get(C::bitwise_op_id_shift)) -
static_cast<View
>(in.get(C::bitwise_op_id)));
154 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
155 auto tmp =
CView(bitwise_NOT_END) * ((
static_cast<View
>(in.get(C::bitwise_ctr)) -
FF(1)) -
156 static_cast<View
>(in.get(C::bitwise_ctr_shift)));
160 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
161 auto tmp =
static_cast<View
>(in.get(C::bitwise_sel_compute)) *
162 (((
static_cast<View
>(in.get(C::bitwise_ctr)) -
FF(1)) *
163 (
static_cast<View
>(in.get(C::bitwise_end)) *
164 (
FF(1) -
static_cast<View
>(in.get(C::bitwise_ctr_min_one_inv))) +
165 static_cast<View
>(in.get(C::bitwise_ctr_min_one_inv))) +
166 static_cast<View
>(in.get(C::bitwise_end))) -
171 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
172 auto tmp =
static_cast<View
>(in.get(C::bitwise_end)) *
173 (
static_cast<View
>(in.get(C::bitwise_acc_ia)) -
static_cast<View
>(in.get(C::bitwise_ia_byte)));
177 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
178 auto tmp =
static_cast<View
>(in.get(C::bitwise_end)) *
179 (
static_cast<View
>(in.get(C::bitwise_acc_ib)) -
static_cast<View
>(in.get(C::bitwise_ib_byte)));
183 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
184 auto tmp =
static_cast<View
>(in.get(C::bitwise_end)) *
185 (
static_cast<View
>(in.get(C::bitwise_acc_ic)) -
static_cast<View
>(in.get(C::bitwise_ic_byte)));
189 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
190 auto tmp =
CView(bitwise_NOT_END) *
191 ((
static_cast<View
>(in.get(C::bitwise_acc_ia)) -
static_cast<View
>(in.get(C::bitwise_ia_byte))) -
192 FF(256) *
static_cast<View
>(in.get(C::bitwise_acc_ia_shift)));
196 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
197 auto tmp =
CView(bitwise_NOT_END) *
198 ((
static_cast<View
>(in.get(C::bitwise_acc_ib)) -
static_cast<View
>(in.get(C::bitwise_ib_byte))) -
199 FF(256) *
static_cast<View
>(in.get(C::bitwise_acc_ib_shift)));
203 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
204 auto tmp =
CView(bitwise_NOT_END) *
205 ((
static_cast<View
>(in.get(C::bitwise_acc_ic)) -
static_cast<View
>(in.get(C::bitwise_ic_byte))) -
206 FF(256) *
static_cast<View
>(in.get(C::bitwise_acc_ic_shift)));
210 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
211 auto tmp = (
static_cast<View
>(in.get(C::bitwise_sel_get_ctr)) -
212 static_cast<View
>(in.get(C::bitwise_start)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_err))));
216 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
218 static_cast<View
>(in.get(C::bitwise_sel_and)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_and)));
222 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
224 static_cast<View
>(in.get(C::bitwise_sel_or)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_or)));
228 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
230 static_cast<View
>(in.get(C::bitwise_sel_xor)) * (
FF(1) -
static_cast<View
>(in.get(C::bitwise_sel_xor)));
234 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
235 auto tmp = (
static_cast<View
>(in.get(C::bitwise_sel_compute)) *
static_cast<View
>(in.get(C::bitwise_op_id)) -
236 (
static_cast<View
>(in.get(C::bitwise_sel_and)) *
CView(constants_AVM_BITWISE_AND_OP_ID) +
237 static_cast<View
>(in.get(C::bitwise_sel_or)) *
CView(constants_AVM_BITWISE_OR_OP_ID) +
238 static_cast<View
>(in.get(C::bitwise_sel_xor)) *
CView(constants_AVM_BITWISE_XOR_OP_ID)));
242 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
243 auto tmp = (
static_cast<View
>(in.get(C::bitwise_ic_byte)) -
244 (
static_cast<View
>(in.get(C::bitwise_sel_and)) *
static_cast<View
>(in.get(C::bitwise_output_and)) +
245 static_cast<View
>(in.get(C::bitwise_sel_or)) *
static_cast<View
>(in.get(C::bitwise_output_or)) +
246 static_cast<View
>(in.get(C::bitwise_sel_xor)) *
static_cast<View
>(in.get(C::bitwise_output_xor))));