33 const auto keccakf1600_ROT_LEN_04 =
FF(18);
34 const auto keccakf1600_POW_ROT_LEN_04 =
FF(262144);
35 const auto keccakf1600_POW_ROT_64_MIN_LEN_04 =
FF(70368744177664UL);
36 const auto keccakf1600_ROT_LEN_10 =
FF(1);
37 const auto keccakf1600_POW_ROT_LEN_10 =
FF(2);
38 const auto keccakf1600_POW_ROT_64_MIN_LEN_10 =
FF(
uint256_t{ 9223372036854775808UL, 0UL, 0UL, 0UL });
39 const auto keccakf1600_ROT_LEN_11 =
FF(44);
40 const auto keccakf1600_POW_ROT_LEN_11 =
FF(17592186044416UL);
41 const auto keccakf1600_POW_ROT_64_MIN_LEN_11 =
FF(1048576);
42 const auto keccakf1600_ROT_LEN_12 =
FF(10);
43 const auto keccakf1600_POW_ROT_LEN_12 =
FF(1024);
44 const auto keccakf1600_POW_ROT_64_MIN_LEN_12 =
FF(18014398509481984UL);
45 const auto keccakf1600_ROT_LEN_13 =
FF(45);
46 const auto keccakf1600_POW_ROT_LEN_13 =
FF(35184372088832UL);
47 const auto keccakf1600_POW_ROT_64_MIN_LEN_13 =
FF(524288);
48 const auto keccakf1600_ROT_LEN_14 =
FF(2);
49 const auto keccakf1600_POW_ROT_LEN_14 =
FF(4);
50 const auto keccakf1600_POW_ROT_64_MIN_LEN_14 =
FF(4611686018427387904UL);
51 const auto keccakf1600_ROT_LEN_20 =
FF(62);
52 const auto keccakf1600_POW_ROT_LEN_20 =
FF(4611686018427387904UL);
53 const auto keccakf1600_POW_ROT_64_MIN_LEN_20 =
FF(4);
54 const auto keccakf1600_ROT_LEN_21 =
FF(6);
55 const auto keccakf1600_POW_ROT_LEN_21 =
FF(64);
56 const auto keccakf1600_POW_ROT_64_MIN_LEN_21 =
FF(288230376151711744UL);
57 const auto keccakf1600_ROT_LEN_22 =
FF(43);
58 const auto keccakf1600_POW_ROT_LEN_22 =
FF(8796093022208UL);
59 const auto keccakf1600_POW_ROT_64_MIN_LEN_22 =
FF(2097152);
60 const auto keccakf1600_ROT_LEN_23 =
FF(15);
61 const auto keccakf1600_POW_ROT_LEN_23 =
FF(32768);
62 const auto keccakf1600_POW_ROT_64_MIN_LEN_23 =
FF(562949953421312UL);
63 const auto keccakf1600_ROT_LEN_24 =
FF(61);
64 const auto keccakf1600_POW_ROT_LEN_24 =
FF(2305843009213693952UL);
65 const auto keccakf1600_POW_ROT_64_MIN_LEN_24 =
FF(8);
66 const auto keccakf1600_ROT_LEN_30 =
FF(28);
67 const auto keccakf1600_POW_ROT_LEN_30 =
FF(268435456);
68 const auto keccakf1600_POW_ROT_64_MIN_LEN_30 =
FF(68719476736UL);
69 const auto keccakf1600_ROT_LEN_31 =
FF(55);
70 const auto keccakf1600_POW_ROT_LEN_31 =
FF(36028797018963968UL);
71 const auto keccakf1600_POW_ROT_64_MIN_LEN_31 =
FF(512);
72 const auto keccakf1600_ROT_LEN_32 =
FF(25);
73 const auto keccakf1600_POW_ROT_LEN_32 =
FF(33554432);
74 const auto keccakf1600_POW_ROT_64_MIN_LEN_32 =
FF(549755813888UL);
75 const auto keccakf1600_ROT_LEN_33 =
FF(21);
76 const auto keccakf1600_POW_ROT_LEN_33 =
FF(2097152);
77 const auto keccakf1600_POW_ROT_64_MIN_LEN_33 =
FF(8796093022208UL);
78 const auto keccakf1600_ROT_LEN_34 =
FF(56);
79 const auto keccakf1600_POW_ROT_LEN_34 =
FF(72057594037927936UL);
80 const auto keccakf1600_POW_ROT_64_MIN_LEN_34 =
FF(256);
81 const auto keccakf1600_ROT_LEN_40 =
FF(27);
82 const auto keccakf1600_POW_ROT_LEN_40 =
FF(134217728);
83 const auto keccakf1600_POW_ROT_64_MIN_LEN_40 =
FF(137438953472UL);
84 const auto keccakf1600_ROT_LEN_41 =
FF(20);
85 const auto keccakf1600_POW_ROT_LEN_41 =
FF(1048576);
86 const auto keccakf1600_POW_ROT_64_MIN_LEN_41 =
FF(17592186044416UL);
87 const auto keccakf1600_ROT_LEN_42 =
FF(39);
88 const auto keccakf1600_POW_ROT_LEN_42 =
FF(549755813888UL);
89 const auto keccakf1600_POW_ROT_64_MIN_LEN_42 =
FF(33554432);
90 const auto keccakf1600_ROT_LEN_43 =
FF(8);
91 const auto keccakf1600_POW_ROT_LEN_43 =
FF(256);
92 const auto keccakf1600_POW_ROT_64_MIN_LEN_43 =
FF(72057594037927936UL);
93 const auto keccakf1600_ROT_LEN_44 =
FF(14);
94 const auto keccakf1600_POW_ROT_LEN_44 =
FF(16384);
95 const auto keccakf1600_POW_ROT_64_MIN_LEN_44 =
FF(1125899906842624UL);
96 const auto keccakf1600_STATE_RHO_00 = in.get(C::keccakf1600_state_theta_00);
97 const auto keccakf1600_STATE_PI_00 = keccakf1600_STATE_RHO_00;
98 const auto keccakf1600_STATE_PI_01 = in.get(C::keccakf1600_state_rho_30);
99 const auto keccakf1600_STATE_PI_02 = in.get(C::keccakf1600_state_rho_10);
100 const auto keccakf1600_STATE_PI_03 = in.get(C::keccakf1600_state_rho_40);
101 const auto keccakf1600_STATE_PI_04 = in.get(C::keccakf1600_state_rho_20);
102 const auto keccakf1600_STATE_PI_10 = in.get(C::keccakf1600_state_rho_11);
103 const auto keccakf1600_STATE_PI_11 = in.get(C::keccakf1600_state_rho_41);
104 const auto keccakf1600_STATE_PI_12 = in.get(C::keccakf1600_state_rho_21);
105 const auto keccakf1600_STATE_PI_13 = in.get(C::keccakf1600_state_rho_01);
106 const auto keccakf1600_STATE_PI_14 = in.get(C::keccakf1600_state_rho_31);
107 const auto keccakf1600_STATE_PI_20 = in.get(C::keccakf1600_state_rho_22);
108 const auto keccakf1600_STATE_PI_21 = in.get(C::keccakf1600_state_rho_02);
109 const auto keccakf1600_STATE_PI_22 = in.get(C::keccakf1600_state_rho_32);
110 const auto keccakf1600_STATE_PI_23 = in.get(C::keccakf1600_state_rho_12);
111 const auto keccakf1600_STATE_PI_24 = in.get(C::keccakf1600_state_rho_42);
112 const auto keccakf1600_STATE_PI_30 = in.get(C::keccakf1600_state_rho_33);
113 const auto keccakf1600_STATE_PI_31 = in.get(C::keccakf1600_state_rho_13);
114 const auto keccakf1600_STATE_PI_32 = in.get(C::keccakf1600_state_rho_43);
115 const auto keccakf1600_STATE_PI_33 = in.get(C::keccakf1600_state_rho_23);
116 const auto keccakf1600_STATE_PI_34 = in.get(C::keccakf1600_state_rho_03);
117 const auto keccakf1600_STATE_PI_40 = in.get(C::keccakf1600_state_rho_44);
118 const auto keccakf1600_STATE_PI_41 = in.get(C::keccakf1600_state_rho_24);
119 const auto keccakf1600_STATE_PI_42 = in.get(C::keccakf1600_state_rho_04);
120 const auto keccakf1600_STATE_PI_43 = in.get(C::keccakf1600_state_rho_34);
121 const auto keccakf1600_STATE_PI_44 = in.get(C::keccakf1600_state_rho_14);
122 const auto keccakf1600_POW_64_MIN_1 =
FF(
uint256_t{ 18446744073709551615UL, 0UL, 0UL, 0UL });
123 const auto keccakf1600_HIGHEST_SLICE_ADDRESS =
124 (constants_AVM_HIGHEST_MEM_ADDRESS - constants_AVM_KECCAKF1600_STATE_SIZE) +
FF(1);
127 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
129 static_cast<View
>(in.get(C::keccakf1600_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_sel)));
133 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
134 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::precomputed_first_row))) *
135 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_sel))) *
136 static_cast<View
>(in.get(C::keccakf1600_sel_shift));
140 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
141 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
142 ((
static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) -
FF(1)) +
143 static_cast<View
>(in.get(C::keccakf1600_error)));
147 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
149 static_cast<View
>(in.get(C::keccakf1600_start)) * (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_start)));
153 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
155 static_cast<View
>(in.get(C::keccakf1600_start)) * (
static_cast<View
>(in.get(C::keccakf1600_round)) -
FF(1));
159 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
160 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_round)) *
161 ((
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_sel))) *
162 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_round_inv))) +
163 static_cast<View
>(in.get(C::keccakf1600_round_inv))) -
164 static_cast<View
>(in.get(C::keccakf1600_sel)));
168 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
170 static_cast<View
>(in.get(C::keccakf1600_last)) * (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_last)));
174 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
176 static_cast<View
>(in.get(C::keccakf1600_error)) * (
static_cast<View
>(in.get(C::keccakf1600_last)) -
FF(1));
180 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
181 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel_shift)) *
182 (
static_cast<View
>(in.get(C::keccakf1600_start_shift)) -
CView(keccakf1600_LATCH_CONDITION));
186 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
188 static_cast<View
>(in.get(C::keccakf1600_last)) * (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_sel)));
192 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
194 static_cast<View
>(in.get(C::keccakf1600_sel)) * (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
195 ((
static_cast<View
>(in.get(C::keccakf1600_round_shift)) -
static_cast<View
>(in.get(C::keccakf1600_round))) -
200 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
202 static_cast<View
>(in.get(C::keccakf1600_sel)) *
203 (
static_cast<View
>(in.get(C::keccakf1600_bitwise_xor_op_id)) -
CView(constants_AVM_BITWISE_XOR_OP_ID));
207 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
209 static_cast<View
>(in.get(C::keccakf1600_sel)) *
210 (
static_cast<View
>(in.get(C::keccakf1600_bitwise_and_op_id)) -
CView(constants_AVM_BITWISE_AND_OP_ID));
214 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
215 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
216 (
static_cast<View
>(in.get(C::keccakf1600_tag_u64)) -
CView(constants_MEM_TAG_U64));
220 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
221 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_0)) *
222 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_0)));
226 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
227 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_0)) -
228 (
FF(
uint256_t{ 9223372036854775808UL, 0UL, 0UL, 0UL }) *
229 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_0)) +
230 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_0))));
234 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
235 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_rotl1_0)) -
236 (
FF(2) *
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_0)) +
237 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_0))));
241 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
242 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_1)) *
243 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_1)));
247 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
248 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_1)) -
249 (
FF(
uint256_t{ 9223372036854775808UL, 0UL, 0UL, 0UL }) *
250 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_1)) +
251 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_1))));
255 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
256 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_rotl1_1)) -
257 (
FF(2) *
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_1)) +
258 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_1))));
262 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
263 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_2)) *
264 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_2)));
268 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
269 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_2)) -
270 (
FF(
uint256_t{ 9223372036854775808UL, 0UL, 0UL, 0UL }) *
271 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_2)) +
272 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_2))));
276 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
277 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_rotl1_2)) -
278 (
FF(2) *
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_2)) +
279 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_2))));
283 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
284 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_3)) *
285 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_3)));
289 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
290 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_3)) -
291 (
FF(
uint256_t{ 9223372036854775808UL, 0UL, 0UL, 0UL }) *
292 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_3)) +
293 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_3))));
297 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
298 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_rotl1_3)) -
299 (
FF(2) *
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_3)) +
300 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_3))));
304 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
305 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_4)) *
306 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_4)));
310 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
311 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_4)) -
312 (
FF(
uint256_t{ 9223372036854775808UL, 0UL, 0UL, 0UL }) *
313 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_4)) +
314 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_4))));
318 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
319 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_rotl1_4)) -
320 (
FF(2) *
static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_low63_4)) +
321 static_cast<View
>(in.get(C::keccakf1600_theta_xor_row_msb_4))));
325 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
327 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_01)) -
328 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_01) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_01)) +
329 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_01))));
333 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
334 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_01)) -
335 (
CView(keccakf1600_POW_ROT_LEN_01) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_01)) +
336 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_01))));
340 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
342 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_02)) -
343 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_02) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_02)) +
344 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_02))));
348 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
349 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_02)) -
350 (
CView(keccakf1600_POW_ROT_LEN_02) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_02)) +
351 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_02))));
355 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
357 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_03)) -
358 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_03) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_03)) +
359 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_03))));
363 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
364 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_03)) -
365 (
CView(keccakf1600_POW_ROT_LEN_03) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_03)) +
366 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_03))));
370 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
372 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_04)) -
373 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_04) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_04)) +
374 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_04))));
378 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
379 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_04)) -
380 (
CView(keccakf1600_POW_ROT_LEN_04) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_04)) +
381 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_04))));
385 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
387 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_10)) -
388 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_10) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_10)) +
389 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_10))));
393 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
394 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_10)) -
395 (
CView(keccakf1600_POW_ROT_LEN_10) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_10)) +
396 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_10))));
400 using View =
typename std::tuple_element_t<39, ContainerOverSubrelations>::View;
402 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_11)) -
403 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_11) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_11)) +
404 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_11))));
408 using View =
typename std::tuple_element_t<40, ContainerOverSubrelations>::View;
409 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_11)) -
410 (
CView(keccakf1600_POW_ROT_LEN_11) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_11)) +
411 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_11))));
415 using View =
typename std::tuple_element_t<41, ContainerOverSubrelations>::View;
417 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_12)) -
418 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_12) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_12)) +
419 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_12))));
423 using View =
typename std::tuple_element_t<42, ContainerOverSubrelations>::View;
424 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_12)) -
425 (
CView(keccakf1600_POW_ROT_LEN_12) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_12)) +
426 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_12))));
430 using View =
typename std::tuple_element_t<43, ContainerOverSubrelations>::View;
432 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_13)) -
433 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_13) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_13)) +
434 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_13))));
438 using View =
typename std::tuple_element_t<44, ContainerOverSubrelations>::View;
439 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_13)) -
440 (
CView(keccakf1600_POW_ROT_LEN_13) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_13)) +
441 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_13))));
445 using View =
typename std::tuple_element_t<45, ContainerOverSubrelations>::View;
447 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_14)) -
448 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_14) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_14)) +
449 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_14))));
453 using View =
typename std::tuple_element_t<46, ContainerOverSubrelations>::View;
454 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_14)) -
455 (
CView(keccakf1600_POW_ROT_LEN_14) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_14)) +
456 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_14))));
460 using View =
typename std::tuple_element_t<47, ContainerOverSubrelations>::View;
462 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_20)) -
463 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_20) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_20)) +
464 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_20))));
468 using View =
typename std::tuple_element_t<48, ContainerOverSubrelations>::View;
469 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_20)) -
470 (
CView(keccakf1600_POW_ROT_LEN_20) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_20)) +
471 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_20))));
475 using View =
typename std::tuple_element_t<49, ContainerOverSubrelations>::View;
477 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_21)) -
478 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_21) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_21)) +
479 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_21))));
483 using View =
typename std::tuple_element_t<50, ContainerOverSubrelations>::View;
484 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_21)) -
485 (
CView(keccakf1600_POW_ROT_LEN_21) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_21)) +
486 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_21))));
490 using View =
typename std::tuple_element_t<51, ContainerOverSubrelations>::View;
492 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_22)) -
493 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_22) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_22)) +
494 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_22))));
498 using View =
typename std::tuple_element_t<52, ContainerOverSubrelations>::View;
499 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_22)) -
500 (
CView(keccakf1600_POW_ROT_LEN_22) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_22)) +
501 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_22))));
505 using View =
typename std::tuple_element_t<53, ContainerOverSubrelations>::View;
507 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_23)) -
508 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_23) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_23)) +
509 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_23))));
513 using View =
typename std::tuple_element_t<54, ContainerOverSubrelations>::View;
514 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_23)) -
515 (
CView(keccakf1600_POW_ROT_LEN_23) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_23)) +
516 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_23))));
520 using View =
typename std::tuple_element_t<55, ContainerOverSubrelations>::View;
522 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_24)) -
523 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_24) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_24)) +
524 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_24))));
528 using View =
typename std::tuple_element_t<56, ContainerOverSubrelations>::View;
529 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_24)) -
530 (
CView(keccakf1600_POW_ROT_LEN_24) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_24)) +
531 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_24))));
535 using View =
typename std::tuple_element_t<57, ContainerOverSubrelations>::View;
537 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_30)) -
538 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_30) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_30)) +
539 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_30))));
543 using View =
typename std::tuple_element_t<58, ContainerOverSubrelations>::View;
544 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_30)) -
545 (
CView(keccakf1600_POW_ROT_LEN_30) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_30)) +
546 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_30))));
550 using View =
typename std::tuple_element_t<59, ContainerOverSubrelations>::View;
552 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_31)) -
553 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_31) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_31)) +
554 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_31))));
558 using View =
typename std::tuple_element_t<60, ContainerOverSubrelations>::View;
559 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_31)) -
560 (
CView(keccakf1600_POW_ROT_LEN_31) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_31)) +
561 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_31))));
565 using View =
typename std::tuple_element_t<61, ContainerOverSubrelations>::View;
567 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_32)) -
568 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_32) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_32)) +
569 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_32))));
573 using View =
typename std::tuple_element_t<62, ContainerOverSubrelations>::View;
574 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_32)) -
575 (
CView(keccakf1600_POW_ROT_LEN_32) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_32)) +
576 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_32))));
580 using View =
typename std::tuple_element_t<63, ContainerOverSubrelations>::View;
582 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_33)) -
583 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_33) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_33)) +
584 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_33))));
588 using View =
typename std::tuple_element_t<64, ContainerOverSubrelations>::View;
589 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_33)) -
590 (
CView(keccakf1600_POW_ROT_LEN_33) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_33)) +
591 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_33))));
595 using View =
typename std::tuple_element_t<65, ContainerOverSubrelations>::View;
597 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_34)) -
598 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_34) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_34)) +
599 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_34))));
603 using View =
typename std::tuple_element_t<66, ContainerOverSubrelations>::View;
604 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_34)) -
605 (
CView(keccakf1600_POW_ROT_LEN_34) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_34)) +
606 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_34))));
610 using View =
typename std::tuple_element_t<67, ContainerOverSubrelations>::View;
612 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_40)) -
613 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_40) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_40)) +
614 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_40))));
618 using View =
typename std::tuple_element_t<68, ContainerOverSubrelations>::View;
619 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_40)) -
620 (
CView(keccakf1600_POW_ROT_LEN_40) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_40)) +
621 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_40))));
625 using View =
typename std::tuple_element_t<69, ContainerOverSubrelations>::View;
627 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_41)) -
628 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_41) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_41)) +
629 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_41))));
633 using View =
typename std::tuple_element_t<70, ContainerOverSubrelations>::View;
634 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_41)) -
635 (
CView(keccakf1600_POW_ROT_LEN_41) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_41)) +
636 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_41))));
640 using View =
typename std::tuple_element_t<71, ContainerOverSubrelations>::View;
642 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_42)) -
643 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_42) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_42)) +
644 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_42))));
648 using View =
typename std::tuple_element_t<72, ContainerOverSubrelations>::View;
649 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_42)) -
650 (
CView(keccakf1600_POW_ROT_LEN_42) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_42)) +
651 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_42))));
655 using View =
typename std::tuple_element_t<73, ContainerOverSubrelations>::View;
657 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_43)) -
658 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_43) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_43)) +
659 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_43))));
663 using View =
typename std::tuple_element_t<74, ContainerOverSubrelations>::View;
664 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_43)) -
665 (
CView(keccakf1600_POW_ROT_LEN_43) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_43)) +
666 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_43))));
670 using View =
typename std::tuple_element_t<75, ContainerOverSubrelations>::View;
672 (
static_cast<View
>(in.get(C::keccakf1600_state_theta_44)) -
673 (
CView(keccakf1600_POW_ROT_64_MIN_LEN_44) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_44)) +
674 static_cast<View
>(in.get(C::keccakf1600_state_theta_low_44))));
678 using View =
typename std::tuple_element_t<76, ContainerOverSubrelations>::View;
679 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_rho_44)) -
680 (
CView(keccakf1600_POW_ROT_LEN_44) *
static_cast<View
>(in.get(C::keccakf1600_state_theta_low_44)) +
681 static_cast<View
>(in.get(C::keccakf1600_state_theta_hi_44))));
685 using View =
typename std::tuple_element_t<77, ContainerOverSubrelations>::View;
686 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
687 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_02)) -
CView(keccakf1600_ROT_LEN_02));
691 using View =
typename std::tuple_element_t<78, ContainerOverSubrelations>::View;
692 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
693 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_04)) -
CView(keccakf1600_ROT_LEN_04));
697 using View =
typename std::tuple_element_t<79, ContainerOverSubrelations>::View;
698 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
699 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_10)) -
CView(keccakf1600_ROT_LEN_10));
703 using View =
typename std::tuple_element_t<80, ContainerOverSubrelations>::View;
704 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
705 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_12)) -
CView(keccakf1600_ROT_LEN_12));
709 using View =
typename std::tuple_element_t<81, ContainerOverSubrelations>::View;
710 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
711 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_14)) -
CView(keccakf1600_ROT_LEN_14));
715 using View =
typename std::tuple_element_t<82, ContainerOverSubrelations>::View;
716 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
717 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_21)) -
CView(keccakf1600_ROT_LEN_21));
721 using View =
typename std::tuple_element_t<83, ContainerOverSubrelations>::View;
722 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
723 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_23)) -
CView(keccakf1600_ROT_LEN_23));
727 using View =
typename std::tuple_element_t<84, ContainerOverSubrelations>::View;
728 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
729 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_30)) -
CView(keccakf1600_ROT_LEN_30));
733 using View =
typename std::tuple_element_t<85, ContainerOverSubrelations>::View;
734 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
735 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_32)) -
CView(keccakf1600_ROT_LEN_32));
739 using View =
typename std::tuple_element_t<86, ContainerOverSubrelations>::View;
740 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
741 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_33)) -
CView(keccakf1600_ROT_LEN_33));
745 using View =
typename std::tuple_element_t<87, ContainerOverSubrelations>::View;
746 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
747 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_40)) -
CView(keccakf1600_ROT_LEN_40));
751 using View =
typename std::tuple_element_t<88, ContainerOverSubrelations>::View;
752 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
753 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_41)) -
CView(keccakf1600_ROT_LEN_41));
757 using View =
typename std::tuple_element_t<89, ContainerOverSubrelations>::View;
758 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
759 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_43)) -
CView(keccakf1600_ROT_LEN_43));
763 using View =
typename std::tuple_element_t<90, ContainerOverSubrelations>::View;
764 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_sel)) *
765 (
static_cast<View
>(in.get(C::keccakf1600_rot_len_44)) -
CView(keccakf1600_ROT_LEN_44));
769 using View =
typename std::tuple_element_t<91, ContainerOverSubrelations>::View;
771 static_cast<View
>(in.get(C::keccakf1600_sel)) *
772 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_01)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_01)));
776 using View =
typename std::tuple_element_t<92, ContainerOverSubrelations>::View;
778 static_cast<View
>(in.get(C::keccakf1600_sel)) *
779 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_03)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_03)));
783 using View =
typename std::tuple_element_t<93, ContainerOverSubrelations>::View;
785 static_cast<View
>(in.get(C::keccakf1600_sel)) *
786 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_11)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_11)));
790 using View =
typename std::tuple_element_t<94, ContainerOverSubrelations>::View;
792 static_cast<View
>(in.get(C::keccakf1600_sel)) *
793 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_13)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_13)));
797 using View =
typename std::tuple_element_t<95, ContainerOverSubrelations>::View;
799 static_cast<View
>(in.get(C::keccakf1600_sel)) *
800 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_20)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_20)));
804 using View =
typename std::tuple_element_t<96, ContainerOverSubrelations>::View;
806 static_cast<View
>(in.get(C::keccakf1600_sel)) *
807 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_22)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_22)));
811 using View =
typename std::tuple_element_t<97, ContainerOverSubrelations>::View;
813 static_cast<View
>(in.get(C::keccakf1600_sel)) *
814 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_24)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_24)));
818 using View =
typename std::tuple_element_t<98, ContainerOverSubrelations>::View;
820 static_cast<View
>(in.get(C::keccakf1600_sel)) *
821 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_31)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_31)));
825 using View =
typename std::tuple_element_t<99, ContainerOverSubrelations>::View;
827 static_cast<View
>(in.get(C::keccakf1600_sel)) *
828 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_34)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_34)));
832 using View =
typename std::tuple_element_t<100, ContainerOverSubrelations>::View;
834 static_cast<View
>(in.get(C::keccakf1600_sel)) *
835 (
static_cast<View
>(in.get(C::keccakf1600_rot_64_min_len_42)) - (
FF(64) -
CView(keccakf1600_ROT_LEN_42)));
839 using View =
typename std::tuple_element_t<101, ContainerOverSubrelations>::View;
840 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_00)) -
841 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
842 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_00)));
846 using View =
typename std::tuple_element_t<102, ContainerOverSubrelations>::View;
847 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_01)) -
848 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
849 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_01)));
853 using View =
typename std::tuple_element_t<103, ContainerOverSubrelations>::View;
854 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_02)) -
855 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
856 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_02)));
860 using View =
typename std::tuple_element_t<104, ContainerOverSubrelations>::View;
861 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_03)) -
862 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
863 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_03)));
867 using View =
typename std::tuple_element_t<105, ContainerOverSubrelations>::View;
868 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_04)) -
869 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
870 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_04)));
874 using View =
typename std::tuple_element_t<106, ContainerOverSubrelations>::View;
875 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_10)) -
876 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
877 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_10)));
881 using View =
typename std::tuple_element_t<107, ContainerOverSubrelations>::View;
882 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_11)) -
883 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
884 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_11)));
888 using View =
typename std::tuple_element_t<108, ContainerOverSubrelations>::View;
889 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_12)) -
890 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
891 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_12)));
895 using View =
typename std::tuple_element_t<109, ContainerOverSubrelations>::View;
896 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_13)) -
897 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
898 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_13)));
902 using View =
typename std::tuple_element_t<110, ContainerOverSubrelations>::View;
903 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_14)) -
904 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
905 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_14)));
909 using View =
typename std::tuple_element_t<111, ContainerOverSubrelations>::View;
910 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_20)) -
911 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
912 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_20)));
916 using View =
typename std::tuple_element_t<112, ContainerOverSubrelations>::View;
917 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_21)) -
918 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
919 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_21)));
923 using View =
typename std::tuple_element_t<113, ContainerOverSubrelations>::View;
924 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_22)) -
925 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
926 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_22)));
930 using View =
typename std::tuple_element_t<114, ContainerOverSubrelations>::View;
931 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_23)) -
932 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
933 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_23)));
937 using View =
typename std::tuple_element_t<115, ContainerOverSubrelations>::View;
938 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_24)) -
939 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
940 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_24)));
944 using View =
typename std::tuple_element_t<116, ContainerOverSubrelations>::View;
945 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_30)) -
946 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
947 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_30)));
951 using View =
typename std::tuple_element_t<117, ContainerOverSubrelations>::View;
952 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_31)) -
953 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
954 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_31)));
958 using View =
typename std::tuple_element_t<118, ContainerOverSubrelations>::View;
959 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_32)) -
960 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
961 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_32)));
965 using View =
typename std::tuple_element_t<119, ContainerOverSubrelations>::View;
966 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_33)) -
967 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
968 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_33)));
972 using View =
typename std::tuple_element_t<120, ContainerOverSubrelations>::View;
973 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_34)) -
974 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
975 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_34)));
979 using View =
typename std::tuple_element_t<121, ContainerOverSubrelations>::View;
980 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_40)) -
981 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
982 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_40)));
986 using View =
typename std::tuple_element_t<122, ContainerOverSubrelations>::View;
987 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_41)) -
988 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
989 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_41)));
993 using View =
typename std::tuple_element_t<123, ContainerOverSubrelations>::View;
994 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_42)) -
995 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
996 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_42)));
1000 using View =
typename std::tuple_element_t<124, ContainerOverSubrelations>::View;
1001 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_43)) -
1002 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
1003 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_43)));
1007 using View =
typename std::tuple_element_t<125, ContainerOverSubrelations>::View;
1008 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_state_pi_not_44)) -
1009 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
1010 (
CView(keccakf1600_POW_64_MIN_1) -
CView(keccakf1600_STATE_PI_44)));
1014 using View =
typename std::tuple_element_t<126, ContainerOverSubrelations>::View;
1015 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1016 (
static_cast<View
>(in.get(C::keccakf1600_state_in_00_shift)) -
1017 static_cast<View
>(in.get(C::keccakf1600_state_iota_00)));
1021 using View =
typename std::tuple_element_t<127, ContainerOverSubrelations>::View;
1022 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1023 (
static_cast<View
>(in.get(C::keccakf1600_state_in_01_shift)) -
1024 static_cast<View
>(in.get(C::keccakf1600_state_chi_01)));
1028 using View =
typename std::tuple_element_t<128, ContainerOverSubrelations>::View;
1029 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1030 (
static_cast<View
>(in.get(C::keccakf1600_state_in_02_shift)) -
1031 static_cast<View
>(in.get(C::keccakf1600_state_chi_02)));
1035 using View =
typename std::tuple_element_t<129, ContainerOverSubrelations>::View;
1036 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1037 (
static_cast<View
>(in.get(C::keccakf1600_state_in_03_shift)) -
1038 static_cast<View
>(in.get(C::keccakf1600_state_chi_03)));
1042 using View =
typename std::tuple_element_t<130, ContainerOverSubrelations>::View;
1043 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1044 (
static_cast<View
>(in.get(C::keccakf1600_state_in_04_shift)) -
1045 static_cast<View
>(in.get(C::keccakf1600_state_chi_04)));
1049 using View =
typename std::tuple_element_t<131, ContainerOverSubrelations>::View;
1050 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1051 (
static_cast<View
>(in.get(C::keccakf1600_state_in_10_shift)) -
1052 static_cast<View
>(in.get(C::keccakf1600_state_chi_10)));
1056 using View =
typename std::tuple_element_t<132, ContainerOverSubrelations>::View;
1057 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1058 (
static_cast<View
>(in.get(C::keccakf1600_state_in_11_shift)) -
1059 static_cast<View
>(in.get(C::keccakf1600_state_chi_11)));
1063 using View =
typename std::tuple_element_t<133, ContainerOverSubrelations>::View;
1064 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1065 (
static_cast<View
>(in.get(C::keccakf1600_state_in_12_shift)) -
1066 static_cast<View
>(in.get(C::keccakf1600_state_chi_12)));
1070 using View =
typename std::tuple_element_t<134, ContainerOverSubrelations>::View;
1071 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1072 (
static_cast<View
>(in.get(C::keccakf1600_state_in_13_shift)) -
1073 static_cast<View
>(in.get(C::keccakf1600_state_chi_13)));
1077 using View =
typename std::tuple_element_t<135, ContainerOverSubrelations>::View;
1078 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1079 (
static_cast<View
>(in.get(C::keccakf1600_state_in_14_shift)) -
1080 static_cast<View
>(in.get(C::keccakf1600_state_chi_14)));
1084 using View =
typename std::tuple_element_t<136, ContainerOverSubrelations>::View;
1085 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1086 (
static_cast<View
>(in.get(C::keccakf1600_state_in_20_shift)) -
1087 static_cast<View
>(in.get(C::keccakf1600_state_chi_20)));
1091 using View =
typename std::tuple_element_t<137, ContainerOverSubrelations>::View;
1092 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1093 (
static_cast<View
>(in.get(C::keccakf1600_state_in_21_shift)) -
1094 static_cast<View
>(in.get(C::keccakf1600_state_chi_21)));
1098 using View =
typename std::tuple_element_t<138, ContainerOverSubrelations>::View;
1099 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1100 (
static_cast<View
>(in.get(C::keccakf1600_state_in_22_shift)) -
1101 static_cast<View
>(in.get(C::keccakf1600_state_chi_22)));
1105 using View =
typename std::tuple_element_t<139, ContainerOverSubrelations>::View;
1106 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1107 (
static_cast<View
>(in.get(C::keccakf1600_state_in_23_shift)) -
1108 static_cast<View
>(in.get(C::keccakf1600_state_chi_23)));
1112 using View =
typename std::tuple_element_t<140, ContainerOverSubrelations>::View;
1113 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1114 (
static_cast<View
>(in.get(C::keccakf1600_state_in_24_shift)) -
1115 static_cast<View
>(in.get(C::keccakf1600_state_chi_24)));
1119 using View =
typename std::tuple_element_t<141, ContainerOverSubrelations>::View;
1120 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1121 (
static_cast<View
>(in.get(C::keccakf1600_state_in_30_shift)) -
1122 static_cast<View
>(in.get(C::keccakf1600_state_chi_30)));
1126 using View =
typename std::tuple_element_t<142, ContainerOverSubrelations>::View;
1127 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1128 (
static_cast<View
>(in.get(C::keccakf1600_state_in_31_shift)) -
1129 static_cast<View
>(in.get(C::keccakf1600_state_chi_31)));
1133 using View =
typename std::tuple_element_t<143, ContainerOverSubrelations>::View;
1134 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1135 (
static_cast<View
>(in.get(C::keccakf1600_state_in_32_shift)) -
1136 static_cast<View
>(in.get(C::keccakf1600_state_chi_32)));
1140 using View =
typename std::tuple_element_t<144, ContainerOverSubrelations>::View;
1141 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1142 (
static_cast<View
>(in.get(C::keccakf1600_state_in_33_shift)) -
1143 static_cast<View
>(in.get(C::keccakf1600_state_chi_33)));
1147 using View =
typename std::tuple_element_t<145, ContainerOverSubrelations>::View;
1148 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1149 (
static_cast<View
>(in.get(C::keccakf1600_state_in_34_shift)) -
1150 static_cast<View
>(in.get(C::keccakf1600_state_chi_34)));
1154 using View =
typename std::tuple_element_t<146, ContainerOverSubrelations>::View;
1155 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1156 (
static_cast<View
>(in.get(C::keccakf1600_state_in_40_shift)) -
1157 static_cast<View
>(in.get(C::keccakf1600_state_chi_40)));
1161 using View =
typename std::tuple_element_t<147, ContainerOverSubrelations>::View;
1162 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1163 (
static_cast<View
>(in.get(C::keccakf1600_state_in_41_shift)) -
1164 static_cast<View
>(in.get(C::keccakf1600_state_chi_41)));
1168 using View =
typename std::tuple_element_t<148, ContainerOverSubrelations>::View;
1169 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1170 (
static_cast<View
>(in.get(C::keccakf1600_state_in_42_shift)) -
1171 static_cast<View
>(in.get(C::keccakf1600_state_chi_42)));
1175 using View =
typename std::tuple_element_t<149, ContainerOverSubrelations>::View;
1176 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1177 (
static_cast<View
>(in.get(C::keccakf1600_state_in_43_shift)) -
1178 static_cast<View
>(in.get(C::keccakf1600_state_chi_43)));
1182 using View =
typename std::tuple_element_t<150, ContainerOverSubrelations>::View;
1183 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1184 (
static_cast<View
>(in.get(C::keccakf1600_state_in_44_shift)) -
1185 static_cast<View
>(in.get(C::keccakf1600_state_chi_44)));
1189 using View =
typename std::tuple_element_t<151, ContainerOverSubrelations>::View;
1190 auto tmp =
static_cast<View
>(in.get(C::keccakf1600_start)) *
1191 (
static_cast<View
>(in.get(C::keccakf1600_highest_slice_address)) -
1192 CView(keccakf1600_HIGHEST_SLICE_ADDRESS));
1196 using View =
typename std::tuple_element_t<152, ContainerOverSubrelations>::View;
1197 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_error)) -
1198 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_src_out_of_range_error))) *
1199 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_dst_out_of_range_error))) *
1200 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_tag_error)))));
1204 using View =
typename std::tuple_element_t<153, ContainerOverSubrelations>::View;
1206 (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) * (
static_cast<View
>(in.get(C::keccakf1600_dst_addr_shift)) -
1207 static_cast<View
>(in.get(C::keccakf1600_dst_addr)));
1211 using View =
typename std::tuple_element_t<154, ContainerOverSubrelations>::View;
1212 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) * (
static_cast<View
>(in.get(C::keccakf1600_clk_shift)) -
1213 static_cast<View
>(in.get(C::keccakf1600_clk)));
1217 using View =
typename std::tuple_element_t<155, ContainerOverSubrelations>::View;
1219 (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) * (
static_cast<View
>(in.get(C::keccakf1600_space_id_shift)) -
1220 static_cast<View
>(in.get(C::keccakf1600_space_id)));
1224 using View =
typename std::tuple_element_t<156, ContainerOverSubrelations>::View;
1225 auto tmp = (
FF(1) -
CView(keccakf1600_LATCH_CONDITION)) *
1226 (
static_cast<View
>(in.get(C::keccakf1600_sel_no_error_shift)) -
1227 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)));
1231 using View =
typename std::tuple_element_t<157, ContainerOverSubrelations>::View;
1232 auto tmp = (
static_cast<View
>(in.get(C::keccakf1600_sel_slice_read)) -
1233 static_cast<View
>(in.get(C::keccakf1600_start)) *
1234 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_src_out_of_range_error))) *
1235 (
FF(1) -
static_cast<View
>(in.get(C::keccakf1600_dst_out_of_range_error))));
1239 using View =
typename std::tuple_element_t<158, ContainerOverSubrelations>::View;
1241 (
static_cast<View
>(in.get(C::keccakf1600_sel_slice_write)) -
1242 static_cast<View
>(in.get(C::keccakf1600_sel_no_error)) *
static_cast<View
>(in.get(C::keccakf1600_last)));