31 const auto sha256_OUT_D = in.get(C::sha256_d) + in.get(C::sha256_init_d);
32 const auto sha256_OUT_E = in.get(C::sha256_e) + in.get(C::sha256_init_e);
33 const auto sha256_OUT_F = in.get(C::sha256_f) + in.get(C::sha256_init_f);
34 const auto sha256_OUT_G = in.get(C::sha256_g) + in.get(C::sha256_init_g);
35 const auto sha256_OUT_H = in.get(C::sha256_h) + in.get(C::sha256_init_h);
36 const auto sha256_LATCH_CONDITION = in.get(C::sha256_end) + in.get(C::precomputed_first_row);
39 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
40 auto tmp = (
static_cast<View
>(in.get(C::sha256_perform_round)) -
41 (
FF(1) -
CView(sha256_LATCH_CONDITION)) *
CView(sha256_SEL_NO_ERR));
45 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
46 auto tmp = (
static_cast<View
>(in.get(C::sha256_last)) -
47 (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
static_cast<View
>(in.get(C::sha256_end)));
51 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
52 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
53 (
static_cast<View
>(in.get(C::sha256_xor_op_id)) -
CView(constants_AVM_BITWISE_XOR_OP_ID));
57 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
58 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
59 (
static_cast<View
>(in.get(C::sha256_and_op_id)) -
CView(constants_AVM_BITWISE_AND_OP_ID));
63 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
64 auto tmp = (
static_cast<View
>(in.get(C::sha256_start)) *
65 (
static_cast<View
>(in.get(C::sha256_rounds_remaining)) -
CView(sha256_NUM_ROUNDS)) +
66 static_cast<View
>(in.get(C::sha256_perform_round)) *
67 ((
static_cast<View
>(in.get(C::sha256_rounds_remaining)) -
68 static_cast<View
>(in.get(C::sha256_rounds_remaining_shift))) -
73 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
74 auto tmp =
CView(sha256_SEL_NO_ERR) *
75 (
static_cast<View
>(in.get(C::sha256_round_count)) -
76 (
CView(sha256_NUM_ROUNDS) -
static_cast<View
>(in.get(C::sha256_rounds_remaining))));
80 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
82 CView(sha256_SEL_NO_ERR) * ((
static_cast<View
>(in.get(C::sha256_rounds_remaining)) *
83 (
static_cast<View
>(in.get(C::sha256_end)) *
84 (
FF(1) -
static_cast<View
>(in.get(C::sha256_rounds_remaining_inv))) +
85 static_cast<View
>(in.get(C::sha256_rounds_remaining_inv))) -
87 static_cast<View
>(in.get(C::sha256_end)));
91 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
92 auto tmp =
CView(sha256_SEL_NO_ERR) * (
static_cast<View
>(in.get(C::sha256_two_pow_32)) -
FF(4294967296UL));
96 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
97 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
98 (
static_cast<View
>(in.get(C::sha256_a)) -
static_cast<View
>(in.get(C::sha256_init_a)));
102 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
103 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
104 (
static_cast<View
>(in.get(C::sha256_b)) -
static_cast<View
>(in.get(C::sha256_init_b)));
108 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
109 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
110 (
static_cast<View
>(in.get(C::sha256_c)) -
static_cast<View
>(in.get(C::sha256_init_c)));
114 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
115 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
116 (
static_cast<View
>(in.get(C::sha256_d)) -
static_cast<View
>(in.get(C::sha256_init_d)));
120 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
121 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
122 (
static_cast<View
>(in.get(C::sha256_e)) -
static_cast<View
>(in.get(C::sha256_init_e)));
126 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
127 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
128 (
static_cast<View
>(in.get(C::sha256_f)) -
static_cast<View
>(in.get(C::sha256_init_f)));
132 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
133 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
134 (
static_cast<View
>(in.get(C::sha256_g)) -
static_cast<View
>(in.get(C::sha256_init_g)));
138 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
139 auto tmp =
static_cast<View
>(in.get(C::sha256_start)) * (
FF(1) -
static_cast<View
>(in.get(C::sha256_err))) *
140 (
static_cast<View
>(in.get(C::sha256_h)) -
static_cast<View
>(in.get(C::sha256_init_h)));
144 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
145 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
146 (
static_cast<View
>(in.get(C::sha256_init_a_shift)) -
static_cast<View
>(in.get(C::sha256_init_a)));
150 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
151 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
152 (
static_cast<View
>(in.get(C::sha256_init_b_shift)) -
static_cast<View
>(in.get(C::sha256_init_b)));
156 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
157 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
158 (
static_cast<View
>(in.get(C::sha256_init_c_shift)) -
static_cast<View
>(in.get(C::sha256_init_c)));
162 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
163 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
164 (
static_cast<View
>(in.get(C::sha256_init_d_shift)) -
static_cast<View
>(in.get(C::sha256_init_d)));
168 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
169 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
170 (
static_cast<View
>(in.get(C::sha256_init_e_shift)) -
static_cast<View
>(in.get(C::sha256_init_e)));
174 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
175 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
176 (
static_cast<View
>(in.get(C::sha256_init_f_shift)) -
static_cast<View
>(in.get(C::sha256_init_f)));
180 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
181 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
182 (
static_cast<View
>(in.get(C::sha256_init_g_shift)) -
static_cast<View
>(in.get(C::sha256_init_g)));
186 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
187 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
188 (
static_cast<View
>(in.get(C::sha256_init_h_shift)) -
static_cast<View
>(in.get(C::sha256_init_h)));
192 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
194 static_cast<View
>(in.get(C::sha256_perform_round)) *
195 (
static_cast<View
>(in.get(C::sha256_helper_w0_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w1)));
199 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
201 static_cast<View
>(in.get(C::sha256_perform_round)) *
202 (
static_cast<View
>(in.get(C::sha256_helper_w1_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w2)));
206 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
208 static_cast<View
>(in.get(C::sha256_perform_round)) *
209 (
static_cast<View
>(in.get(C::sha256_helper_w2_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w3)));
213 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
215 static_cast<View
>(in.get(C::sha256_perform_round)) *
216 (
static_cast<View
>(in.get(C::sha256_helper_w3_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w4)));
220 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
222 static_cast<View
>(in.get(C::sha256_perform_round)) *
223 (
static_cast<View
>(in.get(C::sha256_helper_w4_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w5)));
227 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
229 static_cast<View
>(in.get(C::sha256_perform_round)) *
230 (
static_cast<View
>(in.get(C::sha256_helper_w5_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w6)));
234 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
236 static_cast<View
>(in.get(C::sha256_perform_round)) *
237 (
static_cast<View
>(in.get(C::sha256_helper_w6_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w7)));
241 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
243 static_cast<View
>(in.get(C::sha256_perform_round)) *
244 (
static_cast<View
>(in.get(C::sha256_helper_w7_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w8)));
248 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
250 static_cast<View
>(in.get(C::sha256_perform_round)) *
251 (
static_cast<View
>(in.get(C::sha256_helper_w8_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w9)));
255 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
257 static_cast<View
>(in.get(C::sha256_perform_round)) *
258 (
static_cast<View
>(in.get(C::sha256_helper_w9_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w10)));
262 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
264 static_cast<View
>(in.get(C::sha256_perform_round)) *
265 (
static_cast<View
>(in.get(C::sha256_helper_w10_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w11)));
269 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
271 static_cast<View
>(in.get(C::sha256_perform_round)) *
272 (
static_cast<View
>(in.get(C::sha256_helper_w11_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w12)));
276 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
278 static_cast<View
>(in.get(C::sha256_perform_round)) *
279 (
static_cast<View
>(in.get(C::sha256_helper_w12_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w13)));
283 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
285 static_cast<View
>(in.get(C::sha256_perform_round)) *
286 (
static_cast<View
>(in.get(C::sha256_helper_w13_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w14)));
290 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
292 static_cast<View
>(in.get(C::sha256_perform_round)) *
293 (
static_cast<View
>(in.get(C::sha256_helper_w14_shift)) -
static_cast<View
>(in.get(C::sha256_helper_w15)));
297 using View =
typename std::tuple_element_t<39, ContainerOverSubrelations>::View;
298 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
299 (
static_cast<View
>(in.get(C::sha256_helper_w15_shift)) -
static_cast<View
>(in.get(C::sha256_w)));
303 using View =
typename std::tuple_element_t<40, ContainerOverSubrelations>::View;
304 auto tmp = (
static_cast<View
>(in.get(C::sha256_sel_compute_w)) -
305 static_cast<View
>(in.get(C::sha256_perform_round)) *
306 (
FF(1) -
static_cast<View
>(in.get(C::sha256_sel_is_input_round))));
310 using View =
typename std::tuple_element_t<41, ContainerOverSubrelations>::View;
311 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
312 ((
static_cast<View
>(in.get(C::sha256_computed_w_lhs)) *
FF(4294967296UL) +
313 static_cast<View
>(in.get(C::sha256_computed_w_rhs))) -
314 CView(sha256_COMPUTED_W));
318 using View =
typename std::tuple_element_t<42, ContainerOverSubrelations>::View;
319 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
320 (
static_cast<View
>(in.get(C::sha256_w)) -
static_cast<View
>(in.get(C::sha256_computed_w_rhs)));
324 using View =
typename std::tuple_element_t<43, ContainerOverSubrelations>::View;
325 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
326 ((
static_cast<View
>(in.get(C::sha256_helper_w1)) -
327 static_cast<View
>(in.get(C::sha256_w_15_rotr_7)) *
FF(128)) +
328 static_cast<View
>(in.get(C::sha256_rhs_w_7)) *
FF(4294967295UL));
332 using View =
typename std::tuple_element_t<44, ContainerOverSubrelations>::View;
333 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
334 (
static_cast<View
>(in.get(C::sha256_two_pow_7)) -
FF(128));
338 using View =
typename std::tuple_element_t<45, ContainerOverSubrelations>::View;
339 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
340 ((
static_cast<View
>(in.get(C::sha256_helper_w1)) -
341 static_cast<View
>(in.get(C::sha256_w_15_rotr_18)) *
FF(262144)) +
342 static_cast<View
>(in.get(C::sha256_rhs_w_18)) *
FF(4294967295UL));
346 using View =
typename std::tuple_element_t<46, ContainerOverSubrelations>::View;
347 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
348 (
static_cast<View
>(in.get(C::sha256_two_pow_18)) -
FF(262144));
352 using View =
typename std::tuple_element_t<47, ContainerOverSubrelations>::View;
354 static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
355 (
static_cast<View
>(in.get(C::sha256_helper_w1)) -
356 (
static_cast<View
>(in.get(C::sha256_lhs_w_3)) *
FF(8) +
static_cast<View
>(in.get(C::sha256_rhs_w_3))));
360 using View =
typename std::tuple_element_t<48, ContainerOverSubrelations>::View;
361 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
362 (
static_cast<View
>(in.get(C::sha256_two_pow_3)) -
FF(8));
366 using View =
typename std::tuple_element_t<49, ContainerOverSubrelations>::View;
367 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
368 ((
static_cast<View
>(in.get(C::sha256_helper_w14)) -
369 static_cast<View
>(in.get(C::sha256_w_2_rotr_17)) *
FF(131072)) +
370 static_cast<View
>(in.get(C::sha256_rhs_w_17)) *
FF(4294967295UL));
374 using View =
typename std::tuple_element_t<50, ContainerOverSubrelations>::View;
375 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
376 (
static_cast<View
>(in.get(C::sha256_two_pow_17)) -
FF(131072));
380 using View =
typename std::tuple_element_t<51, ContainerOverSubrelations>::View;
381 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
382 ((
static_cast<View
>(in.get(C::sha256_helper_w14)) -
383 static_cast<View
>(in.get(C::sha256_w_2_rotr_19)) *
FF(524288)) +
384 static_cast<View
>(in.get(C::sha256_rhs_w_19)) *
FF(4294967295UL));
388 using View =
typename std::tuple_element_t<52, ContainerOverSubrelations>::View;
389 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
390 (
static_cast<View
>(in.get(C::sha256_two_pow_19)) -
FF(524288));
394 using View =
typename std::tuple_element_t<53, ContainerOverSubrelations>::View;
395 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
396 (
static_cast<View
>(in.get(C::sha256_helper_w14)) -
397 (
static_cast<View
>(in.get(C::sha256_lhs_w_10)) *
FF(1024) +
398 static_cast<View
>(in.get(C::sha256_rhs_w_10))));
402 using View =
typename std::tuple_element_t<54, ContainerOverSubrelations>::View;
403 auto tmp =
static_cast<View
>(in.get(C::sha256_sel_compute_w)) *
404 (
static_cast<View
>(in.get(C::sha256_two_pow_10)) -
FF(1024));
408 using View =
typename std::tuple_element_t<55, ContainerOverSubrelations>::View;
409 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
410 ((
static_cast<View
>(in.get(C::sha256_e)) -
static_cast<View
>(in.get(C::sha256_e_rotr_6)) *
FF(64)) +
411 static_cast<View
>(in.get(C::sha256_rhs_e_6)) *
FF(4294967295UL));
415 using View =
typename std::tuple_element_t<56, ContainerOverSubrelations>::View;
416 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
417 (
static_cast<View
>(in.get(C::sha256_two_pow_6)) -
FF(64));
421 using View =
typename std::tuple_element_t<57, ContainerOverSubrelations>::View;
423 static_cast<View
>(in.get(C::sha256_perform_round)) *
424 ((
static_cast<View
>(in.get(C::sha256_e)) -
static_cast<View
>(in.get(C::sha256_e_rotr_11)) *
FF(2048)) +
425 static_cast<View
>(in.get(C::sha256_rhs_e_11)) *
FF(4294967295UL));
429 using View =
typename std::tuple_element_t<58, ContainerOverSubrelations>::View;
430 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
431 (
static_cast<View
>(in.get(C::sha256_two_pow_11)) -
FF(2048));
435 using View =
typename std::tuple_element_t<59, ContainerOverSubrelations>::View;
437 static_cast<View
>(in.get(C::sha256_perform_round)) *
438 ((
static_cast<View
>(in.get(C::sha256_e)) -
static_cast<View
>(in.get(C::sha256_e_rotr_25)) *
FF(33554432)) +
439 static_cast<View
>(in.get(C::sha256_rhs_e_25)) *
FF(4294967295UL));
443 using View =
typename std::tuple_element_t<60, ContainerOverSubrelations>::View;
444 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
445 (
static_cast<View
>(in.get(C::sha256_two_pow_25)) -
FF(33554432));
449 using View =
typename std::tuple_element_t<61, ContainerOverSubrelations>::View;
451 static_cast<View
>(in.get(C::sha256_perform_round)) *
452 ((
static_cast<View
>(in.get(C::sha256_e)) +
static_cast<View
>(in.get(C::sha256_not_e))) -
FF(4294967295UL));
456 using View =
typename std::tuple_element_t<62, ContainerOverSubrelations>::View;
457 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
458 ((
static_cast<View
>(in.get(C::sha256_a)) -
static_cast<View
>(in.get(C::sha256_a_rotr_2)) *
FF(4)) +
459 static_cast<View
>(in.get(C::sha256_rhs_a_2)) *
FF(4294967295UL));
463 using View =
typename std::tuple_element_t<63, ContainerOverSubrelations>::View;
464 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
465 (
static_cast<View
>(in.get(C::sha256_two_pow_2)) -
FF(4));
469 using View =
typename std::tuple_element_t<64, ContainerOverSubrelations>::View;
471 static_cast<View
>(in.get(C::sha256_perform_round)) *
472 ((
static_cast<View
>(in.get(C::sha256_a)) -
static_cast<View
>(in.get(C::sha256_a_rotr_13)) *
FF(8192)) +
473 static_cast<View
>(in.get(C::sha256_rhs_a_13)) *
FF(4294967295UL));
477 using View =
typename std::tuple_element_t<65, ContainerOverSubrelations>::View;
478 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
479 (
static_cast<View
>(in.get(C::sha256_two_pow_13)) -
FF(8192));
483 using View =
typename std::tuple_element_t<66, ContainerOverSubrelations>::View;
485 static_cast<View
>(in.get(C::sha256_perform_round)) *
486 ((
static_cast<View
>(in.get(C::sha256_a)) -
static_cast<View
>(in.get(C::sha256_a_rotr_22)) *
FF(4194304)) +
487 static_cast<View
>(in.get(C::sha256_rhs_a_22)) *
FF(4294967295UL));
491 using View =
typename std::tuple_element_t<67, ContainerOverSubrelations>::View;
492 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
493 (
static_cast<View
>(in.get(C::sha256_two_pow_22)) -
FF(4194304));
497 using View =
typename std::tuple_element_t<68, ContainerOverSubrelations>::View;
498 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
499 ((
static_cast<View
>(in.get(C::sha256_next_a_lhs)) *
FF(4294967296UL) +
500 static_cast<View
>(in.get(C::sha256_next_a_rhs))) -
501 CView(sha256_NEXT_A));
505 using View =
typename std::tuple_element_t<69, ContainerOverSubrelations>::View;
506 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
507 ((
static_cast<View
>(in.get(C::sha256_next_e_lhs)) *
FF(4294967296UL) +
508 static_cast<View
>(in.get(C::sha256_next_e_rhs))) -
509 CView(sha256_NEXT_E));
513 using View =
typename std::tuple_element_t<70, ContainerOverSubrelations>::View;
514 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
515 (
static_cast<View
>(in.get(C::sha256_a_shift)) -
static_cast<View
>(in.get(C::sha256_next_a_rhs)));
519 using View =
typename std::tuple_element_t<71, ContainerOverSubrelations>::View;
520 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
521 (
static_cast<View
>(in.get(C::sha256_b_shift)) -
static_cast<View
>(in.get(C::sha256_a)));
525 using View =
typename std::tuple_element_t<72, ContainerOverSubrelations>::View;
526 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
527 (
static_cast<View
>(in.get(C::sha256_c_shift)) -
static_cast<View
>(in.get(C::sha256_b)));
531 using View =
typename std::tuple_element_t<73, ContainerOverSubrelations>::View;
532 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
533 (
static_cast<View
>(in.get(C::sha256_d_shift)) -
static_cast<View
>(in.get(C::sha256_c)));
537 using View =
typename std::tuple_element_t<74, ContainerOverSubrelations>::View;
538 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
539 (
static_cast<View
>(in.get(C::sha256_e_shift)) -
static_cast<View
>(in.get(C::sha256_next_e_rhs)));
543 using View =
typename std::tuple_element_t<75, ContainerOverSubrelations>::View;
544 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
545 (
static_cast<View
>(in.get(C::sha256_f_shift)) -
static_cast<View
>(in.get(C::sha256_e)));
549 using View =
typename std::tuple_element_t<76, ContainerOverSubrelations>::View;
550 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
551 (
static_cast<View
>(in.get(C::sha256_g_shift)) -
static_cast<View
>(in.get(C::sha256_f)));
555 using View =
typename std::tuple_element_t<77, ContainerOverSubrelations>::View;
556 auto tmp =
static_cast<View
>(in.get(C::sha256_perform_round)) *
557 (
static_cast<View
>(in.get(C::sha256_h_shift)) -
static_cast<View
>(in.get(C::sha256_g)));
561 using View =
typename std::tuple_element_t<78, ContainerOverSubrelations>::View;
562 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
563 (
CView(sha256_OUT_A) - (
static_cast<View
>(in.get(C::sha256_output_a_lhs)) *
FF(4294967296UL) +
564 static_cast<View
>(in.get(C::sha256_output_a_rhs))));
568 using View =
typename std::tuple_element_t<79, ContainerOverSubrelations>::View;
569 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
570 (
CView(sha256_OUT_B) - (
static_cast<View
>(in.get(C::sha256_output_b_lhs)) *
FF(4294967296UL) +
571 static_cast<View
>(in.get(C::sha256_output_b_rhs))));
575 using View =
typename std::tuple_element_t<80, ContainerOverSubrelations>::View;
576 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
577 (
CView(sha256_OUT_C) - (
static_cast<View
>(in.get(C::sha256_output_c_lhs)) *
FF(4294967296UL) +
578 static_cast<View
>(in.get(C::sha256_output_c_rhs))));
582 using View =
typename std::tuple_element_t<81, ContainerOverSubrelations>::View;
583 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
584 (
CView(sha256_OUT_D) - (
static_cast<View
>(in.get(C::sha256_output_d_lhs)) *
FF(4294967296UL) +
585 static_cast<View
>(in.get(C::sha256_output_d_rhs))));
589 using View =
typename std::tuple_element_t<82, ContainerOverSubrelations>::View;
590 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
591 (
CView(sha256_OUT_E) - (
static_cast<View
>(in.get(C::sha256_output_e_lhs)) *
FF(4294967296UL) +
592 static_cast<View
>(in.get(C::sha256_output_e_rhs))));
596 using View =
typename std::tuple_element_t<83, ContainerOverSubrelations>::View;
597 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
598 (
CView(sha256_OUT_F) - (
static_cast<View
>(in.get(C::sha256_output_f_lhs)) *
FF(4294967296UL) +
599 static_cast<View
>(in.get(C::sha256_output_f_rhs))));
603 using View =
typename std::tuple_element_t<84, ContainerOverSubrelations>::View;
604 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
605 (
CView(sha256_OUT_G) - (
static_cast<View
>(in.get(C::sha256_output_g_lhs)) *
FF(4294967296UL) +
606 static_cast<View
>(in.get(C::sha256_output_g_rhs))));
610 using View =
typename std::tuple_element_t<85, ContainerOverSubrelations>::View;
611 auto tmp =
static_cast<View
>(in.get(C::sha256_last)) *
612 (
CView(sha256_OUT_H) - (
static_cast<View
>(in.get(C::sha256_output_h_lhs)) *
FF(4294967296UL) +
613 static_cast<View
>(in.get(C::sha256_output_h_rhs))));
617 using View =
typename std::tuple_element_t<86, ContainerOverSubrelations>::View;
618 auto tmp =
static_cast<View
>(in.get(C::sha256_output_a_lhs)) *
619 (
static_cast<View
>(in.get(C::sha256_output_a_lhs)) -
FF(1));
623 using View =
typename std::tuple_element_t<87, ContainerOverSubrelations>::View;
624 auto tmp =
static_cast<View
>(in.get(C::sha256_output_b_lhs)) *
625 (
static_cast<View
>(in.get(C::sha256_output_b_lhs)) -
FF(1));
629 using View =
typename std::tuple_element_t<88, ContainerOverSubrelations>::View;
630 auto tmp =
static_cast<View
>(in.get(C::sha256_output_c_lhs)) *
631 (
static_cast<View
>(in.get(C::sha256_output_c_lhs)) -
FF(1));
635 using View =
typename std::tuple_element_t<89, ContainerOverSubrelations>::View;
636 auto tmp =
static_cast<View
>(in.get(C::sha256_output_d_lhs)) *
637 (
static_cast<View
>(in.get(C::sha256_output_d_lhs)) -
FF(1));
641 using View =
typename std::tuple_element_t<90, ContainerOverSubrelations>::View;
642 auto tmp =
static_cast<View
>(in.get(C::sha256_output_e_lhs)) *
643 (
static_cast<View
>(in.get(C::sha256_output_e_lhs)) -
FF(1));
647 using View =
typename std::tuple_element_t<91, ContainerOverSubrelations>::View;
648 auto tmp =
static_cast<View
>(in.get(C::sha256_output_f_lhs)) *
649 (
static_cast<View
>(in.get(C::sha256_output_f_lhs)) -
FF(1));
653 using View =
typename std::tuple_element_t<92, ContainerOverSubrelations>::View;
654 auto tmp =
static_cast<View
>(in.get(C::sha256_output_g_lhs)) *
655 (
static_cast<View
>(in.get(C::sha256_output_g_lhs)) -
FF(1));
659 using View =
typename std::tuple_element_t<93, ContainerOverSubrelations>::View;
660 auto tmp =
static_cast<View
>(in.get(C::sha256_output_h_lhs)) *
661 (
static_cast<View
>(in.get(C::sha256_output_h_lhs)) -
FF(1));