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::merkle_check_sel))) *
33 static_cast<View
>(in.get(C::merkle_check_sel_shift));
37 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
38 auto tmp =
static_cast<View
>(in.get(C::merkle_check_write)) *
39 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_write)));
43 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
44 auto tmp =
static_cast<View
>(in.get(C::merkle_check_start)) *
45 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_start)));
49 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
51 static_cast<View
>(in.get(C::merkle_check_end)) * (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_end)));
55 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
56 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
static_cast<View
>(in.get(C::precomputed_first_row));
60 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
61 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel_shift)) *
62 (
static_cast<View
>(in.get(C::merkle_check_start_shift)) -
CView(merkle_check_LATCH_CONDITION));
66 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
68 static_cast<View
>(in.get(C::merkle_check_end)) * (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_sel)));
72 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
73 auto tmp =
CView(merkle_check_NOT_END) * (
static_cast<View
>(in.get(C::merkle_check_read_root_shift)) -
74 static_cast<View
>(in.get(C::merkle_check_read_root)));
78 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
79 auto tmp =
CView(merkle_check_NOT_END) * (
static_cast<View
>(in.get(C::merkle_check_write_shift)) -
80 static_cast<View
>(in.get(C::merkle_check_write)));
84 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
85 auto tmp =
CView(merkle_check_NOT_END) * (
static_cast<View
>(in.get(C::merkle_check_write_root_shift)) -
86 static_cast<View
>(in.get(C::merkle_check_write_root)));
90 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
91 auto tmp =
CView(merkle_check_NOT_END) * ((
static_cast<View
>(in.get(C::merkle_check_path_len_shift)) -
92 static_cast<View
>(in.get(C::merkle_check_path_len))) +
97 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
98 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
99 ((
CView(merkle_check_REMAINING_PATH_LEN) *
100 (
static_cast<View
>(in.get(C::merkle_check_end)) *
101 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_remaining_path_len_inv))) +
102 static_cast<View
>(in.get(C::merkle_check_remaining_path_len_inv))) -
104 static_cast<View
>(in.get(C::merkle_check_end)));
108 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
109 auto tmp =
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
110 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_index_is_even)));
114 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
116 CView(merkle_check_NOT_END) *
117 ((
static_cast<View
>(in.get(C::merkle_check_index_shift)) *
FF(2) +
CView(merkle_check_INDEX_IS_ODD)) -
118 static_cast<View
>(in.get(C::merkle_check_index)));
122 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
123 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
static_cast<View
>(in.get(C::merkle_check_index)) *
124 (
FF(1) -
static_cast<View
>(in.get(C::merkle_check_index)));
128 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
129 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
130 ((
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
131 (
static_cast<View
>(in.get(C::merkle_check_read_left_node)) -
132 static_cast<View
>(in.get(C::merkle_check_read_right_node))) +
133 static_cast<View
>(in.get(C::merkle_check_read_right_node))) -
134 static_cast<View
>(in.get(C::merkle_check_read_node)));
138 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
139 auto tmp =
static_cast<View
>(in.get(C::merkle_check_sel)) *
140 ((
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
141 (
static_cast<View
>(in.get(C::merkle_check_read_right_node)) -
142 static_cast<View
>(in.get(C::merkle_check_read_left_node))) +
143 static_cast<View
>(in.get(C::merkle_check_read_left_node))) -
144 static_cast<View
>(in.get(C::merkle_check_sibling)));
148 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
149 auto tmp =
static_cast<View
>(in.get(C::merkle_check_write)) *
150 ((
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
151 (
static_cast<View
>(in.get(C::merkle_check_write_left_node)) -
152 static_cast<View
>(in.get(C::merkle_check_write_right_node))) +
153 static_cast<View
>(in.get(C::merkle_check_write_right_node))) -
154 static_cast<View
>(in.get(C::merkle_check_write_node)));
158 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
159 auto tmp =
static_cast<View
>(in.get(C::merkle_check_write)) *
160 ((
static_cast<View
>(in.get(C::merkle_check_index_is_even)) *
161 (
static_cast<View
>(in.get(C::merkle_check_write_right_node)) -
162 static_cast<View
>(in.get(C::merkle_check_write_left_node))) +
163 static_cast<View
>(in.get(C::merkle_check_write_left_node))) -
164 static_cast<View
>(in.get(C::merkle_check_sibling)));
168 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
169 auto tmp =
CView(merkle_check_NOT_END) * (
static_cast<View
>(in.get(C::merkle_check_read_node_shift)) -
170 static_cast<View
>(in.get(C::merkle_check_read_output_hash)));
174 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
175 auto tmp =
CView(merkle_check_NOT_END) * (
static_cast<View
>(in.get(C::merkle_check_write_node_shift)) -
176 static_cast<View
>(in.get(C::merkle_check_write_output_hash)));
180 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
181 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
182 (
static_cast<View
>(in.get(C::merkle_check_read_output_hash)) -
183 static_cast<View
>(in.get(C::merkle_check_read_root)));
187 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
188 auto tmp =
static_cast<View
>(in.get(C::merkle_check_end)) *
189 (
static_cast<View
>(in.get(C::merkle_check_write_output_hash)) -
190 static_cast<View
>(in.get(C::merkle_check_write_root)));