30 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
31 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::precomputed_first_row))) *
32 (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_sel))) *
33 static_cast<View
>(in.get(C::bc_hashing_sel_shift));
37 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
39 static_cast<View
>(in.get(C::bc_hashing_latch)) * (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_latch)));
43 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
45 static_cast<View
>(in.get(C::bc_hashing_latch)) * (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_sel)));
49 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
51 static_cast<View
>(in.get(C::bc_hashing_start)) * (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_start)));
55 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
57 (
static_cast<View
>(in.get(C::bc_hashing_sel_not_start)) -
58 static_cast<View
>(in.get(C::bc_hashing_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_start))));
62 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
63 auto tmp =
static_cast<View
>(in.get(C::bc_hashing_sel_shift)) *
64 (
static_cast<View
>(in.get(C::bc_hashing_start_shift)) -
CView(bc_hashing_LATCH_CONDITION));
68 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
70 (
static_cast<View
>(in.get(C::bc_hashing_sel)) +
static_cast<View
>(in.get(C::precomputed_first_row))) *
71 (
static_cast<View
>(in.get(C::bc_hashing_pc_index_shift)) -
72 (
FF(1) -
CView(bc_hashing_LATCH_CONDITION)) *
73 (
FF(62) +
static_cast<View
>(in.get(C::bc_hashing_pc_index)) +
74 static_cast<View
>(in.get(C::bc_hashing_sel_not_start)) *
FF(31)));
78 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
80 static_cast<View
>(in.get(C::bc_hashing_sel)) *
81 ((
static_cast<View
>(in.get(C::bc_hashing_pc_index_1)) -
82 static_cast<View
>(in.get(C::bc_hashing_start)) *
static_cast<View
>(in.get(C::bc_hashing_pc_index))) -
83 static_cast<View
>(in.get(C::bc_hashing_sel_not_start)) *
84 (
static_cast<View
>(in.get(C::bc_hashing_pc_index)) +
FF(31)));
88 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
89 auto tmp =
static_cast<View
>(in.get(C::bc_hashing_sel)) *
90 (
static_cast<View
>(in.get(C::bc_hashing_pc_index_2)) -
91 (
static_cast<View
>(in.get(C::bc_hashing_pc_index_1)) +
FF(31)));
95 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
97 (
FF(1) -
CView(bc_hashing_LATCH_CONDITION)) * (
static_cast<View
>(in.get(C::bc_hashing_bytecode_id_shift)) -
98 static_cast<View
>(in.get(C::bc_hashing_bytecode_id)));
102 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
104 static_cast<View
>(in.get(C::bc_hashing_start)) * (
static_cast<View
>(in.get(C::bc_hashing_packed_fields_0)) -
105 CView(constants_GENERATOR_INDEX__PUBLIC_BYTECODE));
109 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
110 auto tmp =
static_cast<View
>(in.get(C::bc_hashing_sel_not_padding_1)) *
111 (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_sel_not_padding_1)));
115 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
116 auto tmp =
static_cast<View
>(in.get(C::bc_hashing_sel_not_padding_2)) *
117 (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_sel_not_padding_2)));
121 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
122 auto tmp =
CView(bc_hashing_PADDING_1) *
static_cast<View
>(in.get(C::bc_hashing_sel_not_padding_2));
126 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
127 auto tmp =
CView(bc_hashing_PADDING_2) * (
FF(1) -
static_cast<View
>(in.get(C::bc_hashing_latch)));
131 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
132 auto tmp =
CView(bc_hashing_PADDING_1) *
static_cast<View
>(in.get(C::bc_hashing_packed_fields_1));
136 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
137 auto tmp =
CView(bc_hashing_PADDING_2) *
static_cast<View
>(in.get(C::bc_hashing_packed_fields_2));
141 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
142 auto tmp = (
static_cast<View
>(in.get(C::bc_hashing_pc_at_final_field)) -
143 static_cast<View
>(in.get(C::bc_hashing_latch)) *
144 (
CView(bc_hashing_PADDING_1) *
static_cast<View
>(in.get(C::bc_hashing_pc_index)) +
145 (
CView(bc_hashing_PADDING_2) -
CView(bc_hashing_PADDING_1)) *
146 static_cast<View
>(in.get(C::bc_hashing_pc_index_1)) +
147 static_cast<View
>(in.get(C::bc_hashing_sel_not_padding_2)) *
148 static_cast<View
>(in.get(C::bc_hashing_pc_index_2))));
152 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
153 auto tmp =
static_cast<View
>(in.get(C::bc_hashing_latch)) *
154 (
FF(31) * (
static_cast<View
>(in.get(C::bc_hashing_input_len)) -
FF(2)) -
155 static_cast<View
>(in.get(C::bc_hashing_pc_at_final_field)));
159 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
161 static_cast<View
>(in.get(C::bc_hashing_sel)) *
162 ((
FF(1) -
CView(bc_hashing_LATCH_CONDITION)) * ((
static_cast<View
>(in.get(C::bc_hashing_rounds_rem_shift)) -
163 static_cast<View
>(in.get(C::bc_hashing_rounds_rem))) +
165 static_cast<View
>(in.get(C::bc_hashing_latch)) *
166 (
static_cast<View
>(in.get(C::bc_hashing_rounds_rem)) -
FF(1)));
170 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
172 static_cast<View
>(in.get(C::bc_hashing_sel)) * (
static_cast<View
>(in.get(C::bc_hashing_bytecode_id)) -
173 static_cast<View
>(in.get(C::bc_hashing_output_hash)));